28.2. Gebruikmaken van gebruiker-PPP

Bijgewerkt en uitgebreid door Tom Rhodes. Origineel bijgedragen door Brian Somers. Met input van Nik Clayton, Dirk Frömberg, en Peter Childs.

WaarschuwingMet ingang van FreeBSD 8.0 zijn apparaatknooppunten voor seriële poorten hernoemd van /dev/cuadN naar /dev/cuauN en van /dev/ttydN naar /dev/ttyuN. Gebruikers van FreeBSD 7.X dienen de volgende documentatie met deze wijzigingen te lezen.

28.2.1. Gebruiker-PPP

28.2.1.1. Vereisten

Dit document gaat er vanuit dat u de volgende punten beschikbaar heeft:

  • Een account bij een Internet Service Provider (ISP) waarmee verbinding gemaakt wordt door middel van PPP.

  • Een modem of een ander apparaat verbonden met uw PC en correct geconfigureerd zodat u verbinding kan maken met uw ISP.

  • De inbelnummers van uw ISP.

  • Uw loginnaam en wachtwoord (danwel een combinatie van een standaard UNIX®-stijl login en wachtwoord of een PAP of CHAP login en wachtwoordcombinatie).

  • Het IP-adres van één of meerdere naamservers. Normaal gesproken krijgt u twee IP adressen van uw ISP om te gebruiken. Als u er echter geen één gekregen heeft, kunt u het commando enable dns gebruiken in ppp.conf en ppp zal de naamservers voor u configureren. Deze optie is afhankelijk van de PPP implementatie van de ISP, welke DNS onderhandeling moet ondersteunen.

De volgende informatie kan aangeleverd worden door uw ISP maar is niet echt noodzakelijk:

  • Het IP-adres van de router van uw ISP. De router is de machine waarmee u verbinding maakt en welke ingesteld wordt als de standaard route. Als u deze informatie niet heeft, kunt u een willekeurig adres verzinnen waarna de PPP server van de ISP het juiste adres vertelt zodra u verbinding maakt.

    Dit IP-adres wordt door ppp HISADDR genoemd.

  • Het netwerkmasker wat gebruikt moet worden. Als uw ISP deze niet heeft opgegeven, kan 255.255.255.255 gebruikt worden.

  • Als uw ISP u een vast IP-adres en hostnaam levert, kunt u deze invoeren. In andere gevallen bepaalt de andere kant welk adres er uitgegeven wordt.

Als u niet in bezit bent van de vereiste informatie, moet u contact opnemen met uw ISP.

Opmerking: Door de rest van dit hoofdstuk worden in veel van de voorbeelden configuratie bestanden genummerd per regel. Deze nummers dienen alleen als hulp voor de presentatie en discussie en zijn verder niet bedoeld om daadwerkelijk geïmplementeerd te worden. Een juiste inspringing met tabs en spaties zijn daarbij ook belangrijk.

28.2.1.2. Automatische configuratie van PPP

Zowel ppp als pppd (de implementatie van PPP op kernel niveau) gebruiken de configuratie bestanden die zich in de map /etc/ppp bevinden. Voorbeelden configuraties voor gebruiker-PPP kunnen gevonden worden in /usr/share/examples/ppp/.

Het configureren van ppp vereist dat u een aantal bestanden bewerkt, afhankelijk van uw eisen. Wat u moet invoeren is deels afhankelijk van wat uw ISP u aanbied met oog op statische IP-adressen (lees u krijgt een statisch adres welke u altijd gebruikt) of dynamisch (lees: uw IP-adres veranderd elke keer als u verbinding maakt met uw ISP).

28.2.1.2.1. PPP en statische IP-adressen

U moet het /etc/ppp/ppp.conf bewerken. Het zou dan als volgend eruit moeten zien:

Opmerking: Regels die eindigen met een : starten in de eerste kolom (het begin van de regel) — alle andere regels moeten inspringen zoals getoond door middel van spaties of tabs.

