Я написал эту главу потому, что ваш ящик не будет работать без PPP-линии к провайдеру. Мне пришлось немного помучаться перед тем, как ISDN начал работать. Дистрибутив SuSE включает себя настройки ISDN, но я бы хотел, чтобы все было еще проще. Все, что здесь написано, было взято из скриптов Bernhard Hailer. (Огромное спасибо)
Файл rc.config загружает необходимые модули во время установки:
#!/bin/bash # Это адаптированный скрипт, написанный Bernhard Hailer
LOCAL_NUMBER="91311234" # ваш телефон 091311234 REMOTE_NUMBER="0911123456" # телефон провайдера LOCAL_IP="192.168.0.99" # у меня динамический IP REMOTE_IP="195.112.123.11" # адрес шлюза провайдера DEVICE="ippp0" SYSPATH="/sbin" ISDNCTRL="$SYSPATH/isdnctrl" case "$1" in start) # активирует isdn insmod /lib/modules/2.0.33/net/slhc.o insmod /lib/modules/2.0.33/misc/isdn.o sleep 1 # загружает модуль hisax insmod /lib/modules/2.0.33/misc/hisax.o id=Tel0 type=5 protocol=2 irq=10 io=0x300 echo "Запуск isdn4linux" # global $ISDNCTRL verbose 0 $ISDNCTRL addif $DEVICE # создает новый интерфейс $ISDNCTRL addphone $DEVICE in $REMOTE_NUMBER $ISDNCTRL addphone $DEVICE out $REMOTE_NUMBER $ISDNCTRL eaz $DEVICE $LOCAL_NUMBER $ISDNCTRL l2_prot $DEVICE hdlc $ISDNCTRL l3_prot $DEVICE trans $ISDNCTRL encap $DEVICE syncppp $ISDNCTRL huptimeout $DEVICE 300 $ISDNCTRL chargehup $DEVICE off $ISDNCTRL secure $DEVICE on $SYSPATH/ifconfig $DEVICE $LOCAL_IP pointopoint $REMOTE_IP metric 1 $SYSPATH/route add default $DEVICE $SYSPATH/ipppd /dev/ippp0 file /etc/ppp/options.ipppd & $SYSPATH/route del default ;; stop) #деактивирует isdn rmmod hisax.o sleep 1 rmmod isdn.o rmmod slhc.o echo "Отключение isdn4linux" $ISDNCTRL delif ippp0 ;; *) echo "Использование: $0 (start|stop)" exit 1 ;; esac |
Я использую следующий скрипт для установки коммутируемого соединения isdn on|off
#!/bin/bash # Это основано на скрипте написанном Bernhard Hailer IP_ADDRESS="195.112.123.11" case "$1" in on) echo "Вызов ippp0" /sbin/isdnctrl dial ippp0 # команда sleep дает время на установление РPP-соединения echo "Пауза 8s для установки соединения PPP" sleep 8s /sbin/route add default ippp0 echo "линия открыта - проверка...." # проверка установления PPP-соединения: set `ping -qc3 -i1 $IP_ADDRESS 2>/dev/null | grep transmitted` if [ $4 -gt 0 ]; then echo "успешно." echo "Запуск демона fetchmail" /usr/bin/fetchmail -d 600 -k -v -a -L /var/log/fetchmail echo "Сбрасываем очередь почты...." /usr/local/bin/serialmail/maildir2smtp ~alias/pppdir alias-ppp- mail.server.ip.no `hostname` else echo "ошибка!" /sbin/isdnctrl hangup ippp0 fi ;; off) echo -n "Отключаем демона fetchmail" /usr/bin/fetchmail --quit /sbin/isdnctrl hangup ippp0 /sbin/route del default # удаление маршрута echo "Отключение прошло успешно" ;; *) echo -e "\aИспользование:" echo "isdn on" echo "isdn off" ;; esac |
# Основано на: # Klaus Franken, kfr@suse.de # Версия: 27.08.97 (5.1) # # Этот файл скопирован с /etc/ppp/ioptions.YaST # в options. user "myuserid" # имя системы (только для CHAP!) # имя my_system_name # получение адреса IP # используйте с динамическим адресом IP ipcp-accept-local ipcp-accept-remote noipdefault # попытка взять адрес из интерфейса # опции для ipppd (as opposed to pppd) # используются при статическом IP #useifip # запретить сжатие заголовков -vj -vjccomp -ac -pc -bsdcomp # иногда вам будет нужен: #noccp # максимальный размер принимаемых данных mru 1524 # максимальный размер передаваемых данных mtu 1500 # Если эта машина - сервер, то вам надо убрать пометки на комментариях в следующих строчках # "+pap" / "+chap" NUR AKTIVIEREN, WENN DIES EIN SERVER IST!!! #+pap #+chap # если у вас проблемы с соединением (нет ответа на первый # lcp пакет), то попытайтесь уменьшить время повторного цикла. По умолчанию он равен 3 сек, # попробуйте его уменьшить до 2: # lcp-restart 2 |