Отправляет email-рассылки с помощью сервиса Sendsay

KirovLUG: пользователи Linux в Вятке

За 2003-09-26

Чтиво: установка сервера часть 020

Да, я забыл сказать... Когда я попытался дозвониться в первый раз, то у
меня ничего не получилось. Ответ я нашел в /var/log/messages
Sep 25 17:28:40 localhost pppd[2924]: pppd 2.4.2b3 started by root, uid 0
Sep 25 17:28:41 localhost gpm[538]: Skipping a data packet (?)
Sep 25 17:28:46 localhost last message repeated 3 times
Sep 25 17:28:51 localhost pppd[2924]: Connect script failed
Sep 25 17:28:52 localhost pppd[2924]: Exit.
Видно, что при работе pppd конфликтовал с gpm, потому что раньше мышь
была воткнута в тот же COM порт, что и сейчас модем.

Я просто остановил сервис gpm и вообще выключил его запуск на этом
уровне.
$ /sbin/service gpm stop
$ /sbin/chkconfig --level 3 gpm off

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Kolotov Alexandr 2003-09-26 14:23:37 (#4336)

Чтиво: установка сервера часть 019

Та-а-ак, сранно...
При запуске "/sbin/route -n" выдается странный маршрут для машин в
подсеть 169.254.0.0:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.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 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
Меня он раздражает - как его убрать? Посидел, покумекал. Прописывается
он при старте сервиса network, когда тот запускает ifup, в котором
написаны следующие строчки:
bеgin /etc/sysconfig/network-scripts/ifup # Add Zeroconf route.
if [ -z "${NOZEROCONF}" -a "${ISALIAS}" = "no" ]; then
ip route replace 169.254.0.0/16 dev ${REALDEVICE}
fi
end /etc/sysconfig/network-scripts/ifup Полазив дальше по этому файлу я выяснил, что ISALIAS устанавливается в
"no", если инициализируемы сетвой интерфейс является реальным, а не
алиасом-псевдонимом. А вот откуда берется NOZEROCONF, я не мог понять.
Из условия понятно, что если NOZEROCONF будет непустое, то данный путь
уже не будет добавляться. Тогда я сделал предположение, что данную
строку можно указать в /etc/sysconfig/network-scripts/ifcfg-eth0 и
/etc/sysconfig/network-scripts/ifcfg-lo, которые содержат в себе
настройки сетвого интерфейса и интерфейса обратной петли
соответственно, тогда я добавил "NOZEROCONF=yes" в конец каждого файла
и перезапустил сервис network.

$ /sbin/service network restart
$ /sbin/route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
Все. Избавился.

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Kolotov Alexandr 2003-09-26 12:29:10 (#4300)

Чтиво: установка сервера часть 018

Что ж, сейчас я подключу модем и выйду в инет. На ходу я его подрубать
не буду, поэтому сначала компьютер выключу.
$ su
$ shutdown -h now
После того как компьютер выключен, я подсоединяю к нему внешний модем и
включаю компютер. При загрузке выскакивает окно программы kudzu,
которое сообщает, что у меня "обнаружено новое устройство" ;) "U.S.
Robotics 56K FAX EXT", я нажимаю на кнопку настроить и дальше система
продолжает загружаться дальше.

Сразу скажу, что неплохая дока по настройке соединения с интернетом
через модем на русском языке есть на:
http://linuxdoc.ru/HOWTO/html/PPP-HOWTO.html
http://sysoev.ru/pppd/
http://linux.webclub.ru/dialup/ppp.html

За соединение с интернетом через модем отвечает протокол PPP (Point to
Point Protocol). За сетевую работу через этот протокол отвечает, в свою
очередь, демон PPP. Здесь я как раз опишу настрйку этого демона.

Что еще следует сказать. Серевер выходит в инет, дозваниваясь до
провайдера только по одному телефону, ему динамически выделяется
ip-адрес (т.е. все время разный), при аутентификации используется
механизм PAP (Password Autentificaion Protocol) в котором участвует
аутентификационная пара: login и password.

Все конфигурационные файлы находятся в каталоге /etc/ppp

Итак, сначала, настроим опции подключения в файлике /etc/ppp/options
begin options # Указывает, что pppd должен использовать lock в стиле UUCP на
# последовательное устройство, чтобы исключить одновременый доступ к
# устройству
lock
# Использовать линии управления модемом. На Ultrix эта опция означает
# управление потоком данных, как опция crtscts. (Эта опция не полностью
# выполняется)
modem
# Использовать аппаратное управление потоком данных (напр., RTS/CTS),
# чтобы управлять потоком данных на последовательном порту
crtscts
# async карта символов -- 32-bit hex; каждый бит - символ, который надо
# представить в виде escape-последовательности, чтобы pppd мог его
# принять.
# 0x00000001 - это маска для '\x01', а 0x80000000 - маска для '\x1f'.
asyncmap 0
# Установить максимальное число передач LCP configure-request в <n> (по
# умолчанию 10). Некоторые PPP сервера долго стартуют. Вам может
# понадобиться увеличть эту величину, если вы получаете ошибки 'serial
# line looped back' и вы УВЕРЕНЫ, что корректно регистрируетесь и PPP
# должен запускаться на сервере.
lcp-max-configure 20
# Показывать пароль при журналировании содержимого PAP пакетов, при
# отмене можно использовать hide-password
show-password
# Необходим для отладки ppp-драйвера ядра. Позволяет включить
# расширенное журналирование соединения. 0 -отключено, 1 - основные
# отладочные сообщения, 2 - выводить полученные пакеты, 4 - выводить
# отправленные пакеты. Возможно комбинирование.
kdebug 0
# Если у Вас на компьютере есть хотя бы один сетевой интерфейс с
# каким-либо IP-адресом, то при установлении соединения, pppd пытается
# использовать этот адрес в качестве качестве своего локального адреса.
# Это не всегда нужно, поэтому параметр noipdefault пресекает подобные
# попытки. Если же у Вас на компьютере нет сетевых интерфейсов, то Вы
# можете не использовать этот параметр.
noipdefault
# После установления соединения адрес провайдера будет использоваться в
# качестве маршрута по умолчанию (default route), то есть, говоря
# по-русски, на этот адрес будут отправлятся все пакеты, которые
# Ваш компьютер не знает, куда отправить.
defaultroute
end options подробнее об опциях можно узнать из man pppd

Сейчас отредактируем файл инициации подключения /etc/ppp/ppp-on
begin ppp-on #!/bin/sh
# В скрипт должны поступать 2 параметра:
# первый - номер телефона дозвона
TELEPHONE=$1
# второй - login учетной записи подсоединения
ACCOUNT=$2
# остальные параметры
# Локальный IP-адрес. Если динамический, то 0.0.0.0
LOCAL_IP=0.0.0.0
# Удаленный IP-адрес. Можно указать 0.0.0.0
REMOTE_IP=0.0.0.0
# Соответсвующая маска, если нужно
NETMASK=255.255.255.0
# Полный путь до скрипта, который используется для установки соединения
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
# Экспортируем переменную, чтобы была возможность ее
# использовать DIALER_SCRIPT
export TELEPHONE
# Команда инициации соединения. Параметры передаваемые pppd, в
# принципе, можно указывать в options.
exec /usr/sbin/pppd -d debug /dev/modem 57600 $LOCAL_IP:$REMOTE_IP \
user $ACCOUNT netmask $NETMASK connect $DIALER_SCRIPT
end ppp-on Позднее я, наверное, действительно уберу неизменяемые параметры из
строки инициации в файлик options, а пока оставлю так. Кроме того, этот
файл нужно сделать запускаемым:
$ chown root:root /etc/ppp/ppp-on
$ chmod 755 /etc/ppp/ppp-on

Тогда теперь нужно создать скрипт для установки соединения /etc/ppp/ppp-on-dialer
begin ppp-on-dialer #!/bin/sh
# Для удобства разделено на 2 столбца: чего ждем и как реагировать.
# Т.е. если модем выдал ответ "LEFT", то послать в него строку "RIGHT"
# Для управления существуют зарезервированные слова: ABORT и TIMEOUT
# ABORT - указывается строка, после которой работа завершится
# TIMEOUT - сколько ждать и если ничего не произошло также завершить
# работу.
exec /usr/sbin/chat \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
TIMEOUT 5 \
"" "AT" \
"OK"-"+++"-"" "ATH0" \
"OK" "ATZ" \
"OK" "ATS7=45" \
"OK" "ATS19=1" \
ABORT "BUSY" \
ABORT "NO ANSWER" \
ABORT "NO CARRIER" \
"OK" "ATDT$TELEPHONE" \
TIMEOUT 30 \
"CONNECT" ""
end ppp-on-dialer ppp-on будет запускать этот файл, значит надо выставить соответствующие
права:
$ chown root:root /etc/ppp/ppp-on-dialer
$ chmod 755 /etc/ppp/ppp-on-dialer

Файлик для разрыва соединения возьмем стандартный, предоставляемый
вместе с дистрибутивом:
$ cp /usr/share/doc/ppp-2.4.2/scripts/ppp-off /etc/ppp/
Нужно, чтобы была возможность и его запускать
$ chown root:root /etc/ppp/ppp-off
$ chmod 755 /etc/ppp/ppp-off

Осталось только описать нашу учетную запись для авторизации по PAP в
файлике /etc/ppp/pap-secrets
begin pap-secrets # login server's name password
mylogin * mypassword
end pap-secrets На этот файл нужно установить права 600, а владелец и группа-владельца
root:
$ chown root:root /etc/ppp/pap-secrets
$ chmod 600 /etc/ppp/pap-secrets

Теперь, чтобы установить соединение нужно набрать
$ /etc/ppp/ppp-on 351992 mylogin
Приверяем наличие соединения
$ ping 213.59.72.68
Чтобы можно обращаться к ресурсам Инета по имени, нужно дабавить в
файлике /etc/resolv.conf строчку с IP-адресом DNS-сервера провайдера:
begin resolv.conf search netgate
nameserver 213.59.72.72
end resolv.conf Тогда теперь можно пинговать:
$ ping www.ya.ru
Устновленный маршрут по умолчанию можно посмотреть с помощью
$ /sbin/route -n
Также можно посмотреть, что активен ppp-интерфейс
$ /sbin/ifconfig

Когда все закончилось, нужно разорвать установленное соединение
$ /etc/ppp/ppp-off

Хочу заметить, что пока мы можем запускать pppd только от root.

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Kolotov Alexandr 2003-09-26 10:41:56 (#4274)