Ключевые слова:ppp, callback, cbcp, dialup, (найти похожие документы)
From: fercerpav@mtu-net.ru, support@mtu.ru
Newsgroups: http://dialup.tochka.ru/intel_users/setup/setup_unix.htmSubject: Настройка pppd для работы с CBCP Callback.
Оригинал документа находится по адресу:
http://dialup.tochka.ru/intel_users/setup/setup_unix.htm
Настройка Call-Back
Данный пример расчитан на реализацию pppd версии 2.4.0, присутствующей
в большинстве дистрибутивов Linux. Настройка ведется в расчете на
Microsoft Call Back (CBCP), который работает у нас на сервере.
В pppd должен быть подлинкован модуль для поддержки CBCP (если pppd
понимает параметр callback<number>, то перекомпиляция не требуется).
Для получения pppd с поддержкой CBCP необходимо в директории его
исходников сделать ./configure, затем перейти в поддиректорию pppd и
отредактировать Makefile так, чтобы среди CFLAGS был -DCBCP_SUPPORT,
среди SRCS - cbcp.c, а среди PPPDOBJS - cbcp.o. Теперь пересобирайте pppd.
Для дозвона можно использовать такие скрипты:
pppcb-up:
-------------------------
#!/bin/sh
if [ -r /var/run/ppp0.pid ]; then
kill -INT `cat /var/run/ppp0.pid`
sleep 5
/sbin/route delete default
fi
pppd connect '/etc/ppp/mtucb' persist
-------------------------
/etc/ppp/mtucb:
-------------------------
#!/bin/sh
while [ ! "$?" = "14" ]
do
pppd connect 'chat -f /etc/ppp/dial2mtu' name <your_login>:c \
-detach callback <your_telephone>
done
chat -f /etc/ppp/answer
-------------------------
/etc/ppp/dial2mtu:
-------------------------
TIMEOUT 60 ABORT BUSY ABORT 'NO ANSWER' ABORT 'NO DIALTONE' ABORT
ERROR ABORT 'NO CARRIER' '' AT 'OK-+++\c-OK'
ATH0 OK ATM2L1 OK
ATDP995-55-55 CONNECT
-------------------------
/etc/ppp/answer:
-------------------------
TIMEOUT 30 ABORT ERROR
HANGUP OFF
'' '+++ATH0' 'NO CARRIER'
'AT S0=1 M2 L1' OK
'' CONNECT
-------------------------
/etc/ppp/options:
-------------------------
/dev/modem
115200
noauth
defaultroute
noipdefault
pap-timeout 10
-------------------------
/etc/ppp/pap-secrets:
-------------------------
# PAP authentication file: /etc/ppp/pap-secrets
# This file should have a permission of 600.
# Username Server Password IP addresses
<your_login>:c mtu "<your_password>"
-------------------------
(Для не mtu пользователей убрать ":c" после логина.)
Ну а ppp.kill такой же, как в Примере 1:
Пример по настройке Call Back любезно предоставил fercerpav@mtu-net.ru
Пример 1.
Рекомендации настроек для UNIX
Версия pppd 2.4.1
Файл конфигурации для дозвонки к одному из провайдеров (mtu-intel)
/etc/ppp/peers/mtu-intel
-------------------------
-detach
lock
crtscts
noauth
defaultroute
debug
persist
pap-timeout 10
user guest
connect '/usr/sbin/chat -v -f/etc/ppp/script-mtu'
/dev/modem
115200
-------------------------
Файл со скриптом дозвонки /etc/ppp/script-mtu
вариант 1 (с использованием PAP авторизации):
-------------------------
TIMEOUT 5
"" AT&F
OK ATDP9955555
ABORT BUSY
ABORT "NO ANSWER"
ABORT "NO DIALTONE"
ABORT ERROR
TIMEOUT 45
CONNECT ""
TIMEOUT 15
"ogin:" ppp
-------------------------
вариант 2 (с авторизацией в текстовом виде):
-------------------------
OK ATDP9955555
ABORT BUSY
ABORT "NO ANSWER"
ABORT "NO DIALTONE"
ABORT ERROR
TIMEOUT 45
CONNECT ""
TIMEOUT 15
"ogin:" guest
"word:" mtu
"ppp" ""
-------------------------
Файл паролей /etc/ppp/pap-secrets
-------------------------
guest mtu-intel mtu
dpp1234567 mtu-intel r20OYqI_y
guest ogr thanx
guest * guest
-------------------------
Этот же самый файл можно использовать и под именем chap-secrets, если
нужно соединяться с каким-либо провайдером с авторизацией по протоколу
CHAP (в МТУ-Информ CHAP запрещен)
скрипт запуска сессии ppp.start
-------------------------
if [ -r /var/run/ppp0.pid ]; then
kill -INT 'cat /var/run/ppp0.pid'
sleep 5
route delete default
fi
pppd call mtu-inform
-------------------------
скрипт убивания сессии ppp.kill
-------------------------
if [ -r /var/run/ppp0.pid ]; then
kill -INT 'cat /var/run/ppp0.pid'
route delete default
fi
-------------------------
Сообщения во время установления соединения можно отслеживать в файлах логов:
tail -f /var/log/messages &
tail -f /var/log/ppp.log &
(В файл /etc/syslog.conf нужно добавить строчку:
!pppd
*.* /var/log/ppp.log
и послать процессу syslogd сигнал kill -1)