From owner-p4-projects@FreeBSD.ORG Sat Aug 2 12:01:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 968761065674; Sat, 2 Aug 2008 12:01:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 406971065682 for ; Sat, 2 Aug 2008 12:01:42 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 29F438FC1A for ; Sat, 2 Aug 2008 12:01:42 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m72C1gdj099316 for ; Sat, 2 Aug 2008 12:01:42 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m72C1frd099314 for perforce@freebsd.org; Sat, 2 Aug 2008 12:01:41 GMT (envelope-from remko@freebsd.org) Date: Sat, 2 Aug 2008 12:01:41 GMT Message-Id: <200808021201.m72C1frd099314@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146447 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Aug 2008 12:01:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146447 Change 146447 by remko@remko_guardian on 2008/08/02 12:01:32 Import WIP for advanced networking. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#3 (text+ko) ==== @@ -1,87 +1,100 @@ - * Geavanceerde netwerken + + + + René + Ladan + Vertaald door + + + + + Geavanceerde netwerken Samenvatting - Dit hoofdstuk gaat over een aantal geavanceerde netwerk onderwerpen. + Dit hoofdstuk zal een aantal onderwerpen over geavanceerde + netwerken behandelen. - Na het lezen van dit hoofdstuk weet de lezer: + Na het lezen van dit hoofdstuk is bekend: - De basis van gateways en routers. + De beginselen van gateways en routes. + - Hoe IEEE 802.11 en &bluetooth; apparaten in te stellen. + Hoe IEEE 802.11- en &bluetooth;-apparaten te installeren. + - Hoe &os; in te stellen om te fungeren als bridge. + Hoe &os; als een bridge te laten werken. + - Netwerk opstarten op een diskloze machine. + Hoe een schijfloze machine vanaf het netwerk op te + starten. + - Netwerk adres vertaling in te stellen. + Hoe network address translation te installeren. + - Hoe twee computers met elkaar te verbinden doormiddel van PLIP. + Hoe twee computers via PLIP met elkaar te verbinden. + - Hoe IPv6 in te stellen op een &os; machine. + Hoe IPv6 op een &os;-machine te installeren. + - Hoe ATM in te stellen. + Hoe ATM in te stellen - - Hoe CARP te gebruiken en in te stellen, de standaard toegang ... protocol in &os;. - - Er wordt aangenomen dat de lezer van dit hoofdstuk: + Voordat dit hoofdstuk gelezen wordt, dient de lezer: - Bekend is met de basis van de /etc/rc scripts. + De beginselen van de scripts in + /etc/rc te begrijpen. + - Bekend is met basis netwerk terminologie. + Bekend te zijn met basisnetwerktermen. + - Weet hoe je een nieuwe &os; kernel moet instellen en installeren (). + Te weten hoe een nieuwe &os;-kernel in te stellen en te + installeren (). + - Weet hoe je software van derde kan installeren (). + Te weten hoe aanvullende software van derde partijen te + installeren (). - - Coranth - Gryphon + Coranth + Gryphon Bijgedragen door - - - Benno - van den Berg - Vertaald door - - Gateways en routes @@ -92,169 +105,171 @@ subnet - Om met een machine een andere machine te vinden over een - netwerk moet er een mechanisme zijn dat beschrijft hoe je - moet komen van de ene machine naar de andere. Dit wordt routing - genoemd. Een route is gedefineerd als een paar - adressen: een bestemming en een - gateway. Het paar houdt in als je naar deze - bestemming wilt, gebruik dan deze - gateway. Er zijn drie verschillende - bestemmingen: een individuele host, subnets en - standaard. De standaard route - wordt gebruikt als geen van de andere routes van toepassing - zijn. We hebben het later nog meer over standaard routes. Er - zijn ook nog 3 verschillende gateways: individule hosts, - interfaces (ook wel links genoemd) en Ethernet - hardware adressen (MAC addressen). + Indien een machine een andere machine over een netwerk wil + vinden, dient er een mechanisme te zijn dat beschrijft hoe van de + ene naar de andere machine te gaan. Dit wordt + routen genoemd. Een route + is een gedefinieerd adressenpaar: een bestemming en + een gateway. Het paar geeft aan dat door deze + gateway gecommuniceerd moet worden om bij + deze bestemming aan te komen. Er zijn drie + bestemmingssoorten: individuele host, subnetten en + standaard. De standaardroute wordt + gebruikt indien geen van de andere routes van toepassing zijn. + Verderop wordt verder op standaardroutes ingegaan. Er zijn ook + drie getewaysoorten: individuele hosts, interfaces (ook wel + verbindingen genoemd), en + Ethernet-hardware-adressen (MAC-adressen). Een voorbeeld - Om de verschillende aspecten van het routeren te tonen, - zullen we gebruik maken van het volgende voorbeeld van - netstat: + Om de verschillende aspecten van routen te illustreren, + wordt het volgende voorbeeld van netstat + gebruikt: &prompt.user; netstat -r Routing tables -Destination Gateway Flags Refs Use Netif Expire +Destination Gateway Flags Refs Use Netif Expire -default outside-gw UGSc 37 418 ppp0 -localhost localhost UH 0 181 lo0 -test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 -10.20.30.255 link#1 UHLW 1 2421 -example.com link#1 UC 0 0 -host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 -host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => +default outside-gw UGSc 37 418 ppp0 +localhost localhost UH 0 181 lo0 +test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 +10.20.30.255 link#1 UHLW 1 2421 +example.com link#1 UC 0 0 +host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 +host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => host2.example.com link#1 UC 0 0 -224 link#1 UC 0 0 +224 link#1 UC 0 0 + + standaardroute - standaard route - De eerste twee regels specificeren de standaard route - (die we behandelen in de volgende sectie) en de - localhost route. + De eerste twee regels geven de standaardroute (die behandeld + wordt in de volgende + sectie) en de localhost-route aan. + teruglusapparaat - De interface (de Netif kolom) die - deze routeer tabel specifeert om te gebruiken voor - localhost is lo0, - ook wel bekend als de loopback device. Deze zorgt ervoor dat - al het verkeer wat voor deze bestemming bestemd intern blijft - en dus niet naar het LAN verstuurd. Aangezien het - verkeer uiteindelijk uitkomt waar het vandaan komt. + Het interface (kolom Netif) dat deze + routeertabel aangeeft om voor localhost te + gebruiken is lo0, ook bekend als het + teruglusapparaat. Dit geeft aan dat alle verkeer voor deze + bestemming intern gehouden moet worden, in plaats van het over + het LAN te sturen, aangezien het alleen aankomt op de plaats + waar het verzonden werd. Ethernet - MAC adressen + MAC-adres - Het volgende wat opvalt zijn de adressen die beginnen met - 0:e0. Dit zijn Ethernet hardware - adressen, ook wel bekend als MAC adressen. &os; zal - automatisch hosts (test0 in het voorbeeld) - in het lokale Ethernet identificeren en voor deze hosts een - route toevoegen, die direct over de Ethernet interface gaat, - ed0. Er is ook nog een timeout - geasscocieerd met dit type routes, welke wordt gebruikt als - er binnen de gespecificeerde tijd niets vernomen wordt van de - host. Wanneer dit gebeurt, zal de route automatisch worden - verwijderd. + + Het volgende dat opvalt zijn de adressen die beginnen met + 0:e0:. Dit zijn Ethernet-hardware + adressen, ook bekend als MAC-adressen. &os; zal automatisch + elke host (test0 in het voorbeeld) op het + lokale Ethernet identificeren en een route voor die host + toevoegen, direct van deze host over het Ethernet-interface, + ed0. Er is ook een timeout (kolom + Expire) met deze routesoort geassocieerd, + die gebruikt wordt indien er binnen een bepaalde tijd geen + bericht komt van de host. Indien dit gebeurt, wordt de route + naar deze host automatisch verwijderd. Deze hosts worden + geïdentificeerd door middel van een mechanisme dat bekend + staat als RIP (Routing Information Protocol), dat routes naar + lokale hosts bepaald door middel van een kortste-pad algoritme. subnet - &os; zal ook subnet routes toevoegen voor het lokale - subnet (10.20.30.255 is het - broadcast adres voor het subnet - 10.20.30 en - example.com is het domein - naam wat bij het subnet hoort). link#1 - refereert naar de eerste Ethernet kaart in je machine. Voor - deze routes worden verder geen extra interfaces - gespecificeerd. + &os; zal ook subnetroutes voor het lokale subnet toevoegen ( + 10.20.30.255 is het + broadcast-adres voor het subnet + 10.20.30, en + voorbeeld.com is de + domeinnaam die bij dat subnet hoort). De bestemming + link#1 verwijst naar de eerste Ethernetkaart + in de machine. Merk op dat voor hen geen aanvullende interface + is gespecificeerd. - De routes van beide groepen (lokale netwerk hosts en lokale - subnets) zullen automatisch worden geconfigureerd door een - deamon genaamd routed. Als deze niet - draait, dan zullen alleen de routes die statisch geconfigureerd - (handmatig toegevoegd) zijn worden weergegeven. + Voor beide groepen (lokale netwerkhosts en lokale subnetten) + worden de routes automatisch ingesteld door een daemon genaamd + routed. Indien dit niet draait, + zullen alleen routes die statisch gedefinieerd (i.e. expliciet + vermeld) zijn bestaan. - De host1 regel refereert naar onze host, welke - bekend is door zijn Ethernet adres. Sinds we de verzendende host zijn, - gebruikt &os; het loopback adres (lo0), - ipv het verkeer naar de Ethernet interface te sturen. + De regel met host1 verwijst naar deze + host, het kent deze door het Ethernetadres. Aangezien het de + zendende host is, weet &os; dat het het teruglus-interface ( + lo0) moet gebruiken, in plaats van het + over het Ethernet-interface te verzenden. - De twee host2 regels zijn een voorbeeld wat - er gebeurt er als er gebruik gemaakt word van een &man.ifconfig.8; - alias (bekijk het hoofdstuk over Ethernet voor redenen waarom je dit - zou willen doen). Het => symbool achter de - lo0 interface zegt ons niet alleen dat we - gebruik maken van de loopback (sinds dit adres ook refereert naar - ons lokale host), maar vertelt ons ook dat het een alias is. Zulke - routes verschijnen alleen zo als de host ondersteuning heeft voor - de alias, alle andere hosts op het lokale netwerk zullen een - link#1 regel hebben voor zulke routes. + De twee regels met host2 geven een + voorbeeld van wat er gebeurt als een alias met &man.ifconfig.8; + gebruikt wordt (in de sectie over Ethernet staan redenen waarom + dit gedaan wordt). Het symbool => na het + interface lo0 zegt dat niet alleen de + teruglus gebruikt wordt (aangezien dit adres ook verwijst naar + de lokale host), maar specifiek dat dit een alias is. Zulke + routes verschijnen alleen op de hosts die de alias ondersteunen; + alle andere hosts op het lokale netwerk vermelden simpelweg een + regel met link#1 voor zulke routes. - De laatste regel (subnet bestemming - 224) wordt gebruikt voor multicasting, - wat we in een later hoofdstuk zullen behandelen. + De laatste regel (bestemming subnet + 224) heeft te maken met + multicasten, wat in een andere sectie besproken wordt. - Als laatst zijn er nog een aantal attributen van elke route - zichtbaar in de Flags kolom. Hier onder staan - een aantal van deze attributen en hun betekenis: + Als laatste staan in de kolom Flags + verschillende attributen. Hieronder staat een korte tabel met + enkele van deze vlaggen en hun betekenis: - U - Up: De route is actief. H - - Host: De route bestemming is een enkele machine. + Host: De bestemming van de route is een enkele + host. G - - Gateway: Verzend alles voor deze bestemming naar dit - systeem, de gateway zorgt er voor dat het verzonden wordt - naar de bestemming. + Gateway: Stuur alles voor deze bestemming door naar + dit verre systeem, dat zoekt daar uit waar het verder + naar te sturen. S - - Static: Deze route is handmatig geconfigureerd, niet - automatisch door het systeem zelf. + Statisch: Deze route was handmatig ingesteld, dus + niet automatisch door het systeem aangemaakt. C - - Clone: Genereer een nieuwe route gebaseerd op deze - route voor machines. Dit type routes wordt normaal gebruikt - voor lokale netwerken. + Kloon: Maakt op bais van deze route een nieuwe + route aan voor machines waarmee verbinding wordt + gemaakt. Dit soort routen wordt gewoonlijk in lokale + netwerken gebruikt. W - - WasCloned: Houdt in dat de route auto geconfigureerd - was en gebasseerd op een lan (Clone) route. + WasGekloond: Geeft aan dat een route automatisch + was ingesteld gebaseerd op een LAN (kloon)-route. L - - Link: De route heeft referenties met Ethernet hardware. + Verbinding: De route maakt gebruik van verwijzingen + naar Ethernet-hardware. @@ -262,32 +277,33 @@ - Standaard routes + Standaardroutes - standaard route + standaardroute - Wanneer het lokale systeem een connectie wil maken met een andere - host, dan kijkt het eerst in de routeer tabel om te kijken of er al - een route bekend is. Als de andere host in een subnet zit waarvan bekend - is hoe dit te bereiken (gekloonde routes), dan zal het systeem - controlleren of er een verbinding mee gemaakt kan worden met die - interface. + Wanneer het lokale systeem een verbinding met een verre host + moet maken, controleert het de routeertabel op reeds bekende + paden. Indien de verre host binnen een subnet valt waarvan + bekend is hoe het bereikt kan worden (gekloonde routes), + controleert het systeem of het met het daarbij horende interface + verbinding kan maken. - Als alle bekende paden mislukken, heeft het systeem nog een - laatste optie: de standaard route. Deze route is een - speciaal type gateway route (er is er meestal maar 1 in een systeem) - en is altijd gemarkeerd met een c in de flags kolom. - Voor een host in het lokale netwerk is deze gateway ingesteld in de - machine die directe connectie heeft naar de buiten wereld (via - bijvoorbeeld een PPP link, DSL, kabel modem, T1 of een andere netwerk - interface). + Indien alle bekende paden falen heeft het systeem + één laatste mogelijkheid: de + standaardroute. Deze route is een speciaal soort + gateway-route (gewoonlijk de enig aanwezige in het systeem) en + is altijd gemarkeerd met een c in het + vlaggenveld. Voor hosts op een LAN staat deze gateway ingesteld + op de machine die een directe verbinding met de buitenwereld + heeft (via een PPP-verbinding, DSL, kabelmodem, T1, of een ander + netwerkinterface). - Als je de standaard route van een machine aan het configureren ben - die zelf als gateway zal functioneren naar de buiten wereld, dan zal - de standaard route de gateway computer van je ISP zijn. + Indien de standaardroute wordt ingesteld voor een machine + die zelf als gateway naar de buitenwereld werkt, zal de + standaardroute de gateway-machine van de internetprovider zijn. - Laten we kijken naar een voorbeeld van standaard routes. Dit is - een gebruikelijke instelling: + Hieronder volgt een voorbeeld van standaardroutes. Dit is + een veelgebruikte opstelling: @@ -296,143 +312,139 @@ -[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] - +[Lokaal2] <--ether--> [Lokaal1] <--PPP--> [IP-Serv] <--ether--> [T1-GW] + - De hosts Local1 en Local2 zijn - gevestigd bij je vestiging. Local1 heeft een verbinding - met een ISP via een in-bel PPP verbinding. Deze PPP server computer is - verbonden via een lokaal netwerk met een andere gateway computer door - een externe interface naar de ISPs internet toegang. + De hosts Lokaal1 en + Lokaal2 staan op deze site. + Lokaal1 is verbonden met een internetprovider + via een inbel-PPP-verbinding. Deze PPP-server is door een LAN + verbonden met een andere gateway-computer door een extern + interface naar de Internet-feed van de internetprovider. - De standaard routes voor jouw computers zullen dan als volgt - zijn: + De standaardroutes voor de machines zijn: - Machine - - Standaard Gateway - + Host + Standaard gateway Interface - Local2 - - Local1 - + Lokaal2 + Lokaal1 Ethernet - Local1 - + Lokaal1 T1-GW - PPP - Een gebruikelijke vraag is: Waarom (of hoe) stel je - T1-GW in als standaard gateway voor - Local1, ipv de ISP server waarmee hij verbonden is? - . + Een veelvoorkomende vraag is Waarom (of hoe) moet + worden inesteld dat T1-GW de standaard gateway + is voor Lokaal1, in plaats van de server van + de internetprovider waarmee het verbonden is?. - De PPP interface gebruik maakt van een adres aan de ISP's - lokale netwerk kant van de connectie, dus routes voor andere machines - aan de ISP's lokale netwerk zullen automatisch gegenereert worden. Je - weet al hoe je de T1-GW machine moet bereiken, dus - de tussenstap van verkeer versturen naar je ISP server is niet nodig. - + Onthoud dat, aangezien het PPP-interface een adres gebruikt + op het lokale netwerk van de internetprovider voor deze kant van + de verbinding, routes voor alle andere machines op het lokale + netwerk van de internetprovider automatisch aangemaakt worden. + Het is al bekend hoe de machine T1-GW bereikt + kan worden, dus is de tussenstap dat het verkeer eerst naar de + server van de internetprovider gestuurd wordt niet nodig. Het is gebruikelijk om het adres X.X.X.1 te gebruiken als gateway adres voor het - lokale netwerk. Dus, als je lokale C klasse netwerk 10.20.30 is en je ISP gebruikt maakt van 10.9.9, dan zal je standaard route als volgt - zijn: + role="ipaddr">X.X.X.1 te gebruiken als het + gateway-adres voor het lokale netwerk. Dus (gebruikmakend van + hetzelfde voorbeeld), indien de lokale klasse-C adresruimte + 10.20.30 was en de + internetprovider 10.9.9 + gebruikte, zouden de standaardroutes als volgt zijn: - Machine - - Standaard Route + Host + Standaardroute - Local2 (10.20.30.2) - - Local1 (10.20.30.1) + Lokaal2 (10.20.30.2) + Lokaal1 (10.20.30.1) - Local1 (10.20.30.1, 10.9.9.30) - + Lokaal1 (10.20.30.1, 10.9.9.30) T1-GW (10.9.9.1) - Je kan gemakkelijk een standaard route defineren door - gebruik te maken van het /etc/rc.conf - bestand. In ons voorbeeld hebben we de volgende regel - toegevoegd in het /etc/rc.conf - bestand van de Local2 machine: + De standaardroute kan eenvoudig met het bestand + /etc/rc.conf gedefinieerd worden. In dit + voorbeeld werd de volgende regel aan + /etc/rc.conf van Lokaal2 + toegevoegd: defaultrouter="10.20.30.1" - Het is ook mogelijk om het direct te doen via de - command line met het &man.route.8; commando + Het is ook mogelijk dit met het commando &man.route.8; + direct vanaf de opdrachtregel te doen: &prompt.root; route add default 10.20.30.1 - Voor meer informatie over het handmatig aanpassen van - de netwerk routeer tabellen, zie &man.route.8; + Voor meer informatie over het handmatig manipuleren van + netwerkrouteertabellen kan de hulppagina &man.route.8; + geraadpleegd worden. <quote>Dual Homed</quote> machines - dual homed machines + dual homed hosts - Er is nog een type configuratie die we moeten behandelen en - dit is een machine die zit in 2 verschillende netwerken. - Technisch gezien is elke gateway (in het voorbeeld hierboven, - waar gebruik gemaakt wordt van een PPP verbinding) een dual - homed machine. Maar dual homed machines refereert eigelijk alleen - maar naar een machine die in twee lokale netwerken zit. + Er is nog één andere soort opstelling die + behandeld dient te worden, en dat is een host die in twee + verschillende netwerken zit. Technisch gezien telt elke machine + die als gateway dienst doet (in bovenstaand voorbeeld door een + PPP-verbinding te gebruiken) als een dual-homed host. Maar de + term wordt echt alleen gebruikt om naar een machine te verwijzen + die in twee LAN's zit. - Bijvoorbeeld, een machine heeft twee Ethernet kaarten en elk - kaart heeft een adres in een apart subnet. De machine kan ook - maar een netwerk kaart hebben en gebruik maken van - &man.ifconfig.8; aliasing. Het eerste voorbeeld wordt gebruikt - als er twee fysiek gescheide Ethernet netwerken zijn en het - tweede voorbeeld wordt gebruikt als er 1 fysiek netwerk is, maar - wel twee logisch gescheide subnetten. + In het ene geval heeft de machine twee Ethernet-kaarten, + waarbij elke kaart een adres op de gescheiden subnetten heeft. + Een alternatief is dat de machine slechts één + Ethernet-kaart heeft en gebruikt maakt van &man.ifconfig.8; + aliasing. Het eerste wordt gebruikt indien er twee fysiek + gescheiden Ethernet-kaarten in gebruik zijn, het laatste indien + er een fysiek netwerksegment is, maar er twee logisch gescheiden + subnetten zijn. - De routeer tabellen werken zo dat elk subnet weet dat de - machine de gedefineerde gateway (inkomende route) is naar het - andere subnet. Deze configuratie, met een machine fungerend als - een router tussen twee netwerken, wordt vaak gebruikt als er - pakket filteren of firewall beveiliging in beide of enkele - richting moet worden geimplementeerd. + In beide gevallen worden er routeertabellen aangemaakt zodat + elk subnet weet dat deze machine de gedefinieerde gateway + (ingaande route) naar het andere subnet is. Deze opstelling, + waarbij de machine dienst doet als router tussen twee subnetten, + wordt vaak gebruikt voor het implementeren van pakketfilters of + firewall-beveiliging in één of beide richtingen. - Als je wil dat de machine pakketten doorstuurd tussen twee - interfaces, dan moet je instellen in &os;. Zie de volgende - sectie voor meer details. - + Om deze machine daadwerkelijk pakketten te laten forwarden + tussen de twee interfaces, moet aan &os; verteld worden dat het + deze mogelijkheid aan moet zetten. In de volgende sectie staan + meer details over hoe dit te doen. @@ -440,33 +452,32 @@ router - Een netwerk router is simpelweg een systeem dat pakketten - doorstuurd van een interface naar een ander. Internet - standaarden en goede praktijk ervaringen zorgen ervoor - dat het &os; project dit niet standaard aanzet in &os;. - Je kan deze functionaliteit aanzetten door de volgende variable - naar YES te veranderen in - &man.rc.conf.5;: + Een netwerkrouter is simpelweg een systeem dat pakketten van + het ene naar het andere interface doorstuurt. + Internetstandaarden en goede ontwerppraktijken verhinderen het + &os; Project dit standaard in &os; aan te zetten. Deze + mogelijkheid kan worden aangezet door de volgende variabele in + &man.rc.conf.5; op YES in te stellen: - gateway_enable=YES # Set to YES if this host will be a gateway + gateway_enable=YES # Op YES instellen indien deze host een gateway is - Deze optie zal de &man.sysctl.8; variabel - net.inet.ip.forwarding veranderen in - 1 Als je tijdelijk wil stoppen met routeren, - dan kan je dit tijdelijk veranderen naar - 0. + Deze optie stelt de &man.sysctl.8; variabele + net.inet.ip.forwarding in op + 1. Indien het nodig is om het routen + tijdelijk te stoppen, kan deze variabele tijdelijk op + 0 worden teruggezet. - Een nieuwe router zal routes moeten hebben zodat de router - weet waar het verkeer naar toe moet. Als je netwerk simpel is - dan kan je gebruik maken van statische routes. &os; heeft - ook de standaard BSD routeer daemon &man.routed.8;, welke - ondersteuning heeft voor RIP (versie 1 en 2) en IRDP. - Ondersteuning voor BGP v4, OSPF v2 en andere ingewikkelde - routeer protocollen is beschikbaar via de - net/zebra package. - Commerciele producten zoals &gated; - zijn ook beschikbaar voor complexe netwerk routeer - oplossingen. + De nieuwe router heeft routes nodig om te weten waar het + het verkeer naar toe moet sturen. Voor een eenvoudig netwerk + kunnen statische routes gebruikt worden. &os; wordt met het + standaard BSD routeer-daemon &man.routed.8; geleverd, dat + RIP (zowel versie 1 en versie 2) en IRDP spreekt. Ondersteuning + voor BGP v4, OSPF v2, en andere slimme routeerprotocollen is + beschikbaar via het pakket net/zebra. Ook zijn + commerciële producten als + &gated; beschikbaar voor complexere + netwerkrouteer-oplossingen. BGP @@ -484,21 +495,15 @@ Bijgedragen door - - - Benno - van den Berg - Vertaald door - - + - Opzetten van statische routes + Statische routes opzetten Handmatige configuratie - Laten we veronderstellen dat we een netwerk als volgt hebben: + Er wordt van het volgende netwerk uitgegaan: @@ -506,9 +511,9 @@ - + INTERNET - | (10.0.0.1/24) Default Router to Internet + | (10.0.0.1/24) Standaardrouter naar Internet | |Interface xl0 |10.0.0.10/24 @@ -520,7 +525,7 @@ | 192.168.1.1/24 | +--------------------------------+ - Internal Net 1 | 192.168.1.2/24 + Intern Net 1 | 192.168.1.2/24 | +------+ | | RouterB @@ -528,338 +533,423 @@ +------+ | 192.168.2.1/24 | - Internal Net 2 - + Intern Net 2 + - In dit scenario is RouterA - de &os; machine die fungeert als router naar de rest - van het internet. Zijn standaard route is 10.0.0.1, waardoor hij - verbinding kan maken met de buitenwereld. We gaan - er vanuit dat RouterB al - geconfigureerd is en weet waar het naar toe moet gaan. - (Dit is makkelijk in de afbeelding. Voeg een standaard - route toe in RouterB die gebruik - maakt van 192.168.1.1 - als de gateway.) + In dit scenario is RouterA een + &os;-machine die dienst doet als router naar de rest van het + Internet. Het heeft een standaardroute ingesteld op 10.0.0.1, dat de router in staat + stelt om verbindingen met de buitenwereld te maken. Er wordt + aangenomen dat RouterB reeds juist is + ingesteld en dat het weet hoe het waar naar toe moet gaan. (In + dit plaatje is dit simpel. Voeg een standaardroute op + RouterB toe door 192.168.1.1 als gateway te gebruiken.) - Als de kijken naar de routeer tabel van - RouterA dan krijgen we iets als het - volgende te zien: + De routeertabel voor RouterA zou er + ongeveer als volgt uitzien: &prompt.user; netstat -nr Routing tables Internet: -Destination Gateway Flags Refs Use Netif Expire -default 10.0.0.1 UGS 0 49378 xl0 -127.0.0.1 127.0.0.1 UH 0 6 lo0 -10.0.0/24 link#1 UC 0 0 xl0 -192.168.1/24 link#2 UC 0 0 xl1 +Destination Gateway Flags Refs Use Netif Expire +default 10.0.0.1 UGS 0 49378 xl0 +127.0.0.1 127.0.0.1 UH 0 6 lo0 +10.0.0/24 link#1 UC 0 0 xl0 +192.168.1/24 link#2 UC 0 0 xl1 - Met de huidige routeer tabel is het niet mogelijk om - met RouterA ons Internal Net 2 te - bereiken. Het heeft namelijk geen route naar 192.168.2.0/24. Een manier om dit - op te lossen, is om handmatig een route toe te voegen. - Het volgende commando zal een route toevoegen aan - RouterA's routeer tabel naar het - Internal Net 2 netwerk met 192.168.1.2 als volgende - hop: + Met de huidige routeertabel is RouterA + niet in staat om Intern Net 2 te bereiken. Het heeft geen + route voor 192.168.2.0/24. Een + manier om dit te verhelpen is om de route handmatig toe te + voegen. Het volgende commando voegt het netwerk Intern Net 2 + toe aan de routeertabe van RouterA door + 192.168.1.2 als de volgende hop + te gebruiken: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 - Nu kan RouterA verbinding maken met - de machines in het 192.168.2.0/24 netwerk. - + Nu kan RouterA elke host op het netwerk + 192.168.2.0/24 bereiken. Persistente configuratie - Bovenstaand voorbeeld is perfect voor het - configureren van een statisch route op een draaiend - systeem. Maar er is een probleem dat de routeer - informatie niet beschikbaar blijft als de &os; - machine opnieuw opstart. De manier om statische - routes op te slaan is door deze toe te voegen aan het - /etc/rc.conf bestand: + Bovenstaand voorbeeld is perfect voor het instellen van + een statische route op een draaiend systeem. Een probleem is + dat routeerinformatie verdwijnt indien de &os;-machine opnieuw + wordt opgestart. De manier om een statische route toe te + voegen is om het in het bestand + /etc/rc.conf toe te voegen: - # Add Internal Net 2 as a static route -static_routes="internalnet2" -route_internalnet2="-net 192.168.2.0/24 192.168.1.2" + # Voeg Intern Net 2 als een statische route toe +static_routes="internnet2" +route_internnet2="-net 192.168.2.0/24 192.168.1.2" - De static_routes configuratie - variabel is een lijst die bestaat uit een aantal - strings gescheiden door een spatie. Elke string - refereert naar een route naam. In het bovenstaande - voorbeeld is er maar een string in - static_routes. Deze string is - internalnet2. We voegen - dan een configuratie variabel toe genaamd - route_internalnet2, - waar we al onze configuratie parameters zetten zoals - we die zouden gebruikt hebben met het &man.route.8; - commando. Voor ons voorbeeld zou dat het volgende - command hebben gegeven: + De instellingsvariabele static_routes + is een lijst van strings gescheiden door een spatie. Elke + string verwijst naar een routenaam. Bovenstaand voorbeeld + heeft slechts één string in + static_routes. Dit is de string + internnet2. Vervolgens wordt een + instellingsvariabele + route_internnet2 + toegevoegd waarin alle instellingsparameters staan die aan + het commando &man.route.8; moeten worden doorgegeven. Voor + bovenstaand voorbeeld zou het volgende commando zijn gebruikt: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 - Dus hebben we het volgende nodig: - "-net 192.168.2.0/24 192.168.1.2". + Dus is "-net 192.168.2.0/24 192.168.1.2" + nodig. - Zoals al eerder is gezegd kunnen we meerdere - strings in static_routes zetten. - Hierdoor is het mogelijk om meerdere statische routes - te maken. De volgende regels laten een voorbeeld zien - van meerdere statische routes voor de 192.168.0.0/24 en 192.168.1.0/24 netwerken op - een denkbeeldige router: + Zoals hierboven is vermeld is het mogelijk om meerdere + strings in static_routes te hebben. Dit + maakt het mogelijk om meerdere statische routes aan te maken. + De volgende regels geven een voorbeeld van het toevoegen van + statische routes voor de netwerken 192.168.0.0/24 en 192.168.1.0/24 op een denkbeeldige + router: static_routes="net1 net2" route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1" - Routes propageren - route propagatie - We hebben het al gehad over routes naar de buitenwereld, maar - nog niet hoe de buitenwereld ons vindt. + + routes propageren - We weten al dat routeer tabellen ingesteld kunnen worden zodat - verkeer voor een bepaalde adres ruimte (in ons voorbeeld, een klasse - C subnet) naar een bepaalde machine kan gestuurd worden. + Er is al gesproken over hoe routes naar de buitenwereld te + definiëren, maar niet over hoe de buitenwereld ons kan + vinden. - Wanneer je een adres ruimte krijgt toegewezen voor je vestiging, - dan zorgt je ISP ervoor dat de routeer tabellen aangepast worden - zodat al het verkeer voor jouw subnet wordt verstuurd via je PPP - link naar je verstiging. Maar hoe weten andere vestigingen in het - land dat ze naar jouw ISP moeten versturen? + Het is al bekend dat routeertabellen aangemaakt kunnen + worden zodat al het verkeer voor een bepaalde adresruimte (in + ons voorbeeld een klasse-C subnet) naar een bepaalde host op dat + netwerk gezonden kan worden, dat de ingaande paketten doorgeeft. - Er is een systeem (vergelijkbaar met DNS) die alle adres ruimtes - in de gaten houd, en defineert welke connectie ze gebruiken op de - Internet Backbone. De Backbone zijn de hoofd lijnen - die het Internet verkeer verplaatsen door het land en over de hele - wereld. Elke backbone machine heeft een kopie van de hoofd tabellen, - welke verkeer voor een bepaalde netwerk naar een specifieke backbone - machine versturen. En vandaar uit wordt het verder verstuurd totdat - het verkeer je netwerk bereikt heeft. + Wanneer een adresruimte aan een site wordt toegewezen, stelt + de serviceprovider al hun routeertabellen zodanig in dat al het + verkeer voor het bijhorende subnet naar de PPP-verbinding op de + site gezonden wordt. Maar hoe weten sites door het land heen + hoe naar de internetprovider van deze site te versturen? - Het is de taak van de service provider om aan de backbone - machines bekend te maken dat zij de connectie zijn naar jouw >>> TRUNCATED FOR MAIL (1000 lines) <<<