Ключевые слова:ppp, dial-in, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Igor. V. Mokrushin 2:5020/400 22 Jul 97 21:22:50
Subj : Re: dail-up server
________________________________________________________________________________
From: igor@igor.aif.msk.su (Igor. V. Mokrushin)
In article <869370035@p4.f1015.n5020.z2.ftn>,
Daniel Tkachev <Daniel.Tkachev@p4.f1015.n5020.z2.fidonet.org> writes:
> Пpивет All!
Hемного подправил, чтоб более понятно было!!!
>Как в Линyхе сабж забyбенить. Т.е, чтобы комп пpинимал входящие звонки,
>yстанавливал РРР-connect и пpедлагал вход в системy (login/pswd).
Все очень просто:
1) Вначале нужно разобраться, хочеш ты иметь терминальный вход или нет
(читай PPP-HOWTO)если да, то:
- нужно взять getty_ps-2.0.7j.tar.gz на
ftp://tsx-11.mit.edu/pub/linux/sources/sbin/....
именно только его и его, а иначе намучиешся. Затем собрать и откон-
фигурить inittab, вставить в него сточку;
s2:12346:respawn:/sbin/getty ttyS1 F57600 vt100 <- тип терминала
^^^^^ ^^^^^
с точки зрения доса COM2 скорость порта
затем из дистрибука getty скопировать gettydefs в /etc. Да, и нужно
еще собрать ядро с поддержкой портов, если не собрано;)
в /etc/default положить конфиг getty.ttyS1 в котором;
SYSTEM=igor.aif.msk.su <- имя моей системы
ISSUE=/etc/welcom <- в этом файле можеш написать текст душе угодный;)
LOGIN=/bin/login
CLEAR=ON
HANGUP=YES
TIMEOUT=60
INIT="" \d+++\dAT\r OK\r\n ATH0\r OK\r\n AT\sE1\sX4\sS0=1\s&W\r OK\r\n
CONNECT="" CONNECT
- Теперь нужно модем подкрутить. Если USR Courier 33600, то с помощью
какой-нибудь коммуникашки делаеш -> ATE1&B1&R1&A1&K3&C1&D2S7=60S0=0&W,
если модем другой, то делаеш аналогичный инит соответствующий этому!!!
Теперь ты имееш вход на терминал через модем после перезагрузки тачки.
2) Hужно решить, нужно ли чтоб модем в определенное время подымал трубу, или
нет. Если нет, смотри следующий пункт, а если да, то:
Пишеться скрипт modemon;
#!/bin/bash
cat /etc/default/time/modemon > /etc/default/getty.ttyS1
/usr/bin/killall -HUP getty
kill -1 1
затем modemoff;
#!/bin/bash
cat /etc/default/time/modemoff > /etc/default/getty.ttyS1
/usr/bin/killall -HUP getty
kill -1 1
Как понятно из выше изложенного в /etc/default есть директория /time,
а modemon - не что иное как getty.ttyS1 (см. п.1), ну а modemoff -
состоит из одной строчки:
INIT="" \d+++\dAT\r OK\r\n ATH0\r OK\r\n AT\sE1\sX4\sS0=0\s&W\r OK\r\n
^^^;)
Все скрипты лежат в /bin. Затем лезем редактировать /etc/crontab;
00 22 * * mon-fri root /bin/modemon <- вкл. в 22:00 с ПH до ПТ,в СБ и ВС всегда
30 08 * * mon-fri root /bin/modemoff <- выкл. в 8:30 с ПH до ПТ, в СБ и ВС нет
Вот вроде и все:-) Хотя getty и сам может (man getty) по времени работать,
но это так криво и не стабильно:(
3) Теперь про PPP. Во всех дистрибуках (RedHat,Debian...) есть pppd - демон!
Hо если не уверен в его работоспособности, то возьми ppp-2.2.0f.tar.gz на
ftp://sunsite.unc.edu/pub/Linux/system/network/serial/ppp/...
Затем его собираем, если юзеры с маздайкой'95&NT, то при сборке нужно
указать ключ; make USE_MS_DNS=1 и дать make install! В дистрибуках pppd
в основном собрано без этого ключа;) Все это делать не обязательно, если
в настройках маздайки указывать DNS в ручную, но я люблю чтоб было все
автоматически;). Еще не забыть включить поддержку PPP в ядре (см. PPP-HOWTO)
- Теперь решаеш, как тебе нужно - чтоб каждый юзер запускал /usr/sbin/pppd
вручную или через скрипт системы юзера, или завести нового, скажем pppusr!?
Здесь нужно еще учесть сколько модемных вводов к серваку(твоей тачки), и
нужно ли обеспечить вход через PPP сразу нескольких пользователей одновре-
менно? Как это обеспечить - читай HOWTO'шки. Я расскажу простой случай,
один модем, одын линия и без chap'ов pap'ов;-)
- в /etc/ppp/ есть файлик options, в котром прописываеш следующее;
-detach
modem
crtscts
lock
<IP адресс твоей машины, где модем>:< IP адресс PPP, который в твоей сетке>
proxyarp
dns-addr < адресс DNS> - вот зачем USE_MS_DNS=1;)
теперь после логина и пароля(getty), юзеру нужно просто запустить
/usr/sbin/pppd!!! Если заводиш специально для PPP юзера pppusr, то в
passwd делаеш примерно так; vipw
pppusr:*:500:100:PPP user:/home/pppusr:/usr/sbin/pppd
а затем в /home/pppusr создаеш .ppprc - один в один /etc/ppp/options!!!
Tеперь, когда делаеш логин и пасворд, сразу запускаеться pppd!
4) Все что здесь описывалось есть в документашках дистрибуков ppp и getty,
и читай man pppd, man getty, man crontab, а также HOWTO!!:-)
Приведенный выше пример, используеться мной для входа в инет из дома и
из маздайки'95;-)
--- ifmail v.2.10dev * Origin: Arguments & Facts Weekly (2:5020/400@fidonet)