![]() |
![]() |
![]() |
|||||||||||||
|
|||||||||||||||
![]() |
![]() |
![]() |
Indholdsfortegnelse:
Efterhånden skulle denne side komme til at indeholde lidt opsætningeksempler om diald.
I første omgang er der en kort beskrivelse af hvad diald kan anvendes til, samt lidt snapshots af dctrl, som er en grafisk frontend til styring af diald.
Diald kan anvendes til automatisk at lukke/åbne for internetforbindelsen. Oprindelig var det kun pppd, men siden version 0.98 kan det også anvendes hvis man skal åbne en forbindelse over netkort eller lignende, f.eks. ved stofa-net.
Diald anvender filen standard.filter til styring af hvor længe forbindelsen skal holdes åben, og man kan endda sætte forskellige timeout afhængig af port/protokol. F.eks. 120 sekunder på http/web, 60 sekunder på ftp, og 4 min. på telnet/ssh. Man kan også slå visse porte fra, så de slet ikke kan åbne forbindelse, dette er specielt praktisk ved visse netbios porte (windows).
Diald kan også anvendes helt manuelt, dvs. via kommandolinie eller dctrl så åbner/lukker man manuelt for forbindelsen. Via kommandoline f.eks.:
echo "up" > /var/lib/diald/fifo echo "down" > /var/lib/diald/fifo
Der er også andre kommandoer til styring, men det er lige vist som eksempel. Disse kommandoer kan passende placeres som aliaser i shell opstart hvis de ofte anvendes:
alias unblock='echo unblock > /var/lib/diald/fifo' alias block='echo block > /var/lib/diald/fifo' alias force='echo force > /var/lib/diald/fifo' alias unforce='echo unforce > /var/lib/diald/fifo' alias diald='echo error' alias dialdup='echo up > /var/lib/diald/fifo' alias dialddown='echo down > /var/lib/diald/fifo' alias dialdquit='echo quit > /var/lib/diald/fifo'
Dctrl er en grafisk frontend (til X) for diald. Den kræver at man har tcl/tk installeret. Man kan se trafiken på forbindelsen, de pakker der holder den åben, samt up/downloadhastigheder:
Jeg har yderligere ladet fvwm2 windowmanager lave en "swallow" på dctrl's icon som er et "stoplys". Der er grøn for åben og rød for lukket ppp forbindelse:
![]() |
![]() |
if [ -f /proc/sys/net/ipv4/ip_dynaddr ]; then echo "3" >/proc/sys/net/ipv4/ip_dynaddr fi
Se også i kernens dokumentation, der er en fil : /usr/src/linux/Documentation/networking/ip_dynaddr.txt.
# maybe this helps from keeping http links up from netscape?: ignore tcp tcp.fin
Disse eksempler er til diald 0.99.4, men burde tilpasses til andre 0.99 og nyere versioner. Man bør ikke anvende de helt gamle diald, der bedst virkede på gamle kerner (2.0.x). Jeg har faktisk ikke prøvet dem særligt meget på 2.2.x kerner, men ummidelbart kører de gamle diald ikke (f.eks. diald 0.16).
Se også manual sider til diald, dctrl(1), diald-examples(5), diald-control(5), diald-monitor(5), pppd(8), chat(8).
Diald har diverse configurationsfiler, jeg har placeret dem i /etc/diald/ men check placering af filer, jeg har lagt dem anderledes end muligvis standard i diald distributionen. Derudover check konfigurationsfilerne, specielt de henvisningerne til de andre filer som anvendes af nedestående konfigurationsfiler, og som ikke er medtaget.
Et simpelt chatscript (husk chmod +x chatscript.diald):
#!/bin/sh PHONE=NNNNNNNN #remove "-r /var/...." if not chat log is needed: exec chat -v -r /var/log/ppp-chat.log \ REPORT CONNECT \ REPORT OK \ REPORT BUSY \ REPORT 'NO CARRIER' \ REPORT 'NO DIALTONE' \ ABORT 'NO CARRIER' \ ABORT 'BUSY' \ ABORT 'NO DIALTONE' \ ABORT 'WAITING' \ TIMEOUT 10 \ '' 'ATZ' \ 'OK' ATDT$PHONE \ TIMEOUT 50 \ CONNECT
/etc/diald/diald.options
#some debug: debug linkdesc "My_Modem_Name" lock device /dev/ttyS0 modem crtscts speed 115200 mode ppp mtu 538 authsimple "/etc/diald/auth" demasq accounting-log "/var/log/diald.log" pidfile "diald.pid" fifo "/var/lib/diald/fifo" # jeg anvender følgende dummy-ip på eget net til SLIP device, # ip bør helst være på et eget netværk, dvs. bruger man 192.168.0.x # så vælg noget andet, evt. 192.168.253.x : local 192.168.0.254 remote 192.168.0.253 dynamic netmask 255.255.255.0 redial-timeout 45 died-retry-count 0 connect-timeout 600 retry-count 3 ip-up /etc/diald/ip-up ip-down /etc/diald/ip-down connect "/etc/ppp/chatscript.diald" defaultroute pppd-options noauth user USERNAME-ISP ipcp-accept-local ipcp-accept-remote #I første omgang skulle standard.filter kunne anvendes, men #man kan senere tilrette til egne ønsker. include /etc/diald/standard.filter
Der er også andre filer som /etc/diald/ip-up og ip-down som er shell scripts der kaldes når forbindelser er oppe hhv. går ned. I Redhat er der nogle i /etc/ppp/ip-up og ip-local mv. og redhat & co er ikke ummidelbart lavet til diald så man skal lige checke disse scripts hvordan de hænger sammnen med resten. Måske du blot kan angive /etc/ppp/ip-up og ip-down i stedet.
OBS: /etc/ppp/options: I denne fil må visse kommandoer ikke anvendes, se bla. manualsiden til diald:
WARNING: Note that some pppd commands should not be specified, not even in the /etc/ppp/options file, because they will interfere with the proper operation of diald. In particular you should not specify the tty device, the baud rate, nor any of the options crtscts, xonxoff, -crtscts, defaultroute, lock, netmask, -detach, modem, local, mtu and proxyarp. Use the equivalent diald commands to control these pppd settings.
For at teste en del af opsætning, specielt pppd og chatscript, så forsøg at kalde pppd med de samme options som diald vil kalde pppd med:
pppd noauth user USERNAME-ISP ipcp-accept-local ipcp-accept-remote \ lock device /dev/ttyS0 modem crtscts speed 115200 mode ppp \ connect /etc/ppp/chatscript.diald
De værktøj der er nævnt i ppp-info kan fint bruges . Afhængig af den anvendte linux distribution så vil der være eller flere logfiler i /var/log. Udover de standard logfiler der findes, så oprettes i ovenstående eksempel /var/log/ppp-chat.log. Husk at slå denne fra, ellers skal filen af og til slettes, hvis logrotate ikke sørger for det.
Er diald korrekt startet , og forbindelse ikke oprettet så vil route -n vise:
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.253 0.0.0.0 255.255.255.255 UH 1 0 0 sl0 255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 sl0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 0.0.0.0 0.0.0.0 U 1 0 0 sl0
Og med forbindelsen aktiv:
Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 195.249.0.69 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 195.249.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Tilsvarende kan ifconfig anvendes til at vise status på hhv. sl0 og ppp0.
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |