WaarschuwingDeze sectie geldt en is alleen geldig voor FreeBSD 7.X.
Voordat u begint met het opzetten van PPP op uw machine, zorg ervoor dat het pppd commando zich bevindt in de map /usr/sbin en dat de map /etc/ppp bestaat.
pppd kan in twee verschillende modes werken:
Als een “cliënt” — u wilt uw machine verbinden met de buitenwereld via een seriële PPP-verbinding of een modemlijn.
Als een “server” — uw machine bevind zich in het netwerk en wordt gebruikt om andere computers te verbinden door middel van PPP.
In beide gevallen moet u een bestand met opties instellen (/etc/ppp/options of ~/.ppprc als er meer dan één gebruiker is op uw machine die gebruik maakt van PPP).
U heeft ook enige modem/seriële software nodig (comms/kermit wordt aanbevolen), zodat u de andere kant kunt bellen en een verbinding kunt opzetten.
De volgende /etc/ppp/options kan gebruikt worden om met een Cisco terminal server PPP lijn verbinding te maken.
crtscts # Schakel hardware flow controle in modem # modem controle lijn noipdefault # De PPP server aan de andere kant moet uw IP adres # opgeven, als de machine aan de andere kant uw IP # adres niet meegeeft tijdens de IPCP onderhandeling # moet deze optie worden verwijderd passive # Wacht op LCP pakketten domain ppp.foo.com # Vul uw domein naam hier in :remote_ip # Vul het IP adres van de PPP # server in deze wordt gebruikt om pakketten te # routeren via de PPP link. Als u de noipdefault optie # niet heeft aangegeven verander dan deze regel in # local_ip:remote_ip defaultroute # Vul dit in als u wilt dat de PPP server de standaard # router wordt
Om verbinding te maken:
Bel naar de machine aan de andere kant door middel van Kermit (of een ander modem programma), en vul uw gebruikersnaam en wachtwoord in (of wat er ook nodig is om de verbinding op te brengen met de machine aan de andere kant).
Stop Kermit (zonder de lijn op te hangen).
Type het volgende:
# /usr/sbin/pppd /dev/tty01 19200
Wees er zeker van dat de juiste snelheid en het juiste apparaat wordt aangesproken.
Uw computer is nu verbonden met PPP. Als de connectie faalt, kan de debug
optie worden meegegeven in het /etc/ppp/options bestand waarna op de console berichten kunnen
worden geraadpleegd om het probleem te achterhalen.
Het volgende /etc/ppp/pppup script zal alle drie de stappen automatisch doen:
#!/bin/sh pgrep -l pppd pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.dial pppd /dev/tty01 19200
/etc/ppp/kermit.dial is een Kermit script dat belt en alle benodigde authorisaties doet op de machine aan de andere kant (een voorbeeld van zo'n script is bijgevoegd aan het einde van dit document).
Gebruik het volgende /etc/ppp/pppdown script om de PPP lijn af te breken:
#!/bin/sh pid=`pgrep pppd` if [ X${pid} != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill -TERM ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi /sbin/ifconfig ppp0 down /sbin/ifconfig ppp0 delete kermit -y /etc/ppp/kermit.hup /etc/ppp/ppptest
Controleer of pppd nog steeds draait door het uitvoeren van /usr/etc/ppp/ppptest, welke er als volgend uitziet:
#!/bin/sh pid=`pgrep pppd` if [ X${pid} != "X" ] ; then echo 'pppd running: PID=' ${pid-NONE} else echo 'No pppd running.' fi set -x netstat -n -I ppp0 ifconfig ppp0
Om het modem op te hangen, voer het /etc/ppp/kermit.hup script uit welke het volgende bevat:
set line /dev/tty01 ; vul hier uw modem in set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 echo \13 exit
Hier is een alternatieve methode welke gebruik maakt van chat in plaats van kermit:
De volgende twee regels zijn voldoende om een pppd verbinding op te zetten.
/etc/ppp/options:
/dev/cuad1 115200 crtscts # Schakel hardware flow controle in modem # modem controle lijn connect "/usr/bin/chat -f /etc/ppp/login.chat.script" noipdefault # De PPP server aan de andere kant moet uw IP adres # opgeven, als de machine aan de andere kant uw IP # adres niet meegeeft tijdens de IPCP onderhandeling # moet deze optie worden verwijderd passive # Wacht op LCP pakketten domain your.domain # Vul uw domein naam hier in :remote_ip # Vul het IP adres van de PPP # server in deze wordt gebruikt om pakketten te # routeren via de PPP link. Als u de noipdefault optie # niet heeft aangegeven verander dan deze regel in # local_ip:remote_ip defaultroute # Vul dit in als u wilt dat de PPP server de standaard # router wordt
/etc/ppp/login.chat.script:
Opmerking: Het volgende moet op één regel.
ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTtelefoon.nummer CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id TIMEOUT 5 sword: password
Zodra deze zijn geïnstalleerd en correct aangepast is het enige dat gedaan moet worden, het starten van pppd zoals volgt:
# pppd
/etc/ppp/options moet ongeveer het volgende bevatten:
crtscts # Hardware flow controle netmask 255.255.255.0 # netmask (niet vereist) 192.114.208.20:192.114.208.165 # IP's van lokale en niet lokale hosten # het lokale ip moet anders zijn dan # degeen die is toegewezen aan de # Ethernet (of andere) interface op uw # machine. remote IP is het IP adres # dat wordt toegewezen aan de machine # aan de andere kant domain ppp.foo.com # uw domein passive # Wacht op LCP modem # modem lijn
Het volgende /etc/ppp/pppserv script zal pppd vertellen zich te gedragen als server:
#!/bin/sh pgrep -l pppd pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi # reset ppp interface ifconfig ppp0 down ifconfig ppp0 delete # enable autoanswer mode kermit -y /etc/ppp/kermit.ans # run ppp pppd /dev/tty01 19200
Gebruik dit /etc/ppp/pppservdown script om de server te stoppen:
#!/bin/sh pgrep -l pppd pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi pgrep -l kermit pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans
Het volgende Kermit script (/etc/ppp/kermit.ans) zal het automatisch beantwoorden van uw modem in of uitschakelen. Het moet eruit zien als volgend:
set line /dev/tty01 set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 inp 5 OK echo \13 out ATS0=1\13 ; Verander dit in out ATS0=0\13 als u automatisch ; beantwoorden wilt uitschakelen inp 5 OK echo \13 exit
Een script genaamd /etc/ppp/kermit.dial wordt gebruikt voor het bellen en authenticeren van de machine aan de andere kant. U moet deze aanpassen aan uw wensen. Vul in dit script uw inlognaam en wachtwoord in, u moet ook het input statement aanpassen afhankelijk hoe uw modem antwoordt en de communicatie van de machine aan de andere kant.
; ; Vul de seriële lijn in welke verbonden is met het modem ; set line /dev/tty01 ; ; Stel het modem snelheid in: ; set speed 19200 set file type binary ; volledige 8 bit bestands xfer set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none set modem hayes set dial hangup off set carrier auto ; Daarna stel SET CARRIER in indien nodig set dial display on ; Stel daarna SET DIAL in indien nodig set input echo on set input timeout proceed set input case ignore def \%x 0 ; login prompt teller goto slhup :slcmd ; stel het modem in op commandomodus echo Stel het modem in op commandomodus. clear ; Verwijder ongelezen karakters uit de input buffer pause 1 output +++ ; hayes escape sequence input 1 OK\13\10 ; wacht op OK if success goto slhup output \13 pause 1 output at\13 input 1 OK\13\10 if fail goto slcmd ; Als het modem niet antwoordt met OK, probeer het opnieuw :slhup ; hang de telefoon op clear ; Verwijder ongelezen karakters uit de input buffer pause 1 echo De telefoon wordt opgehangen. output ath0\13 ; hayes command voo on hook input 2 OK\13\10 if fail goto slcmd ; Als er geen OK antwoord is, stel het modem in op commandomodus :sldial ; Draai het nummer pause 1 echo Bellen. output atdt9,550311\13\10 ; put phone number here assign \%x 0 ; zero the time counter :look clear ; Verwijder ongelezen karakters uit de input buffer increment \%x ; Tel de seconden input 1 {CONNECT } if success goto sllogin reinput 1 {NO CARRIER\13\10} if success goto sldial reinput 1 {NO DIALTONE\13\10} if success goto slnodial reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 60 goto look else goto slhup :sllogin ; login assign \%x 0 ; Stel de tijd teller in op nul pause 1 echo Zoeken naar de login prompt :slloop increment \%x ; Tel de seconden clear ; Verwijder ongelezen karakters uit de input buffer output \13 ; ; Stel hier de verwachte login prompt in: ; input 1 {Username: } if success goto sluid reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 10 goto slloop ; Probeer 10 x om een login prompt te krijgen else goto slhup ; Hang op en probeer het nogmaals als er 10 mislukte pogingen zijn :sluid ; ; Vul hier uw gebruikersnaam in: ; output ppp-login\13 input 1 {Password: } ; ; Vul hier uw wachtwoord in: ; output ppp-password\13 input 1 {Entering SLIP mode.} echo quit :slnodial echo \7Er is geen kiestoon, controleer de telefoon lijn!\7 exit 1 ; local variables: ; mode: csh ; comment-start: "; " ; comment-start-skip: "; " ; end: