From: Juri Milodanovic <jm@evpatoria.net>
Newsgroups: http://jm.evpatoria.net/pppd-cbcp.html
Subject: Настройка callback в pppd
Настройка callback в pppd
_________________________________________________________________
Идея прозвонки к провайдеру, который поддерживает callback,
основывается на использовании chat-скриптов. При первоначальной
прозвонке pppd "просит" провайдера перезвонить, отключается, а затем
модем переходит в режим ожидания ответа. После поступления входящего
звонка устанавливается PPP-соединение. Более подробно о настройке pppd
можно прочитать в статье Игоря Сысоева (http://www.sysoev.ru/pppd/),
с которой настоятельно рекомендую ознакомиться.
Для такой прозвонки понадобятся два chat-скрипта. Первый - это скрипт,
который будет запрашивать у удаленной стороны callback. Запишем его в
файл /etc/ppp/chat-cbcp:
Скрипт должен иметь права доступа 0500 (r-x --- ---). Само собой, что
вместо 1234567 вам необходимо указать телефон своего провайдера. После
того, как дозвонились, удаленная сторона спрашивает "Username:" и
происходит PAP-аутентификация. В этом случае нужно создать файл
/etc/ppp/pap-secrects с правами доступа 0600 (rw- --- ---) и записать
в него ваш логин, название удаленной системы и пароль:
jm my_isp pass627789
Название удаленной системы может быть любым. Что же касается пароля,
то в нем могут использоваться специальные символы, например '#',
который будет рассматриваться как начало комментария. Поэтому такой
пароль необходимо заключить в двойные кавычки:
jm my_isp "pass62#7789"
Если провайдер PAP-аутентификацию не поддерживает, потребуется
небольшая переделка скрипта:
Если pppd находится на этапе отладки, то в него можно еще добавить
строки с параметрами "kdebug 7" и "debug". Обратите внимание, что в
/etc/ppp/options не должно быть параметра "lock"!
Далее необходимо создать файл /etc/ppp/options.cbcp, который должен
содержать следующее:
nodefaultroute
noipdefault
nodetach
nopersist
connect '/etc/ppp/chat-cbcp'
user jm
remotename my_isp
callback 3222232
Единственная задача этого файла - сообщить удаленной системе, по
какому телефону она должна перезвонить. Для этого используется
параметр "callback" с нашим номером телефона.
Если все сделано правильно, то теперь можно позвонить провайдеру и
получить от него входящий звонок (cuaa1 - это, разумеется, имя
устройства, на котором висит наш модем):
Таким образом получается, что стартовавший pppd запускает pppd еще
один раз, инициируя звонок от провайдера, после чего на него отвечает
и устанавливает PPP-линк.
_________________________________________________________________
Юрий Милоданович / Juri Milodanovic
jm@evpatoria.net
Пример скриптов для работы CBCP CallBack можно также найти на
ftp://ftp.opennet.ru/pub/modem/comtel-callback.tar.gz