<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sections SYSTEM "/dtd/book.dtd"> <!-- The content of this document is licensed under the CC-BY-SA license --> <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> <!-- $Header: $ --> <!-- SYNC: 1.13 --> <sections> <version>1.7</version> <date>2006-01-03</date> <section> <title>Netwerk Modules</title> <body> <p> Omdat we tegenwoordig modulaire netwerk scripts gebruiken, kunnen we eenvoudig nieuwe interfaces en configuratie modules toevoegen, terwijl de oude interfaces ondersteund blijven. </p> <p> De modules worden automatisch geladen indien een pakket geïnstalleerd wordt dat ze nodig heeft. Als u een module instelt om te gebruiken waarvan u het pakket niet hebt geïnstalleerd krijgt u een waarschuwing, dat u het pakket moet installeren. In principe hoeft u modules alleen in te stellen wanneer u meer dan één pakket hebt geïnstalleerd voor dezelfde functie en u er één prefereert boven de andere. </p> <pre caption="Module instellen"> <comment># iproute2 gebruiken in plaats van ifconfig</comment> modules=( "iproute2" ) <comment># U kunt ook modules per interface instellen # In dit geval gebruiken we udhcpc in plaats van dhcpcd</comment> modules_eth0=( "udhcpc" ) <comment># U kunt ook aangeven welke modules u niet wilt gebruiken - bijvoorbeeld # omdat u supplicant of linux-wlan-ng gebruikt voor uw draadloze instellingen, # maar u toch uw netwerk per ESSID wilt instellen.</comment> modules=( "!iwconfig" ) </pre> </body> </section> <section> <title>Interface Handlers</title> <body> <p> Op dit moment worden twee hulpprogramma's ondersteund: <c>ifconfig</c> en <c>iproute2</c>. U moet één van beide gebruiken indien u een netwerk op wilt zetten. </p> <p> <c>ifconfig</c> is Gentoo's standaard en wordt met het systeem mee geïnstalleerd. <c>iproute2</c> heeft meer mogelijkheden, maar wordt niet standaard mee geleverd. </p> <pre caption="Het installeren van iproute2"> # <i>emerge sys-apps/iproute2</i> <comment># Om iproute2 te gebruiken in plaats van ifconfig</comment> modules=( "iproute2" ) </pre> <p> <c>ifconfig</c> en <c>iproute2</c> doen ongeveer hetzelfde, daarom kunnen beide naast elkaar draaien. De onderstaande code zou bijvoorbeeld voor beide programma's gebruikt kunnen worden. </p> <pre caption="ifconfig en iproute2 voorbeelden"> config_eth0=( "192.168.0.2/24" ) config_eth0=( "192.168.0.2 netmask 255.255.255.0" ) <comment># Instellen van broadcast</comment> config_eth0=( "192.168.0.2/24 brd 192.168.0.255" ) config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" ) </pre> </body> </section> <section id="dhcp"> <title>DHCP</title> <body> <p> DHCP is een manier om netwerk informatie te verkrijgen (IP adres, DNS servers, een gateway, etc) van een DHCP server. Wanneer er dus een DHCP server op uw netwerk aanwezig is, kunt u elke client instellen om DHCP te gebruiken en op die manier automatisch het netwerk in te stellen. U moet dan natuurlijk wel nog zaken als wireless en PPP zelf instellen voor u gebruik kunt maken van DHCP via deze protocollen. </p> <p> DHCP kan geleverd worden door <c>dhclient</c>, <c>dhcpcd</c>, <c>pump</c> of <c>udhcpc</c>. Ieder van deze pakketten heeft zo zijn voor- en nadelen, die hieronder op een rijtje worden gezet. </p> <table> <tr> <th>DHCP Module</th> <th>Pakket</th> <th>Voordelen</th> <th>Nadelen</th> </tr> <tr> <ti><c>dhclient</c></ti> <ti><c>net-misc/dhcp</c></ti> <ti> Ontwikkeld bij ISC, dezelfde mensen die de BIND DNS software maken. Heel veel instellingen mogelijk </ti> <ti> Instellingen zijn betrekkelijk complex, de software heeft misschien te veel functies. Kan geen gebruik maken van NTP via DHCP, stuurt de hostnaam niet automatisch door </ti> </tr> <tr> <ti><c>dhcpcd</c></ti> <ti><c>net-misc/dhcpcd</c></ti> <ti> Sinds lang de standaard in Gentoo. Geen andere toepassingen nodig </ti> <ti> Wordt niet meer bijgehouden door zijn ontwikkelaars, kan traag zijn. Werkt niet als daemon wanneer de verbinding oneindig is </ti> </tr> <tr> <ti><c>pump</c></ti> <ti><c>net-misc/pump</c></ti> <ti> Weinig resources nodig, geen andere toepassingen nodig </ti> <ti> Wordt niet meer bijgehouden door zijn ontwikkelaars, onbetrouwbaar, met name over modems. Kan niet met NIS servers overweg via DHCP </ti> </tr> <tr> <ti><c>udhcpc</c></ti> <ti><c>net-misc/udhcp</c></ti> <ti> Weinig resources nodig - kleinste DHCP cliënt, ontwikkeld voor embedded systems </ti> <ti> Unbekend - geen enkele distributie gebruikt deze client standaard. Moet elke 3 seconden de verbinding checken (geen andere instelling mogelijk) </ti> </tr> </table> <p> Wanneer u meer dan één DHCP cliënt hebt geïnstalleerd moet u aangeven welke u wilt gebruiken - indien u dat niet doet wordt <c>dhcpcd</c> gebruikt, indien aanwezig. </p> <p> Om opties aan een DHCP module mee te geven, gebruiken we <c>module_eth0="..."</c> <e>(Verander module in de DHCP module die u gebruikt - bijv. <c>dhcpcd_eth0</c></e> </p> <p> We hebben geprobeerd DHCP zo eenvoudig mogelijk te maken - daarom worden de volgende commando's ondersteund via de variabele <c>dhcp_eth0</c>. Standaard hoeven deze niet ingesteld: </p> <ul> <li><c>release</c> - IP adressen vernieuwen</li> <li><c>nodns</c> - overschrijf <path>/etc/resolv.conf</path> niet</li> <li><c>nontp</c> - overschrijf <path>/etc/ntp.conf</path> niet</li> <li><c>nonis</c> - overschrijf <path>/etc/yp.conf</path> niet</li> </ul> <pre caption="Voorbeeld DHCP instellingen in /etc/conf.d/net"> <comment># Alleen nodig wanneer u meer dan één DHCP module hebt</comment> modules=( "dhcpcd" ) config_eth0=( "dhcp" ) dhcpcd_eth0="-t 10" <comment># Na 10 seconden stoppen met proberen</comment> dhcp_eth0="release nodns nontp nonis" <comment># Alleen een IP adres vragen</comment> </pre> <note> <c>dhcpcd</c>, <c>udhcpc</c> en <c>pump</c> sturen automatisch de huidige hostnaam naar de DHCP server. Dit hoeft u dus niet meer in te stellen. </note> </body> </section> <section> <title>ADSL Modem</title> <body> <p> Allereerst moeten we de ADSL software installeren. </p> <pre caption="Installeer het rp-pppoe pakket"> # <i>emerge net-dialup/rp-pppoe</i> </pre> <warn> <c>baselayout-1.11.x</c> ondersteunt alleen PPPoE. In de toekomst hopen we dat ook PPPoA wordt ondersteund. </warn> <p> Nu moeten we aangeven dat <c>eth0</c> een ADSL interface is en onze gebruikersnaam invullen. </p> <pre caption="Instellen van eth0 voor ADSL"> config_eth0=( "adsl" ) adsl_user_eth0="gebruikersnaam" </pre> <p> Tot slot moet u uw gebruikersnaam en wachtwoord in <path>/etc/ppp/pap-secrets</path> zetten. </p> <pre caption="Voorbeeld /etc/ppp/pap-secrets"> <comment># De asterisk (*) is belangrijk</comment> "gebruikersnaam" * "wachtwoord" </pre> </body> </section> <section id="apipa"> <title>APIPA (Automatic Private IP Addressing)</title> <body> <p> APIPA probeert een vrij adres te vinden binnen het bereik van 169.254.0.0 tot 169.254.255.255, door willekeurig een adres aan te spreken. Als er geen antwoord komt, wordt het adres gebruikt voor de interface. </p> <p> Dit is alleen handig voor LAN's zonder DHCP server, wanneer u niet direct met internet verbonden bent en de andere computers in het netwerk ook APIPA gebruiken. </p> <p> Om APIPA te kunnen gebruiken, typt u emerge <c>net-misc/iputils</c> of <c>net-analyzer/arping</c>. </p> <pre caption="APIPA instellen in /etc/conf.d/net"> <comment># Probeer eerst DHCP - als dat niet werkt, probeer dan APIPA</comment> config_eth0=( "dhcp" ) fallback_eth0=( "apipa" ) <comment># Alleen APIPA gebruiken</comment> config_eth0=( "apipa" ) </pre> </body> </section> <section> <title>Bonding (samenvoegen van netwerkverbindingen)</title> <body> <p> Om gebruik te maken van link bonding/trunking, typt u emerge <c>net-misc/ifenslave</c>. </p> <p> Bonding wordt gebruikt om meer bandbreedte te creëren. Als u twee netwerkkaarten in hetzelfde netwerk hebt, kunt u die samenvoegen zodat uw toepassingen ze als één kaart zien, maar wel beide kaarten gebruiken. </p> <pre caption="bonding instellen in /etc/conf.d/net"> <comment># Interfaces samenvoegen</comment> slaves_bond0="eth0 eth1 eth2" <comment># Indien u geen IP adres wilt toekennen aan de samengevoegde interface</comment> config_bond0=( "null" ) <comment># Maak afhankelijk van eth0, eth1 en eth2, omdat er extra instellingen nodig kunnen zijn</comment> depend_bond0() { need net.eth0 net.eth1 net.eth2 } </pre> </body> </section> <section> <title>Netwerkbrug instellen (802.1d ondersteuning)</title> <body> <p> Voor het gebruiken van een netwerkbrug typt u emerge <c>net-misc/bridge-utils</c>. </p> <p> Een netwerkbrug voegt netwerken samen. U kunt bijvoorbeeld een server instellen die via een ADSL modem verbinding heeft met internet en via een wireless kaart de andere computers in uw netwerk in staat stelt via het ADSL modem verbinding te maken met het internet. Met een netwerkbrug kunt u de twee netwerkkaarten verbinden. </p> <pre caption="Netwerkbrug instellingen in /etc/conf.d/net"> <comment># Instellen van de netwerkbrug - typ "man btctl" voor details</comment> brctl_br0=( "setfd 0" "sethello 0" "stp off" ) <comment># Voeg netwerkkaarten toe aan br0</comment> bridge_br0="eth0 eth1" <comment># U moet de netwerkkaarten instellen op null, zodat ze geen DHCP gebruiken</comment> config_eth0=( "null" ) config_eth1=( "null" ) <comment># Tot slot geeft u de netwerkbrug een IP adres - DHCP kan hier ook</comment> config_br0=( "192.168.0.1/24" ) <comment># Maak de netwerkbrug afhankelijk van eth0 en eth1</comment> depend_br0() { need net.eth0 net.eth1 } </pre> <impo> Voor meer informatie over netwerkbruggen kunt u kijken in de handleiding <uri link="?part=4&chap=2#variable_name">het benoemen van variabelen</uri>. </impo> </body> </section> <section> <title>MAC Adres</title> <body> <p> Wanneer u <c>sys-apps/baselayout-1.11.14</c> of nieuwer gebruikt, hoeft u geen extra software te installeren om uw MAC adres te veranderen. Wanneer u echter een willekeurig MAC adres wilt of een oudere versie van de baselayout gebruikt, dan kunt u <c>net-analyzer/macchanger</c> installeren om gebruik te maken van deze mogelijkheid. </p> <pre caption="MAC Adres veranderen"> <comment># Het MAC adres instellen</comment> mac_eth0="00:11:22:33:44:55" <comment># De laatste 3 bytes willekeurig instellen</comment> mac_eth0="random-ending" <comment># Willekeurige adressen van hetzelfde type gebruiken (bijv. glasvezel, # koper, wireless) , voor alle typen kaarten</comment> mac_eth0="random-samekind" <comment># Willekeurige adressen van willekeurige typen gebruiken</comment> mac_eth0="random-anykind" <comment># Volledig willekeurig - PAS OP: sommige gegenereerde MAC adressen # kunnen niet werken</comment> mac_eth0="random-full" </pre> </body> </section> <section> <title>Tunnelen</title> <body> <p> Om de functie tunnelen te gebruiken hoeft u niets te doen, dit is een standaard functie. </p> <pre caption="Tunnelen instellen in /etc/conf.d/net"> <comment># GRE tunnels</comment> iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255" <comment># IPIP tunnels</comment> iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255" <comment># Instellen van de interface</comment> config_vpn0=( "192.168.0.2 peer 192.168.1.1" ) </pre> </body> </section> <section> <title>VLAN (802.1q ondersteuning)</title> <body> <p> Voor VLAN ondersteuning typt u emerge <c>net-misc/vconfig</c>. </p> <p> Een virtueel LAN is een groep netwerk apparaten die zich gedragen alsof ze samen in een netwerk zitten - ook al hoeft dit niet het geval te zijn. VLAN leden kunnen alleen leden van hetzelfde VLAN zien, ook al gebruiken ze dezelfde netwerk verbinding. </p> <pre caption="VLAN instellen in /etc/conf.d/net"> <comment># Geef de interface een VLAN nummer</comment> <comment># Zorg ervoor dat u het VLAN niet instelt met voorloop nullen</comment> vlans_eth0="1 2" <comment># U kunt ook het VLAN instellen</comment> <comment># Kijk in de vconfig handleiding voor meer details</comment> vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" ) vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" ) <comment># Stel de netwerkkaart in als normaal</comment> config_vlan1=( "172.16.3.1 netmask 255.255.254.0" ) config_vlan2=( "172.16.2.1 netmask 255.255.254.0" ) </pre> <impo> Voor het gebruik van VLAN kunt u ook kijken in de handleiding <uri link="?part=4&chap=2#variable_name">het benoemen van variabelen</uri> </impo> </body> </section> </sections>