Ключевые слова:ppp, dialin, pap, getty, linux, (найти похожие документы)
From: Igor Chumak <igoor(собак)mail.ru>
Date: Mon, 22 Aug 2004 18:21:07 +0000 (UTC)
Subject: Настройка PPP dial-in сервера (PAP аутентификация)
Оригинал: http://212.26.129.139/howto/PPP-dial-in.htm
C чего начать?
--------------
Проинсталлировать ppp-2.3.X (рекомендую 2.3.10 - там есть
возможность написать свои plug-in'ы, а это оччень хорошо!) и
mgetty-1.1.X (свежее). Последний всенепременно должен быть
скомпилен с опцией -DAUTO_PPP, если нет, то надо пересобрать.
При нормальном раскладе должны появиться директории:
/etc/mgetty+sendfax
dialin.config
login.config
mgetty.config
/etc/ppp
auth-up
auth-down
chap-secrets
ip-up
ip-down
options
pap-secrets
Если таковых нет, покопаться и найти. При самосборе смотрите куда и
что проинсталлировалось. Если каких-то файлов нет - не страшно,
создадим сами.
Настройка mgetty.
-----------------
На звонки обычно отвечает mgetty, хотя есть еще как минимум дюжина
других программ.
/etc/mgetty+sendfax/dialin.config - как правило пустой (все
закомментировано).
/etc/mgetty+sendfax/login.config - должен содержать строчки
/AutoPPP/ - a_ppp /usr/sbin/pppd auth refuse-chap require-pap login * - - /bin/login @
Это говорит о том, что мы принимаем автоматы по ppp с аутентификацией
по PAP и простые логины (при желании последнее можно убрать).
/etc/mgetty+sendfax/mgetty.config - примерно такой:
port ttyS0
speed 57600
data-only y
debug 3
init-chat "" AT OK ATS7=50S0=1+S62=3+S64=2S39=10 OK
Настройки приведены для USRobotics V.Everything на COM1 (при желании
можно S0=0, но тогда нужно добавить answer-chat "" ATA в настроки для
порта).
Далее нужно поставить mgetty в inittab. Вот пример inittab:
id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Things to run in every runlevel.
ud::once:/sbin/update
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
#
# added by pharao
#
S4:2345:respawn:/sbin/mgetty /dev/ttyS0
Чтобы mgetty стартовал надо послать команду:
kill -1 1 или init q
На модеме тотчас должна загореться лампочка TR - это означает что
mgetty подхватил модем и начал функционировать. Настройку можно
считать законченной если при входящем звонке модем поднимает трубку и
устанавливает соединение.
Настройка pppd.
---------------
Тут все просто. Аутентификация производится по PAP (Windoze и *NIX
будут довольны :). После установления коннекта mgetty анализирует что
ей поступает на вход, в случае когда приходит запрос на PAP (a_ppp),
то она моментально отваливается с линии и запускает pppd, потому как
mgetty не уполномочена проводить аутентификацию типа PAP, этим
занимется сам pppd.
Настраиваем порт. Обычно это делается так: в каталоге /etc/ppp
создается файл options.ttySX (вместо X - номер порта. Для COM1 -
ttyS0) такого содержания:
Вариант 1
lock
login
auth
modem
crtscts
-chap
+pap
mtu 576
mru 576
AAA.AAA.AAA.AAA:BBB.BBB.BBB.BBB
ms-dns CCC.CCC.CCC.CCC
Вариант 2 (ppp-2.3.X)
lock
login
auth
modem
crtscts
refuse-chap
require-pap
mtu 576
mru 576
AAA.AAA.AAA.AAA:BBB.BBB.BBB.BBB
ms-dns CCC.CCC.CCC.CCC
Где вместо AAA.AAA.AAA.AAA прописывается IP адрес локального компа,
вместо BBB.BBB.BBB.BBB - адрес, который будет выдан удаленному компу,
CCC.CCC.CCC.CCC - адрес сервера DNS (для удаленного клиента Windoze).
Общие параметры, существующие во всех options.ttySX, можно вынести в
options. При выборе IP для удаленного хоста следует учесть что IP
должно быть вне broadcast ваших сетевых плат. Если же такой
возможности у вас нет и вы даете удаленному хосту адрес из
существующего broadcast, то не забудьте в options вставить строчку
proxyarp, в этом случае pppd будет делать вид что удаленный хост якобы
состоит в вашем сегменте ethernet.
Далее надо настроить файл /etc/ppp/pap-secrets. Вот пример:
#
user1 сервер.домен "" *
user2 сервер.домен "" *
#
Параметры:
1. user1 - имя юзера (зарегистрированного в системе).
2. Сервер на котором будет проводиться опознание (вместо сервер.домен
поставить конкретное название вашего хоста).
3. "" - пароли брать из /etc/passwd (или /etc/shadow).
4. * - абонент может аутентифицироваться с любого IP.
Теперь все OK. Можно проверять. В Windoze проставить как обычно,
удаленное соединение, всю информацию об IP и DNS брать у провайдера.
Скриптов на Windoze писать не надо.
Если что не так - смотрите log'и!!! /var/log/messages - там есть много
интересного!
Примечание1: Если у вас появляются сообщения что-то типа:
modprobe: can't locate module char-major-24
то надо прописать в /etc/conf.modules
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
Updated by ruwa@psrp.te.ru
Все комметарии направлять pharao@uatel.net.