1     default:
2       set log Phase Chat LCP IPCP CCP tun command
3       ident user-ppp VERSION (built COMPILATIONDATE)
4       set device /dev/cuau0
5       set speed 115200
6       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7                 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8       set timeout 180
9       enable dns
10
11    provider:
12      set phone "(123) 456 7890"
13      set authname foo
14      set authkey bar
15      set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16      set timeout 300
17      set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0
18      add default HISADDR
Regel 1:

Deze regel identificeert de standaard regel. Commando's in deze regel worden automatisch gestart zodra ppp gestart wordt.

Regel 2:

Zet de log paramaters aan. Zodra de configuratie naar verwachting werkt, moet deze regel aangepast worden naar:

set log phase tun

om te voorkomen dat er extreem grote log files gemaakt worden.

Regel 3:

Vertelt PPP hoe het zich moet identificeren aan de router aan de andere kant, als deze problemen heeft met het onderhandelen en het opzetten van de link en het leveren van informatie die de beheerders van de andere kant nuttig kunnen vinden om zulke problemen te onderzoeken.

Regel 4:

Identificeert het apparaat waarmee het modem verbonden is. COM1 is /dev/cuau0 en COM2 is /dev/cuau1.

Regel 5:

Stelt de snelheid in waarmee verbinding gemaakt wordt. Als 115200 niet werkt (wat wel zou moeten kunnen met elk nieuw modem), probeert u dan de instelling van 38400.

Regels 6 & 7:

De inbelregel. Gebruiker-PPP gebruikt een “expect-send” syntax wat vergelijkbaar is met het chat(8) programma. Bekijk de handleiding voor meer informatie over de mogelijkheden van deze taal.

Let op dat dit commando doorgaat op de volgende regel zodat deze leesbaar blijft. Elk commando in ppp.conf kan dit doen als het laatste karakter op een regel, het \ karakter is.

Regel 8:

Stelt de idle timeout in voor een link. 180 seconden is standaard, dus deze regel is puur cosmetisch.

Regel 9:

Vertelt PPP om de andere kant te vragen om een bevestiging van de lokale naamserver instellingen. Als u een lokale naamserver draait moet deze regel uitgecommentarieërd of verwijderd worden.

Regel 10:

Een blanco regel voor de leesbaarheid. Blanco regels worden door PPP genegeerd.

Regel 11:

Identificeert een sectie voor de provider die “provider” genoemd wordt. Dit kan gewijzigd worden in de naam van uw provider zodat er later gebruik gemaakt van worden bij de optie load provider om een verbinding op te zetten.

Regel 12:

Stelt het telefoonnummer in voor deze provider. Meerdere telefoonnummers kunnen gespecificeerd worden door gebruik te maken van de dubbele punt (:) of het pipe karakter (|) als scheidingsteken. Het verschil tussen de twee scheidingstekens wordt beschreven in de ppp(8) handleiding. Om samen te vatten, als u wilt rouleren tussen de nummers gebruikt u dan een dubbelepunt. Als u altijd het eerste nummer als eerste wilt draaien en alleen de andere nummers wilt draaien als het eerste nummer niet werkt, gebruik dan het pipe karakter. Quote altijd de hele set van telefoonnummers zoals getoond.

