ISDN
Я написал эту главу потому, что ваш ящик не будет работать без 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
|
Теперь займемся файлом опций /etc/ppp/options.ipppd
# Основано на:
# Klaus Franken, kfr@suse.de
# Версия: 27.08.97 (5.1)
#
# Этот файл скопирован с /etc/ppp/ioptions.YaST
# в options.<device>
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
|