Date: Tue, 26 Aug 2008 07:22:45 GMT From: Remko Lodder <remko@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 148495 for review Message-ID: <200808260722.m7Q7Mjfr091758@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=148495 Change 148495 by remko@remko_nakur on 2008/08/26 07:22:38 import Rene's latest work in progress. Going well! Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#8 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#8 (text+ko) ==== @@ -3,7 +3,7 @@ $FreeBSD$ %SOURCE% en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml - %SRCID% 1.410 (in progress) + %SRCID% 1.412 (in progress) --> <chapter id="advanced-networking"> @@ -191,8 +191,8 @@ <indexterm><primary>subnet</primary></indexterm> - <para>&os; zal ook subnetroutes voor het lokale subnet toevoegen ( - <hostid role="ipaddr">10.20.30.255</hostid> is het + <para>&os; zal ook subnetroutes voor het lokale subnet toevoegen + (<hostid role="ipaddr">10.20.30.255</hostid> is het broadcast-adres voor het subnet <hostid role="ipaddr">10.20.30</hostid>, en <hostid role="domainname">example.com</hostid> is de @@ -209,8 +209,8 @@ <para>De regel met <literal>host1</literal> verwijst naar deze host, het kent deze door het Ethernetadres. Aangezien het de - zendende host is, weet &os; dat het de teruglus-interface ( - <devicename>lo0</devicename>) moet gebruiken, in plaats van het + zendende host is, weet &os; dat het de teruglus-interface + (<devicename>lo0</devicename>) moet gebruiken, in plaats van het over de Ethernet-interface te verzenden.</para> <para>De twee regels met <literal>host2</literal> geven een @@ -879,8 +879,8 @@ <programlisting>if_ath_load="YES"</programlisting> <para>Het stuurprogramma voor Atheros is opgedeeld in drie - verschillende delen: het eigenlijke stuurprogramma ( - &man.ath.4;), de ondersteuningslaag voor de hardware die + verschillende delen: het eigenlijke stuurprogramma + (&man.ath.4;), de ondersteuningslaag voor de hardware die chip-specifieke functies afhandelt (&man.ath.hal.4;), en een algoritme om de snelheid om frames te verzenden te kiezen uit een reeks mogelijke waarden (hier ath_rate_sample). Indien @@ -910,23 +910,32 @@ <para>Nadat het apparaatstuurprogramma is ingesteld is het ook nodig om de ondersteuning voor 802.11-netwerken waarvan het stuurprogramma gebruik maakt in te stellen. Voor het - stuurprogramma &man.ath.4; is dit minimaal de module - &man.wlan.4;; deze module wordt automatisch geladen met het - stuurprogramma voor draadloze apparaten. Daarvoor zijn ook de - modules nodig die cryptografische ondersteuning implementeren - voor de te gebruiken veiligheidsprotocollen. Het is de - bedoeling dat ze dynamisch door de module &man.wlan.4; worden - geladen maar momenteel dienen ze handmatig ingesteld te - worden. De volgende modules zijn beschikbaar: - &man.wlan.wep.4;, &man.wlan.ccmp.4;, en &man.wlan.tkip.4;. - Zowel de stuurprogramma's &man.wlan.ccmp.4; en - &man.wlan.tkip.4; zijn alleen nodig indien het - veiligheidsprotocol WPA en/of 802.11i gebruikt wordt. Indien - het netwerk geheel open dient te zijn (i.e. geen versleuteling - ) is zelfs de ondersteuning van &man.wlan.wep.4; niet nodig. - Om deze modules tijdens het opstarten te laden, dienen de - volgende regels aan <filename>/boot/loader.conf</filename> - toegevoegd te worden:</para> + stuurprogramma &man.ath.4; zijn dit minimaal de modules + &man.wlan.4;, <literal>wlan_scan_ap</literal> en + <literal>wlan_scan_sta</literal>; de module &man.wlan.4; wordt + automatisch geladen met het stuurprogramma voor draadloze + apparaten, de overige modeules dienen tijdens het opstarten + geladen te worden via het bestand + <filename>/boot/loader.conf</filename>:</para> + + <programlisting>wlan_scan_ap_load="YES" +wlan_scan_sta_load="YES"</programlisting> + + <para>Daarvoor zijn ook de modules nodig die cryptografische + ondersteuning implementeren voor de te gebruiken + veiligheidsprotocollen. Het is de bedoeling dat ze dynamisch + door de module &man.wlan.4; worden geladen maar momenteel + dienen ze handmatig ingesteld te worden. De volgende modules + zijn beschikbaar: &man.wlan.wep.4;, &man.wlan.ccmp.4;, en + &man.wlan.tkip.4;. Zowel de stuurprogramma's + &man.wlan.ccmp.4; en &man.wlan.tkip.4; zijn alleen nodig + indien het veiligheidsprotocol WPA en/of 802.11i gebruikt + wordt. Indien het netwerk geheel open dient te zijn (i.e. + geen versleuteling) is zelfs de ondersteuning van + &man.wlan.wep.4; niet nodig. Om deze modules tijdens het + opstarten te laden, dienen de volgende regels aan + <filename>/boot/loader.conf</filename> toegevoegd te worden: + </para> <programlisting>wlan_wep_load="YES" wlan_ccmp_load="YES" @@ -950,6 +959,8 @@ device ath_hal # Atheros Hardware Access Layer device ath_rate_sample # John Bicket's SampleRate stuuralgoritme. device wlan # 802.11 ondersteuning (vereist) +device wlan_scan_ap # 802.11 AP-modus scannen +device wlan_scan_sta # 802.11 STA-modus scannen device wlan_wep # WEP crypto ondersteuning voor 802.11 apparaten device wlan_ccmp # AES-CCMP crypto ondersteuning voor 802.11 apparaten device wlan_tkip # TKIP en Michael crypto ondersteuning voor 802.11 apparaten</programlisting> @@ -1252,7 +1263,7 @@ <programlisting>ifconfig_ath0="ssid <replaceable>uw_ssid_hier</replaceable> inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable>"</programlisting> </sect5> - </sect4> <!--(rene) ontbreekt in en_US rev 1.410--> + </sect4> <!--(rene) ontbreekt in en_US rev 1.412--> <sect4 id="network-wireless-wpa"> <title>WPA</title> @@ -1554,8 +1565,8 @@ <title>WPA met EAP-TTLS</title> <para>Bij EAP-TLS hebben zowel de authenticatieserver als de - cliënt een certificaat nodig, met EAP-TTLS ( - EAP-Tunneled Transport Layer Security) is een + cliënt een certificaat nodig, met EAP-TTLS + (EAP-Tunneled Transport Layer Security) is een cliëntcertificaat optioneel. Deze methode komt in de buurt van wat sommige beveiligde websites doen, waar de webserver een veilige SSL-tunnel kan aanmaken zelfs als de @@ -1765,7 +1776,10 @@ WEP-sleutel zal worden gebruikt tijdens het verzenden. Hier wordt de derde sleutel gebruikt. Dit dient overeen te komen met de instelling in het toegangspunt. - </para> + Indien onbekend is welke sleutel door het toegangspunt + wordt gebruikt, dient geprobeerd te worden om + <literal>1</literal> (i.e. de eerste sleutel) voor deze + waarde te gebruiken.</para> </listitem> <listitem> @@ -2164,8 +2178,8 @@ freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS</screen> <para>De cliëntmachine heeft het toegangspunt gevonden en - kan ermee geassocieerd worden door de juiste parameters ( - sleutel, enz.) te gebruiken, zie <xref + kan ermee geassocieerd worden door de juiste parameters + (sleutel, enz.) te gebruiken, zie <xref linkend="network-wireless-wep"> voor meer details.</para> </sect3> </sect2> @@ -2273,8 +2287,8 @@ van seriële lijnen, en meer.</para> <para>De Bluetooth stack is in &os; geïmplementeerd door - gebruik te maken van het Netgraph-raamwerk (zie &man.netgraph.4; - ). Een rijke variëteit van Bluetooth USB-dongles wordt + gebruik te maken van het Netgraph-raamwerk (zie + &man.netgraph.4;). Veel van de Bluetooth USB-dongles worden ondersteund door het stuurprogramma &man.ng.ubt.4;. Apparaten gebaseerd op de Broadcom BCM2033 chip worden ondersteund door de stuurprogramma's &man.ubtbcmfw.4; en &man.ng.ubt.4;. De 3Com @@ -2899,8 +2913,8 @@ <sect1info> <authorgroup> <author> - <firstname>Steve</firstname> - <surname>Peterson</surname> + <firstname>Andrew</firstname> + <surname>Thompson</surname> <contrib>Geschreven door </contrib> </author> </authorgroup> @@ -2915,13 +2929,14 @@ <indexterm><primary>bridge</primary></indexterm> - <para>Soms is het handig om één fysiek netwerk ( - zoals een Ethernet-segment) in twee gescheiden netwerksegmenten + <para>Soms is het handig om één fysiek netwerk + (zoals een Ethernet-segment) in twee gescheiden netwerksegmenten te verdelen zonder de noodzaak om een IP-subnet aan te maken en een router te gebruiken om de segmenten met elkaar te verbinden. Een apparaat dat twee netwerken op deze manier met elkaar - verbind wordt een <quote>bridge (brug)</quote> genoemd. Een - &os;-systeem met twee netwerkkaarten kan als bridge dienen.</para> + verbindt wordt een <quote>bridge (brug)</quote> genoemd. Een + &os;-systeem met twee netwerkkaarten kan als bridge dienen. + </para> <para>De bridge werkt door de adressen van de MAC-laag (Ethernet-adressen) van de apparaten op elke netwerkinterface @@ -2936,32 +2951,21 @@ <sect2> <title>Situaties waarin bridging juist is</title> - <para>Er zijn vandaag de dag twee situaties waarin een bridge + <para>Er zijn vandaag de dag veel situaties waarin een bridge gebruikt wordt.</para> <sect3> - <title>Veel verkeer op een segment</title> + <title>Netwerken verbinden</title> - <para>De eerste situatie doet zich voor wanneer het fysieke - netwerksegment overbelast is met verkeer, en wanneer het niet - gewenst is om het netwerk in subnetten onder te verdelen en - de subnetten met een router te verbinden.</para> - - <para>Beschouw het voorbeeld van een krant waarbij de redactie- - en productie-afdelingen op het zelfde subnetwerk zitten. De - redactie-gebruikers gebruiken allemaal server <hostid>A</hostid> - voor bestandsdiensten, en de productie-gebruikers gebruiken - server <hostid>B</hostid>. Een Ethernet-netwerk verbindt alle - gebruikers, en hoge netwerkbelastingen zorgen voor - vertragingen.</para> - - <para>Indien de redactie-gebruikers op een netwerksegment gezet - konden worden en de productie-gebruikers op een andere, konden - de twee netwerksegmenten met een bridge verbonden worden. - Alleen het verkeer dat voor interfaces aan de - <quote>andere</quote> kant van het netwerk bedoeld is zou naar - het andere netwerk gezonden worden, waardoor de belasting op - elk netwerksegment verminderd zou worden.</para> + <para>Het basisgebruik van een bridge is het met elkaar + verbinden van twee of meer netwerksegmenten. Er zijn vele + redenen om een hostgebaseerde bridge te gebruiken in plaats + van simpele netwerkapparaten zoals kabelbeperkingen, + firewalling of het verbinden van pseudonetwerken zoals een + interface van een virtuële machine. Een bridge kan ook + een draadloze interface die in hostap-modus draait met een + bedraad netwerk verbinden en als een toegangspunt dienen. + </para> </sect3> <sect3> @@ -2971,15 +2975,16 @@ <indexterm><primary>NAT</primary></indexterm> - <para>De tweede gebruikelijke situatie dient zich voor wanneer - de functionaliteit van een firewall nodig is zonder network - address translation (NAT).</para> + <para>Een gebruikelijke situatie dient zich voor wanneer de + functionaliteit van een firewall nodig is zonder routing of + network address translation (NAT).</para> <para>Een voorbeeld is een klein bedrijf dat via DSL of ISDN met hun internetprovider verbonden is. Dit bedrijf heeft 13 wereldwijd bereikbare IP-adressen van de internetprovider en - 10 PC's op het netwerk. In deze situatie is een firewall die - op een router gebaseerd is lastig wegens subnet-problemen.</para> + 10 PC's op hun netwerk. In deze situatie is een firewall die + op een router gebaseerd is lastig wegens subnet-problemen. + </para> <indexterm><primary>router</primary></indexterm> @@ -2987,120 +2992,439 @@ <indexterm><primary>ISDN</primary></indexterm> - <para>Een firewall die op een bridge gebaseerd is kan net na de - DSL- of ISDN-router ingesteld en geplaatst worden zonder dat - er IP-nummers veranderd hoeven te worden.</para> + <para>Een firewall die op een bridge gebaseerd is kan ingesteld + en net na de DSL- of ISDN-router geplaatst worden zonder dat + er problemen met IP-nummers optreden.</para> + </sect3> + + <sect3> + <title>Netwerktap</title> + + <para>Een bridge kan twee netwerksegmenten verbinden en kan + gebruikt worden om alle Ethernetframes die tussen dezen + voorbijkomen te inspecteren. Dit kan òfwel vanuit het + gebruik van &man.bpf.4;/&man.tcpdump.1; op de bridge-interface + òfwel door een kopie van alle frames naar een extra + interface (overspanpoort) te versturen.</para> + </sect3> + + <sect3> + <title>Laag 2 VPN</title> + + <para>Twee Ethernetnetwerken kunnen over een IP-verbinding + verbonden worden door de netwerken naar een EtherIP-tunnel te + bridgen of met een oplossing gebaseerd po &man.tap.4; zoals + OpenVPN.</para> + </sect3> + + <sect3> + <title>Laag 2 Redundancy</title> + + <para>Een netwerk kan met meerdere verbindingen verbonden worden + en het Spanning Tree Protocol gebruiken om overbodige paden te + blokkeren. Een Ethernetnetwerk kan alleen juist functioneren + indien er slechts één actief pad bestaat tussen + twee apparaten, Spanning Tree zal lussen detecteren en de + overbodige verbindingen in een geblokkeerde toestand zetten. + Indien een van de actieve verbindingen faalt zal het protocol + een andere boom berekenen en een van de geblokkeerde paden + weer activeren om de verbindingen naar alle punten in het + netwerk te herstellen.</para> </sect3> </sect2> <sect2> - <title>Een bridge configureren</title> + <title>De kernel instellen</title> + + <para>Deze sectie behandelt de bridges geïmplementeerd met + &man.if.bridge.4;, een stuurprogramma dat bridges met netgraph + implementeert is ook beschikbaar, zie voor meer informatie de + hulppagina &man.ng.bridge.4;.</para> + + <para>Het bridge-stuurprogramma is een kernelmodule en zal + automatisch door &man.ifconfig.8; worden geladen wanneer er een + bridge-interface wordt aangemaakt. Het is mogelijk om de bridge + in de kernel te compileren door + <literal>device if_bridge</literal> aan het + kernelinstellingenbestand toe te voegen.</para> + + <para>Pakketfiltering kan met elk firewall-pakket worden gebruikt + dat via het raamwerk &man.pfil.9; aankoppelt. De firewall kan + als een module worden geladen of in de kernel worden + gecompileerd.</para> + + <para>De bridge kan als met &man.altq.4; of &man.dummynet.4; als + een verkeersregelaar worden gebruikt.</para> + </sect2> + + <sect2> + <title>De bridge inschakelen</title> + + <para>De bridge wordt aangemaakt door interfaces te klonen. Om + een bridge aan te maken wordt &man.ifconfig.8; gebruikt, indien + het bridge-stuurprogramma niet in de kernel aanwezig is zal het + automatisch worden geladen.</para> + + <screen>&prompt.root; <userinput>ifconfig bridge create</userinput> +&prompt.root; <userinput>ifconfig bridge0</userinput> +bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 + ether 96:3d:4b:f1:79:7a + id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 + maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 + root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0</screen> + + <para>Een bridge-interface is aangemaakt en er is automatisch een + random gegenereerd Ethernet-adres aan toegekend. De parameters + <literal>maxaddr</literal> en <literal>timeout</literal> bepalen + hoeveel MAC-adressen de bridge in de doorstuurtabel houdt en + hoeveel seconden voordat elke regel wordt verwijderd nadat het + voor het laatst gezien is. De andere parameters bepalen hoe + Spanning Tree werkt.</para> + + <para>Voeg de netwerk-interfaces die lid zijn aan de bridge toe. + Om de bridge pakketten te laten doorsturen dienen alle + lid-interfaces en de bridge actief te zijn:</para> + + <screen>&prompt.root; <userinput>ifconfig bridge0 addm fxp0 addm fxp1 up</userinput> +&prompt.root; <userinput>ifconfig fxp0 up</userinput> +&prompt.root; <userinput>ifconfig fxp1 up</userinput></screen> + + <para>De bridge stuurt nu Ethernet-frames door tussen + <devicename>fxp0</devicename> en <devicename>fxp1</devicename>. + De overeenkomstige configuratie in + <filename>/etc/rc.conf</filename> zodat de bridge tijdens het + opstarten wordt aangemaakt is:</para> + + <programlisting>cloned_interfaces="bridge0" +ifconfig_bridge0="addm fxp0 addm fxp1 up" +ifconfig_fxp0="up" +ifconfig_fxp1="up"</programlisting> + + <para>Indien de bridge-gastheer een IP-adres nodig heeft dan is de + juiste plaats om dit in te stellen op de bridge-interface zelf + in plaats van op een van de lid-interfaces. Dit kan statisch of + via DHCP worden ingesteld:</para> + + <screen>&prompt.root; <userinput>ifconfig bridge0 inet 192.168.0.1/24</userinput></screen> + + <para>Het is ook mogelijk om een IPv6-adres aan een + bridge-interface toe te kennen.</para> + </sect2> + + <sect2> + <title>Firewalls gebruiken</title> + + <indexterm><primary>firewall</primary></indexterm> + + <para>Wanneer pakketten worden gefilterd, zullen gebridgede + pakketten het filter inbound op de vertrekkende interface + passeren, op de bridge-interface en outbound op de bestemde + interface. Elke stap kan uitgezet worden. Wanneer de richting + van het pakketverkeer belangrijk is, kan de firewall het beste + op de lid-interfaces draaien en niet op de bridge zelf.</para> + + <para>De bridge heeft verschillende aanpasbare instellingen voor + het doorlaten van non-IP- en ARP-pakketten, en een laag 2 + firewall met IPFW. Zie &man.if.bridge.4; voor meer informatie. + </para> + </sect2> + + <sect2> + <title>Opspannende boom</title> + + <para>Het bridge-stuurprogramma implementeert het Rapid Spanning + Tree Protocol (RSTP of 802.1w) met terugwaartse compatibiliteit + met het verouderde Spanning Tree Protocol (STP). Spanning Tree + wordt gebruikt om lussen in een netwerktopologie te detecteren + en verwijderen. RSTP biedt snellere convergentie naar een + opspannende boom dan het verouderde STP, het protocol wisselt + informatie met naburige switches uit om snel naar forwarding + over te gaan zonder lussen te creëren.</para> + + <para>De volgende tabel laat de ondersteunende werkwijzen zien: + </para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>OS-versie</entry> + <entry>STP-modi</entry> + <entry>Standaard modus</entry> + </row> + </thead> + + <tbody> + <row> + <entry>&os; 5.4—&os; 6.2</entry> + <entry>STP</entry> + <entry>STP</entry> + </row> + + <row> + <entry>&os; 6.3+</entry> + <entry>RSTP of STP</entry> + <entry>STP</entry> + </row> + + <row> + <entry>&os; 7.0+</entry> + <entry>RSTP of STP</entry> + <entry>RSTP</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Spanning Tree kan op lid-interfaces worden geactiveerd met + het commando <literal>stp</literal>. Voor een bridge met + <devicename>fxp0</devicename> en <devicename>fxp1</devicename> + ale huidige interfaces, wordt STP met het volgende geactiveerd: + </para> + + <screen>&prompt.root; <userinput>ifconfig bridge0 stp fxp0 stp fxp1</userinput> +bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 + ether d6:cf:d5:a0:94:6d + id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15 + maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 + root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0 + member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 3 priority 128 path cost 200000 proto rstp + role designated state forwarding + member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 4 priority 128 path cost 200000 proto rstp + role designated state forwarding</screen> + + <para>De bridge heeft spanning tree ID + <literal>00:01:02:4b:d4:50</literal> en prioriteit + <literal>32768</literal>. Aangezien het + <literal>root id</literal> hetzelfde is geeft dit aan dat dit de + hoofd-bridge voor de boom is.</para> + + <para>Een andere bridge in het netwerk heeft spanning tree ook + geactiveerd:</para> + + <screen>bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 + ether 96:3d:4b:f1:79:7a + id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15 + maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 + root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 + member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 4 priority 128 path cost 200000 proto rstp + role root state forwarding + member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 5 priority 128 path cost 200000 proto rstp + role designated state forwarding</screen> + + <para>De reegl <literal>root id 00:01:02:4b:d4:50 priority 32768 + ifcost 400000 port 4</literal> geeft aan dat de hoofd-bridge + <literal>00:01:02:4b:d4:50</literal> is zoals boven en dat de + padkosten <literal>400000</literal> zijn vanaf deze bridge, het + pad naar de hoofd-bridge gaat via <literal>port 4</literal> + welke <devicename>fxp0</devicename> is.</para> + </sect2> + + <sect2> + <title>Geavanceerd bridgen</title> <sect3> - <title>De netwerkkaart selecteren</title> + <title>Verkeersstromen reconstrueren</title> + + <para>De bridge ondersteunt monitor-modus, waarin de pakketten + worden verwijderd nadat ze door &man.bpf.4; zijn verwerkt, + en ze niet verder verwerkt of doorgestuurd worden. Dit kan + worden gebruikt om de invoer van twee of meer interfaces naar + een enkele &man.bpf.4;-stroom te multiplexen. Dit is nuttig + voor het reconstrueren van het verkeer voor netwerktaps welke + de RX/TX-signalen over twee verschillende interfaces uitzenden + .</para> - <para>Een bridge heeft minstens twee netwerkkaarten nodig om te - functioneren. Helaas ondersteunen niet alle netwerkkaarten - bridging. Raadpleeg &man.bridge.4; voor details over de - ondersteunde kaarten.</para> + <para>Om de invoer van vier netwerkinterfaces als + één stroom te lezen:</para> - <para>Installeer en test de twee netwerkkaarten alvorens verder - te gaan.</para> + <screen>&prompt.root; <userinput>ifconfig bridge0 addm fxp0 addmfxp1 addm fxp2 addm fxp3 monitor up</userinput> +&prompt.root; <userinput>tcpdump -i bridge0</userinput></screen> </sect3> <sect3> - <title>Kernelinstellingen wijzigingen</title> + <title>SPAN poorten</title> - <indexterm> - <primary>kernelopties</primary> + <para>Van elk Ethernet-frame dat door de bridge wordt ontvangen + wordt er een kopie naar de aangewezen SPAN-poort verstuurd. + Het aantal geconfigureerde SPAN-poorten op een bridge is + onbeperkt, indien een interface aangewezen is als SPAN-poort + kan het niet ook als gewone bridge-poort gebruikt worden. Dit + is het nuttigste voor het passief afluisteren van een + gebridged netwerk op een andere host die met een van de + SPAN-poorten van de brdige verbonden is.</para> - <secondary>BRIDGE</secondary> - </indexterm> + <para>Om een kopie van alle frames naar het interface + <devicename>fxp4</devicename> te versturen:</para> - <para>Om kernelondersteuning voor bridging aan te zetten, dient - de volgende regel aan het kernelinstellingenbestand toegevoegd - te worden:</para> + <screen>&prompt.root; <userinput>ifconfig bridge0 span fxp4</userinput></screen> + </sect3> - <programlisting>options BRIDGE</programlisting> + <sect3> + <title>Privé-interfaces</title> - <para>Hierna dient de kernel opnieuw gebouwd te worden.</para> + <para>Een privé-interface stuurt geen verkeer door naar + poorten die niet ook een privé-interface zijn. Het + verkeer wordt onvoorwaardelijk geblokkeerd, dus worden er + geen Ethernet-frames doorgestuurd, inclusief ARP. Indien + verkeer selectief dient te worden geblokkeerd dient er in + plaats hiervan een firewall gebruikt te worden.</para> </sect3> <sect3> - <title>Firewall-ondersteuning</title> + <title>Klevende interfaces</title> + + <para>Indien een lid-interface van een bridge als klevend is + gemarkeerd worden dynamisch geleerde adresregels als statisch + behandelt wanneer ze in de doorstuurcache komen. Klevende + interfaces vallen nooit uit de cache en worden nooit vervangen + , zelfs niet als het adres op een andere interface wordt + gezien. Dit biedt het voordeel van statische adresregels + zonder dat de doorstuurtabel van te voren gevuld hoeft te + worden, cliënten die geleerd zijn op een bepaald segment + van de bridge kunnen niet roamen naar een ander segment. + </para> + + <para>Een ander voorbeeld voor het gebruik van klevende adressen + zou het combineren van de bridge met VLANs zijn om een router + te creëren waar klantnetwerken geïsoleerd zijn + zonder dat IP-adresruimte verspild wordt. Neem aan dat + <hostid role="hostname">KlantA</hostid> op + <literal>vlan100</literal> zit en <hostid + role="hostname">KlantB</hostid> op + <literal>vlan101</literal>. De bridge heeft het adres + <hostid role="ipaddr">192.168.0.1</hostid> en is tevens een + internet-router.</para> + + <screen>&prompt.root; <userinput>ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101</userinput> +&prompt.root; <userinput>ifconfig bridge0 inet 192.168.0.1/24</userinput></screen> + + <para>Beide cliënten zien <hostid + role="ipaddr">192.168.0.1</hostid> als hun standaard gateway + en aangezien de bridge-cache kleverig is kunnen ze niet het + MAC-adres van de andere klant spoofen om hun verkeer op te + vangen.</para> - <indexterm><primary>firewall</primary></indexterm> + <para>Alle communicatie tussen de VLANs kan geblokkeerd worden + door het gebruik van privé-interfaces (of een firewall) + :</para> - <para>Indien de bridge als firewall gebruikt gaat worden, dient - ook de optie <literal>IPFIREWALL</literal> toegevoegd te - worden. Raadpleeg <xref linkend="firewalls"> voor algemene - informatie over het instellen van de bridge als firewall.</para> + <screen>&prompt.root; <userinput>ifconfig bridge0 private vlan100 private vlan101</userinput></screen> - <para>Indien het nodig is om niet-IP-pakketten (zoals ARP) door - de bridge moeten stromen, dient dit in de firewall ingesteld - te worden. De optie <literal>IPFIREWALL_DEFAULT_TO_ACCEPT</literal> - dient hiervoor. Merk op dat dit de standaardregel van de - firewall zo verandert dat het elk pakket accepteert. Ben er - zeker van de betekenis van deze verandering op de - regelverzameling voordat deze optie wordt ingesteld.</para> + <para>De klanten zijn compleet geïsoleerd van elkaar, het + volledige <hostid role="netmask">/24</hostid> adresruimte kan + zonder subnetten toegewezen worden.</para> </sect3> <sect3> - <title>Bandbreedtebeheersing ondersteuning</title> + <title>Adresbeperkingen</title> + + <para>Het aantal unieke bron-MAC-adressen achter een interface + kan beperkt zijn. Wanneer de limiet bereikt is worden + pakketten met een onbekend bronadres gedropt totdat een + bestaande ingang in de host-cache vervalt of wordt verwijderd. + </para> + + <para>Het volgende voorbeeld stelt het maximum aantal + Ethernet-apparaten voor <hostid + role="hostname">KlantA</hostid> op + <literal>vlan100</literal> in op 10.</para> - <para>Indien het gewenst is om de bridge als beheerder voor de - bandbreedte te gebruikken, dient de optie - <literal>DUMMYNET</literal> aan de kernelinstellingen te - worden toegevoegd. Raadpleeg &man.dummynet.4; voor meer - informatie.</para> + <screen>&prompt.root; <userinput>ifconfig bridge0 ifmaxaddr vlan100 10</userinput></screen> </sect3> - </sect2> - <sect2> - <title>De bridge inschakelen</title> + <sect3> + <title>SNMP-monitoring</title> - <para>Voeg de volgende regel aan <filename>/etc/sysctl.conf</filename> - toe om de bridge op runtime aan te zetten:</para> + <para>De bridge-interface en STP-parameters kunnen gemonitord + worden via het SNMP-daemon dat met het basis &os;-systeem + wordt meegeleverd. De geëxporteerde bridge-MIBs houden + zich an de standaarden van de IETF zodat elke SNMP-cliënt + of monitorpakket kan worden gebruikt om de gegevens te + verzamelen.</para> - <programlisting>net.link.ether.bridge.enable=1</programlisting> + <para>Op de bridge-machine dient de regel + <literal>begemotSnmpdModulePath."bridge" = + "/usr/lib/snmp_bridge.so"</literal> van + <filename>/etc/snmp.config</filename> geactiveerd te worden en + het daemon <application>bsnmpd</application> gestart te worden + . Andere instellingen zoals gemeenschapsnamen en + toegangslijsten dienen eventueel aangepast te worden. Zie + &man.bsnmpd.1; en &man.snmp.bridge.3; voor meer informatie. + </para> - <para>en de volgende regel om bridging op de gespecificeerde - interfaces aan te zetten (vervang <replaceable>if1</replaceable> - en <replaceable>if2</replaceable> met de namen van de twee - netwerkkaarten):</para> + <para>Het volgende voorbeeld gebruikt de software + <application>Net-SNMP</application> (<filename + role="package">net-mgmt/net-snmp</filename> om een bridge te + ondervragen, de port <filename + role="package">net-mgmt/bsnmptools</filename> kan ook worden + gebruikt. Voeg de volgende regels toe aan + <filename>$HOME/.snmp/snmp.conf</filename> op de + SNMP-cliënt-host om de MIB-definities van de bridge in + <application>Net-SNMP</application> te importeren:</para> - <programlisting>net.link.ether.bridge.config=<replaceable>if1</replaceable>,<replaceable>if2</replaceable></programlisting> + <programlisting>mibdirs +/usr/share/snmp/mibs +mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB</programlisting> - <para>Indien het gewenst is om de gebridgede pakketten te filteren - met &man.ipfw.8;, dient het volgende toegevoegd te worden:</para> + <para>Om een enkele bridge via de IETF BRIDGE-MIB (RFC4188) te + monitoren:</para> - <programlisting>net.link.ether.bridge.ipfw=1</programlisting> + <screen>&prompt.user; <userinput>snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge</userinput> +BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 +BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports +BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds +BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 +BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 +... +BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) +BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) +BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 +BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 +BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 +BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 +RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)</screen> - <para>Voor versies lager dan &os; 5.2-RELEASE dienen echter - de volgende regels gebruikt te worden:</para> + <para>De waarde <literal>dot1dStpTopChanges.0</literal> is twee + wat betekent dat de topologie van de STP-bridge twee maal + veranderd is, een topologieverandering houdt in dat + één of meerdere links in het netwerk zijn + veranderd of hebben gefaald en dat er een nieuwe boom is + berekend. De waarde + <literal>dot1dStpTimeSinceTopologyChange.0</literal> laat zien + wanneer dit gebeurde.</para> - <programlisting>net.link.ether.bridge=1 -net.link.ether.bridge_cfg=<replaceable>if1</replaceable>,<replaceable>if2</replaceable> -net.link.ether.bridge_ipfw=1</programlisting> - </sect2> + <para>Om meerdere bridge-interfaces te monitoren kan men het + privé BEGEMOT-BRIDGE-MIB gebruiken:</para> - <sect2> - <title>Overige informatie</title> + <screen>&prompt.user; <userinput>snmpwalk -v 2c -c public bridge1.example.com</userinput> +enterprises.fokus.begemot.begemotBridge +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 +... +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9</screen> - <para>Indien het gewenst is om de bridge met &man.ssh.1; over het - netwerk te benaderen, is het juist om aan één van - de netwerkkaarten een IP-adres toe te kennen. De algemene - gedachte is dat het toekennen van een IP-adres aan beide kaarten - een slecht idee is.</para> + <para>Om de bridge-interface die via de subboom + <literal>mib-2.dot1dBridge</literal> wordt gemonitord te + veranderen:</para> - <para>Indien er meerdere bridges in het netwerk aanwezig zijn, kan - er niet meer dan één pad zijn tussen twee - willekeurige werkstations. Technisch gezien betekent dit dat er - geen ondersteuning is voor het koppelen van opspannende bomen.</para> - - <para>Een bridge kan latency toevoegen aan de tijden van - &man.ping.8;, in het bijzonder voor verkeer dat van het ene naar - het andere segment gaat.</para> + <screen>&prompt.user; <userinput>snmpset -v 2c -c private bridge1.example.com</userinput> +BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2</screen> + </sect3> </sect2> </sect1> @@ -3150,8 +3474,8 @@ </listitem> <listitem> - <para>De poort <application>Etherboot</application> ( - <filename role="package">net/etherboot</filename>) maakt + <para>De poort <application>Etherboot</application> + (<filename role="package">net/etherboot</filename>) maakt code aan dat naar een ROM geschreven kan worden en dat kernels over het netwerk opstart. De code kan òfwel naar een opstart-PROM op een netwerkkaart @@ -3164,8 +3488,8 @@ </listitem> <listitem> - <para>Een voorbeeldscript ( - <filename>/usr/share/examples/diskless/cone_root</filename>) + <para>Een voorbeeldscript + (<filename>/usr/share/examples/diskless/cone_root</filename>) vergemakkelijkt het aanmaken en beheren van het root bestandssysteem van het werkstation op de server. Het kan nodig zijn dat het script wat aangepast moet worden, maar het @@ -3273,8 +3597,8 @@ <para><acronym>DHCP</acronym> biedt echter een aantal voordelen boven BOOTP (fijnere instellingsbestanden, mogelijkheid om <acronym>PXE</acronym> te gebruiken, en vele - anderen die niet direct verband houden met schijfloos werken - ), er zal hoofdzakelijk een opstelling met + anderen die niet direct verband houden met schijfloos + werken), er zal hoofdzakelijk een opstelling met <acronym>DHCP</acronym> worden beschreven, met analoge voorbeelden voor &man.bootpd.8; indien mogelijk. De voorbeeldopstelling zal het softwarepakket van @@ -3439,8 +3763,8 @@ <filename>pxeboot</filename> en niet de kernel laadt. Er zijn andere interessante mogelijkheden, zoals het laden van <filename>pxeboot</filename> vanuit de map <filename - class="directory">/boot</filename> van een &os; CD-ROM ( - aangezien &man.pxeboot.8; een <filename>GENERIC</filename> + class="directory">/boot</filename> van een &os; CD-ROM + (aangezien &man.pxeboot.8; de <filename>GENERIC</filename> kernel kan laden, bestaat de mogelijkheid om <acronym>PXE</acronym> te gebruiken om van een CDROM op afstand op te starten.</para> @@ -3515,8 +3839,8 @@ role="package">net/etherboot</filename> geïnstalleerd te worden.</para> - <para>De instellingen van <application>Etherboot</application> ( - i.e. om <acronym>TFTP</acronym> in plaats van + <para>De instellingen van <application>Etherboot</application> + (i.e. om <acronym>TFTP</acronym> in plaats van <acronym>NFS</acronym> te gebruiken) kunnen gewijzigd worden door het bestand <filename>Config</filename> in de bronmap van <application>Etherboot</application> te bewerken.</para>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808260722.m7Q7Mjfr091758>