U moet het telefoonnummer citeren met dubbele quotes (") als er enige intentie is in het gebruik van spaties in het telefoonummer. Dit kan een simpele, maar subtiele fout creeëren.

Regels 13 & 14:

Identificeert de gebruikersnaam en het wachtwoord. Wanneer gebruik gemaakt wordt van een UNIX stijl login worden deze waarden verwezen door het set login commando door gebruik te maken van de \U en \P variabelen. Wanneer er verbinding gemaakt wordt door PPP en CHAP worden deze waardes gebruikt tijdens het authenticeren.

Regels 15:

Als u gebruik maakt van PPP en CHAP, zal er geen login op dit moment zijn, en moet deze regel uitgecommentarieërd of verwijderd worden. Zie het PAP en CHAP authenticatie hoofdstuk voor meer details.

De login regel is hetzelfde als de chat-achtige syntax van de inbelregel. In dit voorbeeld werkt de reegl voor een dienst wiens login sessie als volgt eruit ziet:

J. Random Provider
login: foo
password: bar
protocol: ppp

U moet dit script aanpassen om aan uw behoeften te voldoen. Wanneer u dit script voor het eerst schrijft, moet u ervoor zorgen dat u de “chat” log optie heeft aangezet zodat u kunt bepalen of de communicatie gaat zoals verwacht.

Regel 16:

Selt de standaard idle timeout in (in seconden) voor de connectie. Hier wordt de connectie automatisch afgesloten na 300 seconden van inactiviteit. Als u nooit een timeout wilt krijgen, kunt u de waarde op nul zetten of gebruik maken van de optie -ddial op de commando regel.

Regel 17:

Stelt het interface adres in. De regel x.x.x.x moet vervangen worden door het IP-adres dat uw provider aan u heeft uitgegeven. De regel y.y.y.y moet vervangen worden door het IP-adres dat uw provider aan u heeft gegeven voor de router (de machine waarmee u verbinding maakt). Als uw ISP u geen router adres heeft gegeven, gebruik dan 10.0.0.2/0. Als u gebruik moet maken van een “gegokt”, zorg ervoor dat er een regel staat in /etc/ppp/ppp.linkup zoals beschreven in de instructies voor PPP en dynamische IP adressen. Als deze regel weggelaten wordt kan ppp niet in -auto mode starten.

Regel 18:

Voegt een standaard routering toe naar uw providers router. Het speciale HISADDR woord, wordt vervangen door het router adres zoals gespecificeerd op regel 17. Het is belangrijk dat deze regel na regel 17 komt, anders is HISADDR nog niet geïnitialiseerd.

Als u ppp niet in -auto mode wilt draaien, moet deze regel verplaatst worden naar het ppp.linkup bestand.

Het is niet nodig om een regel toe te voegen aan ppp.linkup wanneer u een statisch IP-adres krijgt en ppp met de -auto mode gestart is omdat uw routerings tabel al correcte regels heeft voordat u verbinding maakt. U kunt echter een regel aanmaken om programma's te starten nadat de verbinding opgezet is. Dit wordt later uitgelegd met een voorbeeld over sendmail.

Voorbeeld van configuratiebestanden kunnen gevonden worden in de map usr/share/examples/ppp.

28.2.1.2.2. PPP en dynamische IP-adressen

Als uw provider geen statisch IP-adres aanlevert kan ppp geconfigureerd worden om het lokale en het remote adres te onderhandelen. Dit wordt gedaan door het “gokken” van een IP-adres en PPP toestaan dit adres te corrigeren door gebruik te maken van het IP Configuration Protocol (IPCP) nadat er een verbinding opgezet is. De ppp.conf configuratie is verders hetzelfde als voor de PPP en statische IP adressen, met de volgende wijziging:

17      set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0

Nogmaals, het regelnummer hoeft niet te worden toegevoegd, deze dient puur ter referentie. Indentatie van minstens één spatie is vereist.

Regel 17:

Het nummer achter het / karakter is het aantal netwerk master bits van het adres die ppp eist. Het is mogelijk dat u IP-adressen wilt gebruiken die meer van toepassing zijn op uw situatie, maar bovenstaand voorbeeld zal altijd werken.

Het laatste argument (0.0.0.0) vertelt PPP om te onderhandelen met het adres 0.0.0.0 in plaats van met 10.0.0.1 en is benodigd voor sommige ISPs. Gebruik 0.0.0.0 niet als eerste argument voor het commando set ifaddr, omdat dit ervoor zorgt dat PPP geen initiële route kan opzetten in -auto mode.

Als u niet draait in -auto mode, moet u een nieuwe regel toevoegen aan /etc/ppp/ppp.linkup. ppp.linkup wordt uitgevoerd nadat een connectie is opgezet. Op dit moment krijgt ppp het interface adres en is het mogelijk om regels toe te voegen aan de route tabel:

1     provider:
2      add default HISADDR
Regel 1:

Bij het tot stand brengen van een verbinding zal ppp kijken voor een corresponderende regel in ppp.linkup volgens de volgende criteria: Als eerste, probeert het hetzelfde label te vinden zoals gebruikt in ppp.conf. Als dat mislukt, zoek dan een regel waarin het IP-adres van onze router in voorkomt. Deze regel bevat een IP stijl van 4 octetten. Als nu nog steeds geen corresponderende regel gevonden is wordt er gezocht naar de HISADDR regel.

Regel 2:

Deze regel verteld ppp om een standaard routering toe te voegen die wijst richting HISADDR. HISADDR wordt vervangen door het IP-adres van de router zoals onderhandeld door IPCP.

Zie de pmdemand regel in de bestanden /usr/share/examples/ppp/ppp.conf.sample en /usr/share/examples/ppp/ppp.linkup.sample voor een gedetailleerd voorbeeld.

28.2.1.2.3. Het ontvangen van binnenkomende gesprekken

Wanneer ppp geconfigureerd is om inkomende gesprekken te ontvangen op een machine die verbonden is met een LAN, moet u beslissen of er pakketten worden doorgestuurd naar het LAN. Als u dat doet, moet u de andere kant een IP-adres geven uit het subnet van uw LAN, en zult u gebruik moeten maken van het command enable proxy in het /etc/ppp/ppp.conf bestand. U zult ook moeten controleren of het /etc/rc.conf bestand het volgende bevat:

gateway_enable="YES"

28.2.1.2.4. Welke getty?

Het configureren van FreeBSD voor inbel diensten levert een goede beschrijving van het inschakelen van inbeldiensten door gebruik te maken van getty(8).

Een alternatief voor getty is mgetty (van de port comms/mgetty+sendfax), een betere versie van getty ontworpen voor onder andere inbellijnen.

De voordelen van het gebruik van mgetty is dat het actief communiceert met modems, wat betekent dat als de port uitgeschakeld is in /etc/ttys, het modem de telefoon niet zal beantwoorden.

Latere versies van mgetty (vanaf 0.99beta en later) ondersteunen ook het automatisch detecteren van PPP stromen waardoor cliënten zonder extra scripting toegang kunnen krijgen tot uw server.

Raadpleeg naar Mgetty en AutoPPP voor meer informatie over mgetty.

28.2.1.2.5. PPP Permissies

Het ppp commando moet normaal gesproken gestart worden door de root gebruiker. Als u echter wilt toestaan dat ppp in server mode gestart wordt door een normale gebruiker door het uitvoeren van ppp, zoals beschreven hieronder, moet deze gebruiker permissie krijgen om ppp te starten. Dit kan gedaam worden door de gebruiker toe te voegen aan de network groep van het /etc/group bestand.

U moet de gebruiker ook toegang geven tot één of meerdere secties van het configuratie bestand door gebruik te maken van het allow commando:

allow users fred mary

Als dit commando wordt gebruikt in de default sectie, geeft ppp alle opgegeevn gebruikers toegang tot alle opties.

28.2.1.2.6. PPP shells voor dynamische IP-gebruikers

Creeër een bestand genaamd /etc/ppp/ppp-shell welke de volgende gegevens bevat:

#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`

if [ x$IDENT = xdialup ]; then
        IDENT=`basename $TTY`
fi

echo "PPP voor $CALLEDAS op $TTY"
echo "Starten van PPP voor $IDENT"

exec /usr/sbin/ppp -direct $IDENT

Dit script moet uitvoerbaar zijn. Ook moet er een symbolische link gemaakt worden naar dit script met de naam ppp-dialup door gebruik te maken van de volgende commando's:

# ln -s ppp-shell /etc/ppp/ppp-dialup

U moet dit script gebruiken als de shell voor al uw inbel gebruikers. Dit is een voorbeeld uit /etc/passwd voor een PPP inbelgebruiker met de gebruikersnaam pchilds (Let op, u mag niet direct het wachtwoord bestand bewerken, gebruik daarom het programma vipw(8)).

pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup

Creeër vervolgens een map /home/ppp die door iedereen gelezen en beschreven kan worden en zet daar de volgende 0 byte grote bestanden in:

-r--r--r--   1 root     wheel           0 May 27 02:23 .hushlogin
-r--r--r--   1 root     wheel           0 May 27 02:22 .rhosts

welke voorkomen dat /etc/motd getoond wordt.

28.2.1.2.7. PPP shells voor statische IP-gebruikers

Creeër het ppp-shell bestand zoals hierboven, en voor elk account met een statisch toegewezen IP-adres creeërt u een symbolische link naar ppp-shell.

Als u bijvoorbeeld drie inbel gebruikers hebt genaamd fred, sam en mary waar u een /24 CIDR netwerk voor routeert, moet u het volgende typen:

# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary

Elk van deze inbelgebruikers moet de shell ingesteld hebben op de symbolische link die hierboven is gecreeërd (bijvoorbeeld mary's shell moet zijn /etc/ppp/ppp-mary).

28.2.1.2.8. Het instellen van ppp.conf voor dynamische IP-gebruikers

Het /etc/ppp/ppp.conf bestand moet iets zoals hieronder bevatten:

default:
  set debug phase lcp chat
  set timeout 0

ttyu0:
  set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
  enable proxy

ttyu1:
  set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
  enable proxy

Opmerking: Het inspringen is belangrijk.

De default: sectie wordt altijd geladen. Voor elke inbellijn die ingeschakeld is in /etc/ttys moet een soortgelijke regel worden gemaakt als die voor ttyu0: hierboven. Elke regel moet een uniek IP-adres krijgen van uw pool van IP-adressen voor dynamische gebruikers.

28.2.1.2.9. Het instellen van ppp.conf voor statische IP-gebruikers.

Samen met de inhoud van het voorbeeld /usr/share/examples/ppp/ppp.conf bestand hierboven moet een sectie aangemaakt worden voor elke van de statisch ingestelde inbelgebruikers. We gaan door met ons fred, sam en mary voorbeeld.

fred:
  set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255

sam:
  set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255

mary:
  set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255

Het /etc/ppp/ppp.linkup bestand moet ook informatie over routeringen bevatten voor elke statische IP-gebruiker waar nodig. De regel hieronder voegt een routering toe voor het 203.14.201.0/24 netwerk via de ppp link van de gebruiker.

fred:
  add 203.14.101.0 netmask 255.255.255.0 HISADDR

sam:
  add 203.14.102.0 netmask 255.255.255.0 HISADDR

mary:
  add 203.14.103.0 netmask 255.255.255.0 HISADDR

28.2.1.2.10. mgetty en AutoPPP

Standaard staat de optie AUTO_PPP in de port comms/mgetty+sendfax welke mgetty in staat stelt om de LCP fase van PPP connecties te detecteren en aan de hand daarvan automatisch een ppp shell te creeëren. Echter, de standaard login procedure vindt in deze mode niet plaats, waardoor het nodig is om de gebruikers te authenticeren door middel van PAP of CHAP.

De volgende sectie gaat er vanuit dat u succesvol de port comms/mgetty+sendfax op uw systeem heeft gecompileerd en geïnstalleerd.

Zorg ervoor dat uw /usr/local/etc/mgetty+sendfax/login.config bestand de volgende inhoud heeft:

/AutoPPP/ -     -		      /etc/ppp/ppp-pap-dialup

Dit verteld mgetty om het ppp-pap-dialup script te starten wanneer er een PPP connectie gedetecteerd wordt.

Creeër een bestand genaamd /etc/ppp/ppp-pap-dialup met de volgende inhoud (het bestand moet uitvoerbaar zijn):

#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT

Voor elke inbelregel die ingeschakeld is in /etc/ttys, creeër een corresponderende regel in /etc/ppp/ppp.conf. Dit gaat goed samen met de definities die hierboven gedaan zijn.

pap:
  enable pap
  set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
  enable proxy

Elke gebruiker die op deze manier inlogt moet een gebruikersnaam en wachtwoord hebben in het /etc/ppp/ppp.secret bestand of de volgende optie moet worden toegevoegd om gebruikers te authenticeren via PAP vanuit het /etc/passwd bestand.

enable passwdauth

Als u een aantal gebruikers een statisch IP-adres wilt geven, kan dat gespecificeerd worden als het derde argument in /etc/ppp/ppp.secret. Zie /usr/share/examples/ppp/ppp.secret.sample voor een voorbeeld.

28.2.1.2.11. Microsoft® Extensies

Het is mogelijk om PPP dusdanig te configuren dat deze DNS en NetBIOS naamserver adressen meegeeft.

Om deze extensies in te schakelen met PPP versie 1.x kunnen de volgende regels toegevoegd worden aan de relevante sectie in /etc/ppp/ppp.conf:

enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5

en voor PPP versie 2 en hoger:

accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5

Dit verteld de cliënt het primaire en secundaire naamserver adres, en geeft een NetBIOS naamserver adres.

In versie 2 en hoger zal PPP gebruik maken van de instellingen in /etc/resolv.conf als de regel set dns niet wordt gevonden.

28.2.1.2.12. PAP en CHAP authenticatie

Sommige providers stellen hun systemen dusdanig in dat het authenticatie gedeelte van uw verbinding wordt afgehandeld door het PAP of CHAP authenticatie mechanisme. Als dit het geval is zal uw provider u niet voorzien van een login: prompt wanneer u verbinding maakt maar zal deze meteen gaan communiceren over het PPP protocol.

PAP is minder veilig dan CHAP, maar beveiliging is meestal geen probleem omdat wachtwoorden, ook al worden deze in platte tekst verstuurd met PAP, alleen worden verstuurd via een seriële lijn. Hier is maar weinig ruimte voor crackers om stiekem mee te luisteren.

Terug verwijzende naar de PPP en statische IP-adressen of PPP en dynamische IP-adressen secties moeten de volgende aanpassingen gedaan worden:

13      set authname Mijngebruikersnaam
14      set authkey Mijnwachtwoord
15      set login
Regel 13:

Deze regel geeft uw PPP/CHAP gebruikersnaam aan. U moet de juiste waardes invullen voor Mijngebruikersnaam.

Regel 14:

Deze regel geeft uw PPP/CHAP wachtwoord aan. U moet de juiste waarde invullen voor Mijnwachtwoord. Misschien wilt u een extra regel toevoegen als:

16      accept PAP

of

16      accept CHAP

om duidelijk te maken op welke manier u wilt authenticeren, standaard worden zowel PAP als CHAP geaccepteerd.

Regel 15:

Uw ISP zal normaal gesprokken niet eisen dat u op de server aanlogt als u gebruik maakt van PAP of CHAP. Daarom moet u de “set login” regel uitschakelen.

28.2.1.2.13. Het aanpassen van uw ppp configuratie terwijl deze in gebruik is

Het is mogelijk om tegen met het ppp programma te communiceren terwijl deze in gebruik is op de achtergrond, maar dat kan alleen als er een geschikte diagnostische poort ingesteld is. Om dit te kunnen doen moet de volgende regel worden toegevoegd aan de configuratie:

set server /var/run/ppp-tun%d DiagnosticPassword 0177

Dit vertelt PPP om te luisteren naar het gespecificeerde UNIX domein socket, waarbij de cliënten gevraagd worden om het opgegeven wachtwoord voordat toegang verleend kan worden. Het %d in de naam wordt vervangen door het tun apparaat dat gebruikt wordt voor de verbinding.

Zodra een socket ingesteld is kan het pppctl(8) programma gebruikt worden in scripts die het draaiende programma willen bewerken.

28.2.1.3. De vertaalmogelijkheden van PPP voor netwerkadressen gebruiken

PPP heeft de mogelijkheid om interne NAT te gebruiken zonder dat de kernel hiervoor iets hoeft te doen. Deze functionaliteit kan worden ingeschakeld door de volgende regel in /etc/ppp/ppp.conf:

nat enable yes

Ook kan PPP NAT ingeschakeld worden door de optie -nat. Er is ook een /etc/rc.conf optie genaamd ppp_nat welke standaard ingeschakeld is.

Als u gebruik wilt maken van deze optie, kunt u de volgende /etc/ppp/ppp.conf opties ook nuttig vinden om binnenkomende connecties door te sturen:

nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http http

of als u niets vertrouwd vanaf buitenaf:

nat deny_incoming yes

28.2.1.4. Laatste systeemconfiguratie

U heeft nu ppp geconfigurerd, maar er moeten nog een aantal dingen gedaan worden voordat deze klaar is om te kunnen werken. Hiervoor moeten een aantal aanpassingen gedaan worden in het bestand /etc/rc.conf.

Van boven naar beneden kijkende zorgen we er als eerste voor dat de hostname= regel ingesteld is met bijvoorbeeld:

hostname="foo.example.com"

Als uw provider u een statisch adres en een naam heeft gegeven is het waarschijnlijk handig dat u deze naam gebruikt als uw hostnaam.

Zoek naar de network_interfaces variabele. Als u uw systeem wilt configuren om in te bellen bij uw provider wanneer nodig, zorg er dan voor dat het tun0 apparaat is toegevoegd aan deze lijst. Haal deze anders weg.

network_interfaces="lo0 tun0"
ifconfig_tun0=

Opmerking: De ifconfig_tun0 variabele moet leeg zijn, en een bestand genaamd /etc/start_if.tun0 moet aangemaakt worden met de volgende inhoud:

ppp -auto mysystem

Dit script wordt uitgevoerd tijdens de netwerk configuratie, waarbij uw ppp daemon wordt gestart in automatische mode. Als u een LAN heeft waarvoor deze machine een router is wilt u wellicht ook de -alias meegeven. Bekijk de handleiding voor verdere details.

Zorg ervoor dat het router programma is ingesteld op NO door middel van de volgende regel in uw /etc/rc.conf bestand:

router_enable="NO"

Het is belangrijk dat de routed daemon niet gestart wordt, omdat routed de neiging heeft om de standaard routeringtabel regels die gemaakt worden door ppp te verwijderen.

Het is waarschijnlijk een goed idee om te zorgen dat de sendmail_flags regel de -q optie niet wordt meegenomen, anders zal sendmail periodiek een zoek actie verrichten op het netwerk, wat ervoor zorgt dat uw machine gaat uitbellen. U kunt het volgende instellen:

sendmail_flags="-bd"

Het nadeel hiervan is dat u sendmail moet forceren om de mailqueue periodiek te bekijken zodra de ppp link op is door het typen van:

# /usr/sbin/sendmail -q

U wilt wellicht gebruik maken van het !bg commando in ppp.linkup om dit automatisch te doen:

1     provider:
2       delete ALL
3       add 0 0 HISADDR
4       !bg sendmail -bd -q30m

Als u dit niet wilt doen, is het mogelijk om een “dfiler” in te stellen welke SMTP verkeer blokkeert. Raadpleeg naar de voorbeeld bestanden voor verdere details.

Alles wat nu nog nodig is, is het herstarten van de machine. Na het herstarten kunt het volgende typen:

# ppp

en daarna dial provider om de PPP sessie te starten, of u indien u dat wilt kan ppp automatisch sessies opzetten wanneer er uitgaand verkeer is (en wanneer u geen start_if.tun0 script heeft aangemaakt), typt u:

# ppp -auto provider

28.2.1.5. Samenvatting

Om samen te vatten zijn de volgende stappen benodigd om PPP voor de eerste keer in te stellen:

Aan de cliënt zijde:

  1. Zorg ervoor dat het tun apparaat is ingeschakeld in uw kernel.

  2. Zorg ervoor dat het apparaatbestand tunN beschikbaar is in de map /dev.

  3. Creeër een regel in /etc/ppp/ppp.conf. Het pmdemand voorbeeld zou moeten volstaand voor de meeste providers.

  4. Als u dynamische IP-adressen heeft, creeër een regel in /etc/ppp/ppp.linkup.

  5. Update uw /etc/rc.conf bestand.

  6. Creeër een start_if.tun0 script als u op verzoek wilt inbellen.

Aan de server zijde:

  1. Zorg ervoor dat het tun apparaat is ingeschakeld in uw kernel.

  2. Zorg ervoor dat het apparaatbestand tunN beschikbaar is in de map /dev.

  3. Creeër een regel in /etc/passwd (door gebruik te maken van het vipw(8) programma).

  4. Creeër een profiel in deze gebruikers home directory die ppp -direct direct-server start of iets in die trant.

  5. Creeër een regel in /etc/ppp/ppp.conf. Het direct-server voorbeeld zou moeten volstaan.

  6. Creeër een regel in /etc/ppp/ppp.linkup.

  7. Update uw /etc/rc.conf bestand.