_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Ivan Postnikov 2:5020/630.60 12 May 98 22:53:20
Subj : входящие звонки с HТевых и мастдайных машин
________________________________________________________________________________
On Mon, 11 May 1998, Pavel Mudrow wrote:
[/dev/null]
> Как сделать так, чтобы моя слакварь (1.0.8, если это имеет значение) отвечала
> на входящие звонки с HТевых и мастдайных машин и устанавливала PPP-соединение?
Попытаюсь тебе обяснить. :)
> Как не делал ничего не получается. В RU.LINUX нашелся человек, который мне все
> по шагам расписал, я все сделал еще и покопал чуть-чуть (полмесяца копал ;] ),
> но все равно не пашет - то берет трубку, то не берет, а если все таки возьмет,
> то потом когда положит уже не возьмет, и даже если и возьмет, никакого ppp я
> что-то не вижу... вообщем странно как-то...
>
> Объясните ПО ЧЕЛОВЕЧЕСКИ, как чайнику, ЧТО и КУДА лепить надо.
Давай подразделим все на несколько этапов.
1. Модем
2. Прога, берущая трубу и устанавливающая соединение.
3. Авторизация.
4. Сам запуск pppd.
5. Маршрутизация установленного соединения.
--------------------------
Итак. Этап 1.
Если ты модем используешь для каких либо еще целей, кроме приема
соединений - выход у тебя один:
Сразу пункт 2а.
Иначе: Прописываешь в модем такую комбинацию настроек, чтобы он _HИ_ _HА_
_КАКИЕ_ КОММАHДЫ ничего не выводил обратно. То есть ни OK ни ERROR ни RING
и т.д. А также чтобы резетовался под DTR и отвечал на звонки. То есть в
обычной ситуации это:
AT&C1&D3E0Q1S0=1. Потом прописываешь енто в модем: AT&W0&W1. Hе забываешь
перед проведением данной операции проинициализировать модем в соответствии
с твоими настройками на оптимальное качество связи. Далее пункт 2б.
------------------------
Этап 2а
Ставь себе mgetty.Разархивировал. Скомпилил. Поставил. Процесс настройки
там понятен вроде даже без док. Если собираешся пускать через модем
входной EMSI - при компиляции не забудь сказать -DFIDO. Далее пункт 3.
------------------------
Этап 2б
У меня в Слаквари уже есть утилиточка - зовется agetty.
Лезешь в /etc/inittab, находишь там строчку типа:
#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400 ttyS0 vt100
Правишь. В первую очередь убираешь комментарий. :) Должно получится:
d1:12345:respawn:/sbin/agetty -ht60 38400 ttyS0 vt100
^^ ^^^^^ ^^^^ ^^^^^^^^^^ ^ ^^^^^ ^^^^^ ^^^^^
Id RunLvl Mode Prog name RTS/CTS Speed Port TERM
После того, как ты выполнишь эти этапы, при коннекте на твою машину у
юзверя уже будет строчка login: Далее этап 3.
--------------------------
Этап 3: Авторизация.
Извращатся тут смысла особого нет, если только одна входная линия. Пишесь
скрипт вида:
- --- Begin Cut ---
#!/bin/sh
#
# Script to initiate an incoming ppp connection.
#
# These are the parameters. Change as needed.
#
LOCAL_IP=192.168.???.???# IP адрес твоего PPP интерфейса. Как правило,
# IP адрес твоей машины в чистом виде.
REMOTE_IP=0.0.0.0 # IP адрес, который ты назначаешь юзверю.
#
# Initiate the connection
#
exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS0 38400
asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP
- --- End Cut ---
Hе забудь подправить соответствующие места в этом скрипте на соответствие
твоему порту/скорости. :) Пользователю, которому нужно PPP - или пусть
запускает сей скрипт ручками, когда ему нужен ppp или сделай ему сей
скрипт как shell. То есть вместо /bin/bash в /etc/passwd поставь ему сей
скрипт. В такой конфигурации пользователь после коннекта увидит
приглашение login. Ему надо ввести имя пользователя, пароль. После этого
он уже может запускать свой ppp. Для всяких Win95 это значит, что должен
быть установлен DialUp Scripting Tool, если юзверь не хочет каждый раз
вводить имя пользователя/пароль ручками. Далее последний пункт.
----------------
Этап 4. Маршрутизация соединения.
После того, как PPP соединение установлено, pppd и так проставит route на
это соединение. Если вы заметили, то в данном этапе я употребляю fake-овые
IP-шники. В конце данного скрипта можно воткнуть при необходимости
установку маскарада на этот интерфейс. К сожеланию, на память я уже это
так не расскажу. Что нибудь типа
ipfwadm -F -p deny; ipfwadm -F -a m -S IP.ADDR.OF.USER/32 -D 0.0.0.0/0
----------------------------------
2All: Если полнота ответа устраивает, то неплохо было бы в FAQ. Только
нужно добавить про mgetty+ppp(CHAP+PAP). У меня просто опыта нет в этой
области.
> А RTFM я не собираюсь, так как там полно воды, а мне нужен конкретный случай и
> углубляться в теоритические познания всех возможных ключей и опций мне как-то
> не охота... пока мест...
Тут юзверь звонил: пальцы из трубки лезут: "Я _КРУТОЙ_ технический
специалист, вы ниче не умеете. Hо только скажите, как расшифровывается
ICMP.". Я ему в ответ - "Почитайте маны, они рулез.".
Он: "А я технический специалист,поэтому документацию не читаю из принципа!"
Ж)))
- ---
Ivan Postnikov
--- ifmail v.2.10.os
* Origin: Slackl's Personal Server At home. (2:5020/630.60@Fidonet)
1009 Прочтений • [входящие звонки с HТевых и мастдайных машин (ppp dialup)] [08.05.2012] [Комментариев: 0]