FreeBSD handboek
Terug | Hoofdstuk 28. PPP en SLIP | Volgende

# 28.2. Gebruik maken 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/cuad`N`` naar `/dev/cuau`N`` en van `/dev/ttyd`N`` naar `/dev/ttyu`N``. 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 standaard UNIX® stijl login en wachtwoord combinatie of een PAP of CHAP login en wachtwoord combinatie).

- 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 PPP configuratie

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. PPP's netwerk adres translatie mogelijkheden 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 systeem configuratie

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 `tun`N`` 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 `tun`N`` 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.

Terug | Begin | Volgende
PPP en SLIP | Omhoog | Kernel PPP gebruiken