[Comm] callback как подключиться
Alexandr R. Ogurtzoff
=?iso-8859-1?q?aogurtsov_=CE=C1_hostopia=2Ecom?=
Чт Янв 13 08:15:50 MSK 2005
On Wednesday 12 January 2005 15:32, max wrote:
> Здравствуйте, community.
> Подскажите пожалуйста как настроить и запустить callback для
> Dial-up. Прочитал howto но толком не понял.
> ifup ppp0 работает замечательно, хотелось бы аналогичного с
> callback.
По идее callback "живёт" нынче уже в настройках kppp
1,5 года назад этого не было. Меня спасла настройка консольного дозвонщика.
Инструкцию прилагаю, пробуйте,ногрантировать результат не могу очень уж
многое в этом вопросе зависит от сервисов провайдера.
Подключение к Интернет у провайдера с PAP авторизацией и поддержкой обратного
дозвона CallBack по протоколу CBCP
Описаный ниже способ не претендует на оптимальность. Но обеспечивает
соединение и работает.
Система Мастер 2.2 без обновлений.
При первоначальной прозвонке к провайдеру pppd осуществляет соединение,
производит PAP авторизацию и согласно протоколу CBCP передает телефонный
номер по которому должна перезвонить удаленная система. После этого
соединение разрывается. Наша система начиная с этого момента ждёт дозвона от
узла провайдера, после осущесвления которого и осуществляется собственно
соединение, поднятие IP адресов etc.
Таким образом должны существовать два сценария поведения демона pppd (chat
скрипта) при соединения в таких условиях. Один для исходящего, второй для
входящего соединения. А вот тут и начинается самое интересное в дистрибутиве
Альт демон pppd собран с поддержкой протокола обратного дозвона в том числе и
CBCP, в более ранних версиях дистрибутива пакет похоже назывался
pppd-callback. Так вот второй скрипт - ответа на звонок создается
автоматически(!) и находится в файле /etc/ppp/callback-client. Протокол
обработки обратного звонка регистрируется в событиях netevent и дозвон от
провайдера обрабатывается именно этим скриптом.
ls -l /etc/ppp/callback-client
-rwxr-xr-x 1 root root 211 Apr 19
19:40 /etc/ppp/callback-client
cat /etc/ppp/callback-client
#!/bin/sh
# Script callback-client
# Script parameters: delay time in seconds
DELAY="$1"
/usr/sbin/chat -v -t 2 "" \d+++\d\c OK ATH0 OK
sleep $DELAY
/usr/sbin/chat -v "" ATZ OK "" RING ATA SAY "RING" CONNECT
Мной добавлено только RING ATA SAY "RING" , хотелось видеть что прошел дозвон
Дальше создаём файл дозвона к провайдеру /etc/ppp/chat-cbcp
ls -l /etc/ppp/chat-cbcp
-rwxr-x--- 1 root uucp 586 May 6 14:50 /etc/ppp/chat-cbcp
С содержимым типа такого (!)не забудьте в строке ATDT указать номер своего
провайдера
cat /etc/ppp/chat-cbcp
#!/bin/sh
#Request for CallbacK
#
/usr/sbin/chat -v \
TIMEOUT 7 \
ABORT "\nERROR\r" \
ABORT "\nNO DIALTONE\r" \
ABORT "\nBUSY\r" \
ABORT "\nNO ANSWER\r" \
ABORT "\nNO CARRIER\r" \
ABORT "\nLogin incorect\r" \
'' AT \
SAY "Modem Initialization\n" \
'OK-+++\c-OK' 'ATH0L2M2V1W2X4&c1E1q0' \
SAY "Dialing to ISP\n" \
TIMEOUT 60 \
OK ATDT479700 \
CONNECT '' \
SAY "Connected...\n" \
TIMEOUT 30 \
ogin: \c
exit 0
Пишем файл /etc/ppp/options.cbcp
ls -l /etc/ppp/options.cbcp
-rw-r--r-- 1 root root 103 Apr 12 18:10 /etc/ppp/options.cbcp
cat /etc/ppp/options.cbcp
noipdefault
persist
nodetach
connect '/etc/ppp/chat-cbcp'
user Ваш логин
remotename Имя провайдера
callback Номер дозвона к вам
И наконец создаём скрипт который будет дозваниваться, он очень простой
ls -l /etc/ppp/ppp-on-dialer
-rwxr-x--- 1 root uucp 116 Apr 12
18:11 /etc/ppp/ppp-on-dialer
У меня модем на 33600 поэтому скорость порта я задирать не стал, если у вас
модем на 56К, то можете вписать скорость порта 115200
cat /etc/ppp/ppp-on-dialer
#!/bin/sh
#
#Trying connect to ISP for CallBack
/usr/sbin/pppd /dev/modem 57600 defaultroute file /etc/ppp/options.cbcp
Убедитесь что в файле /etc/ppp/pap-secrets
прописана строка вида
Ваш логин Имя_провайдера Пароль_у_провайдера
права на файл
ls -l /etc/ppp/pap-secrets
-rw------- 1 root root 26 Apr 11 17:42 /etc/ppp/pap-secrets
При коректно настроеной сети всё готово для соединения с провайдером. Да
кстати не забудьте. что обратный дозвон у провайдера является отдельной
услугой, проконсультируйтесь в службе тех.поддержки провайдера о
предоставлении вам таковой.
Второй вопрос о том как сделать этот дозвон доступным под пользовательским
аккаунтом? Дозваниваться могут пользователи из группы UUCP
grep uucp /etc/group
uucp:x:14:uucp,iscander,ну и остальные через запятую
Права доступа к файлам следующие
ls -l /usr/sbin/pppd /dev/modem /dev/ttyS1
lrwxrwxrwx 1 root root 10 Mar 22 11:40 /dev/modem
-> /dev/ttyS1
crw-rw---- 1 root uucp 4, 65 May 7 12:14 /dev/ttyS1
-rws--x--- 1 root uucp 218904 Oct 24 2002 /usr/sbin/pppd
После этого на рабочем столе пользователя можно создать ссылку на
файл /etc/ppp/ppp-on-dialer и запускать соединение одним щелчком. Для
индикации работы ppp меня вполне устраивал апплет в gkrelm
Эх, были времена :-) Сейчас живу на DSL - много приятнее.
Удачи.
--
Best regards
Alexandr R. Ogurtzoff
{
UNIX is user friendly, it's just picky about who its friends are
}
Подробная информация о списке рассылки community