Om PPP juist te konfigureren, bekijk je best de PPP-HOWTO. Ik ga het kort trachten uit te leggen, maar als er problemen of vragen zijn, lees dan de HOWTO aandachtig.
Om je modem juist in te stellen, kan je de initstring van je modem wijzigen. Om meer over je modem te weten te komen, kijk op: Ask Mr. Modem. Let op, als je een winmodem hebt dan zal die wellicht NIET werken ! Meer informatie over winmodems kan je vinden op: http://linmodems.org/. Er wordt aan gewerkt, doch winmodems zijn niet zo degelijk als echte modems.
Eerst moet je nakijken of je het ppp-package geinstalleerd hebt.
(pppd --version
), kijk even na of het wel een recente versie is !!
Dan zorg dat je de volgende files hebt:
/usr/local/bin/ppp
#!/bin/sh case $1 in on|start) TELEPHONE='555-1212' # The telephone number for the connection ACCOUNT='your_login' # The account name for logon (as in 'George Burns') PASSWORD='your_pass' # The password for this account (and 'Gracie Allen') INITSTRING='AT&F&C1&D2Z'# Modem initstring IPLOCAL=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0 IPREMOTE=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0 DEVICE=/dev/ttyS1 # Serial Device com1=ttyS0, com2=ttyS1,... SPEED=57600 # 19200, 38400 or 57600 (don't try something different) export TELEPHONE ACCOUNT PASSWORD INITSTRING exec /usr/sbin/pppd $DEVICE $SPEED $IPLOCAL:$IPREMOTE \ user $ACCOUNT connect /etc/ppp/ppp-on-dialer ;; off|stop) if [ -r /var/run/ppp0.pid ]; then kill -INT `cat /var/run/ppp0.pid` if [ ! "$?" = "0" ]; then rm -f /var/run/ppp0.pid echo "ERROR: Removed stale pid file" exit 1 fi exit 0 fi echo "ERROR: PPP link is not active on ppp0" exit 1 ;; info|status) /usr/sbin/pppstats ;; *) echo "Usage: ppp on|off|info|start|stop|status"; ;; esac
/etc/ppp/ppp-on-dialer
#!/bin/sh exec /usr/sbin/chat -v \ REPORT CONNECTION \ REPORT CARRIER \ TIMEOUT 10 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nNO CARRIER\r' \ ABORT '\nNO DIALTONE\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ ABORT 'Invalid Login' \ ABORT 'Login incorrect' \ '' "\r$INITSTRING\r" \ 'OK-+++\c-OK' 'ATH0' \ TIMEOUT 45 \ OK "ATDT$TELEPHONE" \ CONNECT '\d\c' \ ogin:--ogin: "$ACCOUNT" \ ord: "$PASSWORD"Je kan het
-v
gedeelte weglaten als alles blijkt te werken.
Het pppd commando gebruikt de file /etc/ppp/options om al zijn opties te bundelen, verander de opties naar believe. Deze opties werken normaal gezien in de meeste gevallen.
asyncmap 20a0000 crtscts debug default-mru defaultroute detach escape 11,13,ff hide-password ipcp-accept-local ipcp-accept-remote lcp-echo-failure 4 lcp-echo-interval 400 lock modem mtu 1500 netmask 255.255.255.0 noipdefault passive #idle 300 #kdebug 0 #-vjEenmaal hij inbelt en alles naar wens is, kan je
debug
weglaten.
Opgelet: het is belangrijk om te benadrukken dat ieder 'speciaal' karakter, dus ieder karakter dat niet behoort tot [a-zA-Z0-9] en '_', best voorafgegaan wordt door een '\' om de speciale betekenis die het kan hebben te ontkrachten. Dus "e!b$l+" wordt dan "e\!b\$l\+". Als je problemen hebt om in te loggen, kijk je dit dus best na.
Als je ISP CHAP of PAP vereist, dan moet je een van de volgende files plaatsen en het juiste login en paswoord erin zetten:
/etc/ppp/pap-secrets of /etc/ppp/chap-secrets
#client server secret IP your_login * your_pass *
Je nameservers konfigureer je in /etc/resolv.conf. Als het inbellen lukt, maar je kan niet surfen, dan is de kans groot dat je deze stap vergeten bent.
domain domain_of_your_isp nameserver your_primary_nameserver nameserver your_secondary_nameserver
Vooraleer je een (shell)script kan uitvoeren, moet je het executable maken.
Let op dat je de permissies zo plaatst dat andere gebruikers niet zomaar
de paswoorden kunnen bekijken die in de files staan. Als je andere
gebruikers toch wil kunnen laten inbellen, dan kan je daarvoor
sudo
gebruiken. Je zou het volgende kunnen doen:
chmod u+rw og-rwx -R /etc/ppp chmod u+x /etc/ppp/ppp-on-dialer /usr/local/bin/ppp
Als /usr/local/bin in je PATH
staat, kan je dan simpelweg
starten met:
ppp onen stoppen met:
ppp offen wat statistieken kan je opvragen met:
ppp status
text-based
proxyarp
193.74.208.135
http://www.kpnbelgium.be/support/Support.asp?ID=3&SupportID=11
text-based / PAP
noccp
62.112.0.7, 194.88.127.7
nog geen officiële Linux support
CHAP
194.119.232.3, 194.119.232.2
PAP
defaultroute
195.238.2.21, 195.238.2.22
text-based ?
212.35.2.1, 212.35.2.2
nog geen officiële Linux support
text-based
194.7.1.4, 194.7.15.70
nog geen officiële Linux support
PAP
nog geen officiële Linux support
text-based / PAP
195.74.193.12, 194.134.0.12
nog geen officiële Linux support
CHAP
212.233.1.34, 212.233.2.34
PAP
194.109.6.66, 194.109.9.99
CHAP
212.8.180.122, 212.8.180.126
nog geen officiële Linux support
Bijdrage door Christophe Lambin clambin@skynet.be
Dit gedeelte is niet bedoeld als een definitieve handleiding voor ISDN op Linux. Voor een meer gedetaileerde uitleg hierover verwijzen we door naar Paul Slootman's ISDN4Linux HOWTO en ISDN4Linux-FAQ.
Als je een 2.2 kernel gebruikt, is het aangeraden om een nieuwere versie van de ISDN code te gebruiken. De CVS versie kan je halen op ftp://ftp.suse.com/pub/isdn4linux/. Voor meer informatie, bekijk: http://www.brisse.dk/site/linux/docs/isdn.htm
Opgelet: als je je onlangs een Eicon Diva 2.0 PCI aanschafte (bv, via Belgacom), dan is de kans groot dat het in werkelijkheid om een Diva 2.01 gaat, in dat geval heb je een nieuwere versie nodig van na 1 Juli 1999 !
Eens de ISDN op zijn plaats is, kan je de driver starten (als module). Bv:
modprobe hisax type=11 protocol=2Bekijk de Readme's voor de juiste parameters en waarden voor jouw kaart.
Vervolgens heb je de ISDN4Linux toolkit nodig. De laatste versie hiervan kan je afhalen op: ftp://ftp.suse.com/pub/isdn4linux/
Met de tools geinstalleerd en gekonfigureerd, schrijf een script om de interface te konfigureren, dat gebruikt wordt om de ISDN connectie te maken. Zoals altijd in Linux is er niet echt een éénduidige manier om dat te doen. Gebruik eventueel dit script /etc/rc.d/rc.isdn:
#!/bin/sh MSNREMOTE='555-1212' # Phone number of ISP MSNLOCAL='555-1313' # my number, without 0, with areacode ACCOUNT='george' # The account for logon (as 'George Burns') IPLOCAL=10.0.0.2 # my fixed IP number (use 10.0.0.2 if no fixed) IPREMOTE=0.0.0.0 # IP number of ISP INTERFACE=ippp0 /sbin/modprobe hisax type=11 protocol=2 /sbin/isdnctrl verbose 3 system on /sbin/isdnctrl addif $IF /sbin/isdnctrl secure $IF on /sbin/isdnctrl addphone $IF out $MSNREMOTE /sbin/isdnctrl eaz $IF $MSNLOCAL /sbin/isdnctrl huptimeout $IF 300 /sbin/isdnctrl l2_prot $IF hdlc /sbin/isdnctrl l3_prot $IF trans /sbin/isdnctrl encap $IF syncppp # /sbin/isdnctrl dialmode $IF auto /sbin/ifconfig $IF $IPLOCAL pointopoint $IPREMOTE -arp -broadcast /sbin/ipppd /dev/ippp0 user $ACCOUNT $IPLOCAL:$IPREMOTE
Om ISDN te starten tijdens het booten, maak het vorige script 'executable' en zet het volgende in /etc/rc.d/rc.local:
if [ -x /etc/rc.d/rc.isdn ]; then . /etc/rc.d/rc.isdn fi
Het ipppd commando haalt zijn parameters ui de file /etc/ppp/ioptions:
-ac -bsdcomp debug defaultroute ipcp-accept-local ipcp-accept-remote mru 1524 mtu 1500 noipdefault -pc useifip -vj -vjccomp #idle 360 #persistent
Opgelet: zet +pap of +chap NIET in deze file. Dit specifieert het authentication-protocol dat ipppd zou gebruiken bij een INKOMENDE client. Moest je dat toch doen, wacht ipppd op de ISP voor authenticatie met dat protocol.
Opgelet: het is belangrijk om te benadrukken dat ieder 'speciaal' karakter, dus ieder karakter dat niet behoort tot [a-zA-Z0-9] en '_', best voorafgegaan wordt door een '\' om de speciale betekenis die het kan hebben te ontkrachten. Dus 'e!b$l+' wordt dan 'e\!b\$l\+'. Als je problemen hebt om in te loggen, kijk je dit dus best na.
Tenslotte, maak /etc/ppp/ip-down.local zodat dit zorgt voor het afsluiten van de interface:
#!/bin/sh /sbin/ifconfig $1 down sleep 1 /sbin/ifconfig $1 10.0.0.2 pointopoint
Note: dit lost sommige problemen op met routes na afsluiten. Is er iemand met een mooiere oplossing ?
Als je ISP PAP of CHAP gebruikt, maak dan een file /etc/ppp/pap-secrets or /etc/ppp/chap-secrets. Het formaat is:
#client server secret IP your_login * your_pass *
Dit heeft niet echt iets te maken met ISDN, maar sommige mensen vergeten deze stap.Om DNS te konfigureren, maak je de volgende file /etc/resolv.conf:
domain domain_of_your_isp nameserver your_primary_nameserver nameserver your_secondary_nameserver
Als laatste stap kan je een klein scriptje schrijven om ISDN te starten en te stoppen. Zet bijvoorbeeld dit in /usr/local/bin/isdn:
#!/bin/bash case $1 in on|start) /sbin/isdnctrl dial ippp0 ;; off|stop) /sbin/isdnctrl hangup ippp0 ;; info|status) /sbin/isdnctrl list ippp0 ;; *) echo "Usage: isdn on|off|info|start|stop|status" ;; esac
Als /usr/local/bin in je PATH
staat, kan je dan simpelweg
starten met:
isdn onen stoppen met:
isdn off
DHCP is bedoeld om netwerk-konfiguratie eenvoudig te maken. meer informatie over hoe je dhcp opzet kan je vinden in de DHCP mini HOWTO http://www.oswg.org/oswg-nightly/DHCP.html en een lijst met veel gestelde vragen uit het bekende dokument van John Wobus: http://www.dhcp-handbook.com/dhcp_faq.html op http://www.dhcp.org/, hierin staat alles wat je nodig hebt. Er is ook wat informatie te vinden op: http://www.oswg.org/oswg-nightly/Cable-Modem.html.
Veel mensen willen meer dan een computer achter een kabelmodem hangen, geen probleem. Lees daarvoor de IP-Masquerade-HOWTO ( http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html) en zorg ervoor dat de interface (die met de kabelmodem 'spreekt') het juiste MAC-adres heeft !!! Je kabelmodem kan je ook resetten (even afzetten) als je problemen hebt. In veel gevallen biedt dat soelaas.
nog geen officiële support
http://pac.pandora.be:8080
export http_proxy="http://proxy.pandora.be:8080/"
nog geen officiële support
nog geen officiële support
http://foobar.starlab.net/~soggie/turboline/ en http://minf.vub.ac.be/~fquestie/turbo/