Настройка Callback
Почитал я тут статью уважаемого Немысского Андрея. http://win.linuxnews.ru/docs/show.shtml?callback.txt
по поводу Callback.
И подумал, что надо поделится с народом своим опытом настройки того же самого,
но другим путем. Путь этот имеет свои достоинства и недостатки.
Достоинства:
Никаких скриптов в Windows9X.
Управление у кого будет Callback, а у кого нет.
Недостатки:
Необходимость патчить pppd, а так как патчи не успевают за выходом нового
pppd, то приходится работать на более старом (к примеру у меня сейчас 2.3.10).
Невозможна Script based авторизация так как Callback выполняет сам pppd. (Вернее
она возможна, но при этом не будет CallBack).
Вот и поговорили о достоинствах и недостатках (я мог быть где то не прав пусть
меня поправят).
Теперь собственно о установке.
1. Качаем патч по следующему адресу:
http://www.pbko.sk/~bobovsky/archiv/pppd-cbcpS-callback/ine-contrib/ppp-2.3.10.CBCP.patch.
2. Качаем pppd-2.3.10, например, отсюда ftp://ftp.linuxcare.com.au/pub/ppp/ppp-2.3.10.tar.gz.
3. Патчим pppd: patch -p1 < ppp-2.3.10.CBCP.patch. Эта команда правит исходник
pppd а также создает файлы:
callback-users
callback-client
callback-server
в каталоге /etc/ppp
4. ./configure
5. make
6. make install
Собственно все установили. Теперь настраивать.
1. Настройка mgetty. Дописываем следующую строку:
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login callback server
естественно, что mgetty должен быть скомпилирован с опцией -DAUTO_PPP.
2. В файле /etc/ppp/callback-users прописать пользователей которые, должны иметь
возможность пользоваться callback. Пример.
----------/etc/ppp/callback-users-----------------------------
# User list for callback
# Username option
# option - no callback
# option * or empty user definied
# option other admin definied: this number
# in username * and ? wildcars valid, callback uses the best fit
# Examples:
# zotyo 67435 # user zotyo admin definied, number 67453
# gates - # gates not called back may *
cbtest *
* -
-----------------------------------------------------------------------
3. Поставить скриптам callback-server и callback-client права на выполнение.
4. Настроить скрипты. На самом деле у меня все настройка свелась к увеличению
времени ожидания, иначе модем просто не успевал инициализироваться.
---------------/etc/ppp/callback-server-----------------------
#!/bin/sh
# Script callback-server
# Script parameters: delay time in seconds, callback number
DELAY="$1"
NUMBER="$2"
/usr/sbin/chat -v -t 2 "" ATH0
sleep $DELAY
sleep 20 #Добавленная при настройке строка.
/usr/sbin/chat -v "" AT OK ATS39=5DT$NUMBER CONNECT
-----------------------------------------------------------------------
Скрипт callback-client нужен для организации работы Linux как callback клиента.
Для того, чтобы он работал на клиентской машине тоже должен быть пропатченный
pppd.
pppd в том скрипте, который вы используете при дозвоне, должен вызываться с
опцией callback например вот так:
/usr/sbin/pppd auth -chap +pap login callback
И еще момент, я использую callback так как у меня связь при звонках сервера,
мне гораздо устойчивее, чем от меня по-этому при звонке на свой сервер я снижаю
скорость до 2400, что дает мне устойчивый connect и авторизацию. Этот фокус
проходит абсолютно нормально, так как ниже приведенный скрипт все равно реинициализирует
модем.
---------------/etc/ppp/callback-server-----------------------
#!/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
# На моей домашней машине заменено на sleep 25
#в следующей строке идет реинициализация модема и ожидание обратного звонка
/usr/sbin/chat -v "" ATZ OK "" RING ATA CONNECT #
-----------------------------------------------------------------------
5. Ну собственно, и попробовать.
Игнатов Алексей. admin@ceramica.ru
Выражаю особую благодарность за помощь в установке и настройке моему провайдеру.
Александру Аникину. may@telecom-service.ru