PERFORCE change 148495 for review
Remko Lodder
remko at FreeBSD.org
Tue Aug 26 07:22:46 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148495
Change 148495 by remko at 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>
More information about the p4-projects
mailing list