Праздники вроде закончились. Может кто что-то подскажет по моей проблеме!
Есть роутер в локальной сети:
Есть Dial-up модем. Какой видимо не важно, т.к. пробовал 3 штуки, в т.ч числе и 3COM и ZyXEL. При этом 3СОМ однозначно работающий. Руководство поставило задачу: необходимо дозваниваться из дома на этот модем и работать в сети.psj@rt.daycom.ru /home/psj/cvs# uname -v
FreeBSD 6.3-PRERELEASE #3: Fri Dec 21 16:57:35 MSK 2007 psj@rt.daycom.ru:/usr/obj/usr/src/sys/rt
За основу была взята статья: http://www.lissyara.su/?id=1298
После доработки до текущей конфигурации сети получились следующие конфигурационные файлы:
Код: Выделить всё
psj@rt.daycom.ru /usr/local/etc/mgetty+sendfax# cat ./login.config
# login.config
#
# This is a sample "login dispatcher" configuration file for mgetty
#
# Format:
# username userid utmp_entry login_program [arguments]
#
# Meaning:
# for a "username" entered at mgettys login: prompt, call
# "login_program" with [arguments], with the uid set to "userid",
# and a USER_PROCESS utmp entry with ut_user = "utmp_entry"
#
# username may be prefixed / suffixed by "*" (wildcard)
#
# userid is a valid user name from /etc/passwd, or "-" to not set
# a login user id and keep the uid/euid root (needed for /bin/login)
#
# utmp_entry is what will appear in the "who" listing. Use "-" to not
# set an utmp entry (a must for /bin/login), use "@" to set it to the
# username entered. Maximum length is 8 characters.
#
# login_program is the program that will be exec()ed, with the arguments
# passed in [arguments]. A "@" in the arguments will be replaced with the
# username entered. Warning: if no "@" is given, the login_program has
# no way to know what user name the user entered.
#
#
# SAMPLES:
# Use this one with my Taylor-UUCP and Taylor-UUCP passwd files.
# (Big advantage: tuucp can use the same passwd file for serial dial-in
# and tcp dial-in [uucico running as in.uucpd]). Works from 1.05 up.
#
#U* uucp @ /usr/lib/uucp/uucico -l -u @
#
# Use this one for fido calls (login name /FIDO/ is handled specially)
#
# You need Eugene Crosser's "ifmail" package for this to work.
# mgetty has to be compiled with "-DFIDO", otherwise a fido call won't
# be detected.
#
#/FIDO/ uucp fido /usr/local/lib/fnet/ifcico @
#
# Automatic PPP startup on receipt of LCP configure request (AutoPPP).
# mgetty has to be compiled with "-DAUTO_PPP" for this to work.
# Warning: Case is significant, AUTOPPP or autoppp won't work!
# Consult the "pppd" man page to find pppd options that work for you.
#
# NOTE: for *some* users, the "-detach" option has been necessary, for
# others, not at all. If your pppd doesn't die after hangup, try it.
#
# NOTE2: "debug" creates lots of debugging info. LOOK AT IT if things
# do not work out of the box, most likely it's a ppp problem!
#
# NOTE3: "man pppd" is your friend!
#
# NOTE4: max. 9 arguments allowed.
#
# /AutoPPP/ - - /usr/sbin/pppd file /etc/ppp/options.ppp.pool debug
/AutoPPP/ - - /usr/sbin/pppd file /etc/ppp/options auth +chap -pap debug
#
#
# An example where no login name in the argument list is desired:
# automatically telnetting to machine "smarty" for a given login name
#
#telnet-smarty gast telnet /usr/bin/telnet -8 smarty
#
# This is the "standard" behaviour - *dont* set a userid or utmp
# entry here, otherwise /bin/login will fail!
# This entry isn't really necessary: if it's missing, the built-in
# default will do exactly this.
#
# * - - /usr/bin/login @
Код: Выделить всё
psj@rt.daycom.ru /usr/local/etc/mgetty+sendfax# cat mgetty.config
# Конфиг mgetty
# Большинство опций ампутировано как ненужные.
# Уровень отладки
debug 4
# Скорость порта для работы с момедом (на 115200 у меня были глюки,
# даже фря зависла намертво - видать модемы или мультипортовеы
# платы шибко глючные)
#speed 115200
speed 57600
#
#
port cuad0
debug 4
speed 57600
# Принимаем только данные (факсы не нужны)
data-only YES
# Тип модема - автоопределение
modem-type data
# Строка инициализации модема - у меня стандартная подошла
init-chat "" AT OK ATZ OK
# init-chat "" ATS0=0Q0&D3&C1 OK
# Периодичность проверки модема
modem-check-time 60
# С какого звонка снимать трубку
rings 1
# Строка ответа на звонок
answer-chat "" ATA CONNECT \c \r
# сколько вреемни ждать ответа
answer-chat-timeout 60
# statistics-chat "" AT OK ATI2 OK
# statistics-file /var/log/ppp-stat.ttyd0
Код: Выделить всё
psj@rt.daycom.ru /etc# cat ttys | grep cuad
cuad0 "/usr/local/sbin/mgetty" unknown on insecure
Код: Выделить всё
psj@rt.daycom.ru /etc/ppp# cat options
# Файл опция для pppd
# Дефолтовая опция. С ней, pppd ждёт от модема сигнал CD (Carrier Detect)
# после чего открывает порт (если не задан скрипт соединения).
modem
# Отключить дефолтовое поведение, когда не задан локальный IP-адрес.
# C этой опцией предоставляется локальный IP-адрес.
noipdefault
# Не отключаться от контрольного терминала. Без этой опции, если устройство
# на последовательном порту не терминал, pppd работает в фоновом режиме.
nodetach
# Включение средств отладки соединения. Если эта опция задана, pppd
# логгирует содержимое всех контрольных пакетов в "читабельной" форме.
debug
# Отключаем протокол CCP (Compression Control Protocol) - из за
# кривых клиентов
noccp
# Добавлять поключившийся хост в таблицу ARP [Address Resolution Protocol]
# c выданным ему IP адресом. Нужно для работы в локальной сети.
proxyarp
# Использовать аппаратный контроль несущей (т.е. RTS/CTS)
crtscts
# Шлюз по умолчанию!!!
#defaultroute 192.168.0.210
# Сервера DNS для виндовых клиентов
ms-dns 192.168.0.2
# Сервера WINS для виндовых клиентов
ms-wins 192.168.0.254
# Имя домена добавляемое при аутентифкации клиентов
#domain daycom.ru
# Задаёт разрыв соединения после заданного времени простоя соединения,
# время задаётся в секундах
idle 1000
# Протокол аутентификации
#require-pap
refuse-pap
# Отклонять попытки аутентификации по протоколу CHAP
#refuse-chap
require-chap
Код: Выделить всё
psj@rt.daycom.ru /etc/ppp# cat chap-secrets
# 100.100.62.48-100.100.62.57
# Локальный адрес, всегда - 100.100.62.46
# Использована статическая адресация по причине, что клиентов у нас меньше чем
# адресов - дополнительная выгода - по одному логину не подконнектятся двое.
# имя_пользователя имя_сервера пароль локальный_адрес:удалённый_адрес
#lissyara * 12345678 100.100.62.46:100.100.62.48
# client server secret IP addresses
andre * ХХХХХХ 192.168.0.210:192.168.0.214
maxim * ХХХХХХ 192.168.0.210:192.168.0.211
#nessy * ХХХХХХ 192.168.0.210:192.168.0.212
При дозвоне модемы подключаются, договариваются между собой и проходит аутентификация. О чем говорит протокол
Код: Выделить всё
--
01/03 14:23:37 ad0 mgetty: interim release 1.1.35-Feb22
01/03 14:23:37 ad0 check for lockfiles
01/03 14:23:37 ad0 locking the line
01/03 14:23:37 ad0 lowering DTR to reset Modem
01/03 14:23:38 ad0 send: \dATQ0V1H0[0d]
01/03 14:23:39 ad0 waiting for ``OK'' ** found **
01/03 14:23:39 ad0 send: ATS0=0Q0&D3&C1[0d]
01/03 14:23:39 ad0 waiting for ``OK'' ** found **
01/03 14:23:39 ad0 mdm_send: 'ATI'
01/03 14:23:39 ad0 unknown numerical modem id 1511
01/03 14:23:39 ad0 mdm_send: 'AT+FCLASS=2.0' -> OK
01/03 14:23:39 ad0 mdm_send: 'AT+FAA=1;+FCR=1' -> OK
01/03 14:23:39 ad0 mdm_send: 'AT+FBO=1' -> OK
01/03 14:23:39 ad0 mdm_send: 'AT+FNR=1,1,1,0' -> OK
01/03 14:23:39 ad0 mdm_send: 'AT+FLI="49 115 xxxxxxxx"' -> OK
01/03 14:23:39 ad0 mdm_send: 'AT+FCC=1,5,0,2,0,0,0,0' -> OK
01/03 14:23:40 ad0 waiting...
01/03 14:23:45 ad0 wfr: waiting for ``RING''
01/03 14:23:45 ad0 send: ATA[0d]
01/03 14:23:45 ad0 waiting for ``CONNECT'' ** found **
01/03 14:24:02 ad0 send:
01/03 14:24:02 ad0 waiting for ``_'' ** found **
01/03 14:24:04 ##### data dev=cuad0, pid=53619, caller='none', conn='57600/V34b 33600/V42b', name='', cmd='/usr/sbin/pppd', user='/AutoPPP/'
Код: Выделить всё
Jan 3 15:51:34 rt pppd[53724]: pppd 2.3.5 started by root, uid 0
Jan 3 15:51:34 rt pppd[53724]: Using interface ppp0
Jan 3 15:51:34 rt pppd[53724]: Connect: ppp0 <--> /dev/cuad0
Jan 3 15:51:34 rt pppd[53724]: sent [LCP ConfReq id=0x1 <auth chap 05> <magic 0xea246508> <pcomp> <accomp>]
Jan 3 15:51:34 rt pppd[53724]: rcvd [LCP ConfAck id=0x1 <auth chap 05> <magic 0xea246508> <pcomp> <accomp>]
Jan 3 15:51:37 rt pppd[53724]: rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 0x1a506bea> <pcomp> <accomp> <callback 0x600>]
Jan 3 15:51:37 rt pppd[53724]: sent [LCP ConfRej id=0x2 <callback 0x623>]
Jan 3 15:51:37 rt pppd[53724]: sent [LCP ConfReq id=0x1 <auth chap 05> <magic 0xea246508> <pcomp> <accomp>]
Jan 3 15:51:37 rt pppd[53724]: rcvd [LCP ConfReq id=0x3 <asyncmap 0x0> <magic 0x1a506bea> <pcomp> <accomp>]
Jan 3 15:51:37 rt pppd[53724]: sent [LCP ConfAck id=0x3 <asyncmap 0x0> <magic 0x1a506bea> <pcomp> <accomp>]
Jan 3 15:51:37 rt pppd[53724]: rcvd [LCP ConfAck id=0x1 <auth chap 05> <magic 0xea246508> <pcomp> <accomp>]
Jan 3 15:51:37 rt pppd[53724]: sent [CHAP Challenge id=0x1 <0c76045677b9470bf50e98c7f8987ecc1935f37268ae908c6b073694d7b2ab37e2d3a1defe36c8777de0>, name = "rt.daycom.ru"]
Jan 3 15:51:37 rt pppd[53724]: rcvd [LCP code=0xc id=0x4 1a 50 6b ea 4d 53 52 41 53 56 35 2e 31 30]
Jan 3 15:51:37 rt pppd[53724]: sent [LCP CodeRej id=0x2 0c 04 00 12 1a 50 6b ea 4d 53 52 41 53 56 35 2e 31 30]
Jan 3 15:51:37 rt pppd[53724]: rcvd [LCP code=0xc id=0x5 1a 50 6b ea 4d 53 52 41 53 2d 30 2d 41 4e 44 52 45]
Jan 3 15:51:37 rt pppd[53724]: sent [LCP CodeRej id=0x3 0c 05 00 15 1a 50 6b ea 4d 53 52 41 53 2d 30 2d 41 4e 44 52 45]
Jan 3 15:51:37 rt pppd[53724]: rcvd [CHAP Response id=0x1 <020bd27f4cb3db7c92fe15f71946801d>, name = "andre"]
Jan 3 15:51:37 rt pppd[53724]: Warning - secret file /etc/ppp/chap-secrets has world and/or group access
Jan 3 15:51:37 rt pppd[53724]: sent [CHAP Success id=0x1 "Welcome to rt.daycom.ru."]
Jan 3 15:51:37 rt pppd[53724]: sent [IPCP ConfReq id=0x1 <addr 192.168.0.210> <compress VJ 0f 01>]
Jan 3 15:51:37 rt pppd[53724]: CHAP peer authentication succeeded for andre
Jan 3 15:51:40 rt pppd[53724]: sent [IPCP ConfReq id=0x1 <addr 192.168.0.210> <compress VJ 0f 01>]
Jan 3 15:51:41 rt pppd[53724]: rcvd [CCP ConfReq id=0x6 < 12 06 00 00 00 01>]
Jan 3 15:51:41 rt pppd[53724]: Unsupported protocol (0x80fd) received
Jan 3 15:51:41 rt pppd[53724]: sent [LCP ProtRej id=0x4 80 fd 01 06 00 0a 12 06 00 00 00 01]
Jan 3 15:51:41 rt pppd[53724]: rcvd [IPCP ConfReq id=0x7 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns 0.0.0.0> <ms-wins 0.0.0.0>]
Jan 3 15:51:41 rt pppd[53724]: sent [IPCP ConfNak id=0x7 <addr 192.168.0.214> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254>]
Jan 3 15:51:41 rt pppd[53724]: rcvd [IPCP ConfAck id=0x1 <addr 192.168.0.210> <compress VJ 0f 01>]
Jan 3 15:51:41 rt pppd[53724]: rcvd [IPCP ConfAck id=0x1 <addr 192.168.0.210> <compress VJ 0f 01>]
Jan 3 15:51:41 rt pppd[53724]: rcvd [IPCP ConfReq id=0x8 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns 0.0.0.0> <ms-wins 0.0.0.0>]
Jan 3 15:51:41 rt pppd[53724]: sent [IPCP ConfNak id=0x8 <addr 192.168.0.214> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254>]
Jan 3 15:51:41 rt pppd[53724]: rcvd [CCP ConfReq id=0x9 < 12 06 00 00 00 01>]
Jan 3 15:51:41 rt pppd[53724]: Unsupported protocol (0x80fd) received
Jan 3 15:51:41 rt pppd[53724]: sent [LCP ProtRej id=0x5 80 fd 01 09 00 0a 12 06 00 00 00 01]
Jan 3 15:51:41 rt pppd[53724]: rcvd [IPCP ConfReq id=0xa <compress VJ 0f 01> <addr 192.168.0.214> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254>]
Jan 3 15:51:41 rt pppd[53724]: sent [IPCP ConfAck id=0xa <compress VJ 0f 01> <addr 192.168.0.214> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254> <ms-dns 192.168.0.2> <ms-wins 192.168.0.254>]
Jan 3 15:51:41 rt pppd[53724]: found interface vr1 for proxy arp
Jan 3 15:51:41 rt pppd[53724]: local IP address 192.168.0.210
Jan 3 15:51:41 rt pppd[53724]: remote IP address 192.168.0.214
