|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexander Burylov 2:5054/29.41 27 Jan 2001 03:23:24 To : Afonin Denis Subject : pppd и дисконнект -------------------------------------------------------------------------------- 26 Jan 01 09:33, you wrote to all: [skip] AD> отсоединиться, я говорю "killall pppd" (кстати, это нормально?). AD> Связь AD> рвется не сразу, а вначале AD> какому-то таймауту не вылетит. А денежки-то идут! :( [skip] Я не знаю какие там у тебя скрипты для запуска (наверное стандартные из какого-нибудь дистрибутива) вот лови мои: Я соединяюсь так: connect ISPNAME $PATH/connect === Cut === #!/bin/bash cd /etc/ppp/ ISPNAME=$1 export ISPNAME [ -z "$ISPNAME" ] && { echo "usage: connect <ispname>" >&2 exit 1 } if [ -f "./peers/$ISPNAME" -a -f "./chats/$ISPNAME" ]; then open -c 8 -s ./scripts/ppp-on exit 0 else if [ -f "./peers/$ISPNAME" ]; then echo "no isp chat" exit 1 else if [ -f "./chats/$ISPNAME" ]; then echo "no isp peer" exit 1 fi fi echo "no isp account" fi === Cut === /etc/ppp/scripts/ppp-on === Cut === #!/bin/sh clear echo Connecting to $ISPNAME ... echo exec /usr/sbin/pppd file ./peers/$ISPNAME connect ./scripts/ppp-on-dialer === Cut === /etc/ppp/scripts/ppp-on-dialer === Cut === #!/bin/sh MAX_ATTEMPTS=5 SLEEP_DELAY=30s attempt=0 while : ; do attempt=`expr $attempt + 1` /usr/sbin/chat -v -s -f /etc/ppp/chats/$ISPNAME if [ "$?" = "0" ]; then exit 0 fi if [ "$?" = "2" ]; then exit 1 fi if [ "$attempt" = "$MAX_ATTEMPTS" ]; then exit 1 fi sleep "$SLEEP_DELAY" done === Cut === /etc/ppp/chats/$ISPNAME === Cut === ABORT BUSY ABORT ERROR ABORT VOICE ABORT 'NO CARRIER' ABORT 'NO DIALTONE' ABORT 'Invalid Login' ABORT 'Login incorrect' '' ATZ0 OK '/d/d ATDTXXXXXX' CONNECT '' TIMEOUT 5 === Cut === /etc/ppp/peers/$ISPNAME === Cut === asyncmap 0 debug kdebug 0 user XXXXXXXX noipdefault defaultroute usepeerdns deflate 12 nobsdcomp vj-max-slots 16 === Cut === Hабираеш например: connect server, и на 8 консоли наблюдаеш весь процесс соединения - лог (почти "интерактивный" режим :-)). Чтобы прервать всязь - Ctrl+C или скрипт: /etc/ppp/scripts/ppp-off === Cut === #!/bin/sh if [ "$1" = "" ]; then DEVICE=ppp0 else DEVICE=$1 fi if [ -r /var/run/$DEVICE.pid ]; then kill -INT `cat /var/run/$DEVICE.pid` if [ ! "$?" = "0" ]; then rm -f /var/run/$DEVICE.pid echo "ERROR: Removed stale pid file" exit 1 fi echo "PPP link to $DEVICE terminated." exit 0 fi echo "ERROR: PPP link is not active on $DEVICE" exit 1 === Cut === Чтобы создать новое соединение нужно создать пару файлов - чат скрипт и файл с опциями в /etc/ppp/chats/ и /etc/ppp/peers/ соответственно (имена этих файлов одинаковые - это и есть ISPNAME). Вот и вся мудрость. Скрипты для правки /etc/resolv.conf и стандартная программа "open" я думаю есть у всех. С уважением A.Burylov --- ifmail v.2.15dev5 * Origin: (2:5054/29.41) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/33413a72784e.html, оценка из 5, голосов 10
|