|
Página seguinte
Página anterior
Índice
Eu estou incluindo isto embora não tenha uma relação direta com o qmail ou mh. Mas sem uma linha PPP para o Provedor de Serviços Internet, não haverá transmissão de mensagens. Tive muitos aborrecimentos até conseguir que o ISDN funcionasse. A distribuição SusE inclui uma configuração para ISDN, mas gostaria de ter algo mais simples. O aqui descrito foi adaptado dos programa de Bernhard Hailer (Vielen, vielen dank!).
O seguinte rc.config carrega os módulos necessários durante a inicialização:
#!/bin/bash
# Este é um velho programa de Bernhard Hailer adaptado.
LOCAL_NUMBER="91311234" # nro. de tel. (ex.091311234).
REMOTE_NUMBER="0911123456" # nro. de tel. do Provedor. LOCAL_IP="192.168.0.99"
# Tendo IP dinâmico isso é suficiente.
REMOTE_IP="195.112.123.11" # IP do Provedor.
DEVICE="ippp0"
SYSPATH="/sbin"
ISDNCTRL="$SYSPATH/isdnctrl"
case "$1" no
início)
# ligar isdn
insmod /lib/módulos/2.0.33/net/slhc.o
insmod /lib/módulos/2.0.33/misc/isdn.o
sleep 1
# carregar o módulo hisax
insmod /lib/módulos/2.0.33/misc/hisax.o
id=Tel0 type=5 protocol=2 irq=10 io=0x300
echo "iniciando RSDI para Linux"
# global
$ISDNCTRL verbose 0
$ISDNCTRL addif $DEVICE # criar nova interface
$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 desligado
$ISDNCTRL secure $DEVICE ligado
$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)
#desligar isdn
rmmod hisax.o
sleep 1
rmmod isdn.o
rmmod slhc.o
echo "Desligando RSDI para linux"
$ISDNCTRL delif ippp0
;;
*)
echo "Usage: $0 (start|stop)"
saída 1
;;
esac
Eu uso o seguinte programa para discar, o qual é chamado simplesmente isdn ligado|desligado.
#!/bin/bash
# Isto é baseado num velho programa de Bernhard Hailer.
IP_ADDRESS="195.112.123.11"
case "$1" in
on)
echo "Ativando ippp0"
/sbin/isdnctrl dial ippp0
# o descanso é importante pois dá tempo ao PPP para se estabelecer
echo "Aguardando por segundos para negociação..."
sleep 8s
/sbin/route add default ippp0
echo "ligação estabelecida - verificando...."
# verifica se a negociação PPP foi bem sucedida:
set `ping -qc3 -i1 $IP_ADDRESS 2>/dev/null | grep transmitted`
if [ $4 -gt 0 ];
then
echo "Conexão Estabelecida."
echo "Iniciando servidor fetchmail"
/usr/bin/fetchmail -d 600 -k -v -a -L /var/log/fetchmail
echo "Verificando fila de mensagens ...."
/usr/local/bin/serialmail/maildir2smtp
~alias/pppdir alias-ppp- mail.server.ip.no `hostname`
else
echo "Conexão falhou!"
/sbin/isdnctrl hangup ippp0
fi
;;
off)
echo -n "Desligando o servidor fetchmail "
/usr/bin/fetchmail --quit
/sbin/isdnctrl hangup ippp0
/sbin/route del default # e apague a rota
echo "Você está desconectado!""
;;
*)
echo -e "\aUso:"
echo "Conexão RSDI ativada"
echo "Conexão RSDI desativada"
;;
esac
A seguir apresentamos o arquivo de opções ipppd denominado /etc/ppp/options.ipppd:
# Baseado em:
# Klaus Franken, kfr@suse.de
# Versão: 27.08.97 (5.1)
#
# Este arquivo é cópia de YaST a partir de /etc/ppp/ioptions.YaST
# para opções.<device>
usuário "identificação_do_usuário"
# nome do sistema (só para CHAP!)
# name nome_do_ sistema
# aceita os endereços IP da ponta como IP dinâmico.
ipcp-accept-local
ipcp-accept-remote
noipdefault
# tente obter o endereço IP da opção de interface específica
# para ipppd (ao contrário de pppd); use só com IP estático.
#useifip
# desativa a compressão de cabeçalho.
-vj
-vjccomp
-ac
-pc
-bsdcomp
# às vezes você precisa disto:
#noccp
# unidade máxima de recepção (em bytes)
mru 1524
# unidade máxima de transmissão (em bytes)
mtu 1500
# Se esta máquina for um servidor, force a autenticação não comentando um dos
# parâmetros a seguir. Porém, se esta máquina for um cliente, fazer isso
# evitará conexões bem sucedidas!
# Assim, somente não comente num servidor.
# "+pap" / "+chap" NUR AKTIVIEREN, WENN DIES EIN SERVER IST!!!
#+pap
#+chap
# Caso haja problemas na negociação (sem respostas para o primeiro pacote Icp)
# tente diminuir o ciclo de novas tentativas. O padrão é de 3 segundos.
# Tente por exemplo 2 segundos.
# lcp-restart 2
Página seguinte
Página anterior
Índice
|