Gentoo Logo

Disclaimer : Dit document is niet juist en is niet meer onderhouden.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


3. Netwerken in modules

Inhoud:

3.a. Netwerk Modules

Omdat we tegenwoordig modulaire netwerk scripts gebruiken, kunnen we eenvoudig nieuwe interfaces en configuratie modules toevoegen, terwijl de oude interfaces ondersteund blijven.

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.

Nota: Alle instellingen worden opgeslagen in /etc/conf.d/net tenzij anders wordt aangegeven.

Codevoorbeeld 1.1: Module instellen

# iproute2 gebruiken in plaats van ifconfig
modules=( "iproute2" )

# U kunt ook modules per interface instellen
# In dit geval gebruiken we udhcpc in plaats van dhcpcd
modules_eth0=( "udhcpc" )

# 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.
modules=( "!iwconfig" )

3.b. Interface Handlers

Op dit moment worden twee hulpprogramma's ondersteund: ifconfig en iproute2. U moet één van beide gebruiken indien u een netwerk op wilt zetten.

ifconfig is Gentoo's standaard en wordt met het systeem mee geïnstalleerd. iproute2 heeft meer mogelijkheden, maar wordt niet standaard mee geleverd.

Codevoorbeeld 2.1: Het installeren van iproute2

# emerge sys-apps/iproute2

# Om iproute2 te gebruiken in plaats van ifconfig
modules=( "iproute2" )

ifconfig en iproute2 doen ongeveer hetzelfde, daarom kunnen beide naast elkaar draaien. De onderstaande code zou bijvoorbeeld voor beide programma's gebruikt kunnen worden.

Codevoorbeeld 2.2: ifconfig en iproute2 voorbeelden

config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

# Instellen van broadcast
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" )

3.c. DHCP

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.

DHCP kan geleverd worden door dhclient, dhcpcd, pump of udhcpc. Ieder van deze pakketten heeft zo zijn voor- en nadelen, die hieronder op een rijtje worden gezet.

DHCP Module Pakket Voordelen Nadelen
dhclient net-misc/dhcp Ontwikkeld bij ISC, dezelfde mensen die de BIND DNS software maken. Heel veel instellingen mogelijk 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
dhcpcd net-misc/dhcpcd Sinds lang de standaard in Gentoo. Geen andere toepassingen nodig Wordt niet meer bijgehouden door zijn ontwikkelaars, kan traag zijn. Werkt niet als daemon wanneer de verbinding oneindig is
pump net-misc/pump Weinig resources nodig, geen andere toepassingen nodig Wordt niet meer bijgehouden door zijn ontwikkelaars, onbetrouwbaar, met name over modems. Kan niet met NIS servers overweg via DHCP
udhcpc net-misc/udhcp Weinig resources nodig - kleinste DHCP cliënt, ontwikkeld voor embedded systems Unbekend - geen enkele distributie gebruikt deze client standaard. Moet elke 3 seconden de verbinding checken (geen andere instelling mogelijk)

Wanneer u meer dan één DHCP cliënt hebt geïnstalleerd moet u aangeven welke u wilt gebruiken - indien u dat niet doet wordt dhcpcd gebruikt, indien aanwezig.

Om opties aan een DHCP module mee te geven, gebruiken we module_eth0="..." (Verander module in de DHCP module die u gebruikt - bijv. dhcpcd_eth0

We hebben geprobeerd DHCP zo eenvoudig mogelijk te maken - daarom worden de volgende commando's ondersteund via de variabele dhcp_eth0. Standaard hoeven deze niet ingesteld:

  • release - IP adressen vernieuwen
  • nodns - overschrijf /etc/resolv.conf niet
  • nontp - overschrijf /etc/ntp.conf niet
  • nonis - overschrijf /etc/yp.conf niet

Codevoorbeeld 3.1: Voorbeeld DHCP instellingen in /etc/conf.d/net

# Alleen nodig wanneer u meer dan één DHCP module hebt
modules=( "dhcpcd" ) 

config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10" # Na 10 seconden stoppen met proberen
dhcp_eth0="release nodns nontp nonis" # Alleen een IP adres vragen

Nota: dhcpcd, udhcpc en pump sturen automatisch de huidige hostnaam naar de DHCP server. Dit hoeft u dus niet meer in te stellen.

3.d. ADSL Modem

Allereerst moeten we de ADSL software installeren.

Codevoorbeeld 4.1: Installeer het rp-pppoe pakket

# emerge net-dialup/rp-pppoe

Waarschuwing: baselayout-1.11.x ondersteunt alleen PPPoE. In de toekomst hopen we dat ook PPPoA wordt ondersteund.

Nu moeten we aangeven dat eth0 een ADSL interface is en onze gebruikersnaam invullen door /etc/conf.d/net aan te passen.

Codevoorbeeld 4.2: Instellen van eth0 voor ADSL in /etc/conf.d/net

config_eth0=( "adsl" )
adsl_user_eth0="gebruikersnaam"

Tot slot moet u uw gebruikersnaam en wachtwoord in /etc/ppp/pap-secrets zetten.

Codevoorbeeld 4.3: Voorbeeld /etc/ppp/pap-secrets

# De asterisk (*) is belangrijk
"gebruikersnaam"  *  "wachtwoord"

3.e. APIPA (Automatic Private IP Addressing)

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.

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.

Om APIPA te kunnen gebruiken, typt u emerge net-misc/iputils of net-analyzer/arping.

Codevoorbeeld 5.1: APIPA instellen in /etc/conf.d/net

# Probeer eerst DHCP - als dat niet werkt, probeer dan APIPA
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )

# Alleen APIPA gebruiken
config_eth0=( "apipa" )

3.f. Bonding (samenvoegen van netwerkverbindingen)

Om gebruik te maken van link bonding/trunking, typt u emerge net-misc/ifenslave.

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.

Codevoorbeeld 6.1: bonding instellen in /etc/conf.d/net

# Interfaces samenvoegen
slaves_bond0="eth0 eth1 eth2"

# Indien u geen IP adres wilt toekennen aan de samengevoegde interface
config_bond0=( "null" )

# Maak afhankelijk van eth0, eth1 en eth2, omdat er extra instellingen nodig kunnen zijn
depend_bond0() {
  need net.eth0 net.eth1 net.eth2
}

3.g. Netwerkbrug instellen (802.1d ondersteuning)

Voor het gebruiken van een netwerkbrug typt u emerge net-misc/bridge-utils.

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.

Codevoorbeeld 7.1: Netwerkbrug instellingen in /etc/conf.d/net

# Instellen van de netwerkbrug - typ "man btctl" voor details
brctl_br0=( "setfd 0" "sethello 0" "stp off" )

# Voeg netwerkkaarten toe aan br0
bridge_br0="eth0 eth1"

# U moet de netwerkkaarten instellen op null, zodat ze geen DHCP gebruiken
config_eth0=( "null" )
config_eth1=( "null" )

# Tot slot geeft u de netwerkbrug een IP adres - DHCP kan hier ook
config_br0=( "192.168.0.1/24" )

# Maak de netwerkbrug afhankelijk van eth0 en eth1
depend_br0() {
  need net.eth0 net.eth1
}

Belangrijk: Voor meer informatie over netwerkbruggen kunt u kijken in de handleiding het benoemen van variabelen.

3.h. MAC Adres

Wanneer u sys-apps/baselayout-1.11.14 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 net-analyzer/macchanger installeren om gebruik te maken van deze mogelijkheid.

Codevoorbeeld 8.1: MAC Adres veranderen

# Het MAC adres instellen
mac_eth0="00:11:22:33:44:55"

# De laatste 3 bytes willekeurig instellen
mac_eth0="random-ending"

# Willekeurige adressen van hetzelfde type gebruiken (bijv. glasvezel,
# koper, wireless) , voor alle typen kaarten
mac_eth0="random-samekind"

# Willekeurige adressen van willekeurige typen gebruiken
mac_eth0="random-anykind"

# Volledig willekeurig - PAS OP: sommige gegenereerde MAC adressen
# kunnen niet werken
mac_eth0="random-full"

3.i. Tunnelen

Om de functie tunnelen te gebruiken hoeft u niets te doen, dit is een standaard functie.

Codevoorbeeld 9.1: Tunnelen instellen in /etc/conf.d/net

# GRE tunnels
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# IPIP tunnels
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# Instellen van de interface
config_vpn0=( "192.168.0.2 peer 192.168.1.1" ) 

3.j. VLAN (802.1q ondersteuning)

Voor VLAN ondersteuning typt u emerge net-misc/vconfig.

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.

Codevoorbeeld 10.1: VLAN instellen in /etc/conf.d/net

# Geef de interface een VLAN nummer
# Zorg ervoor dat u het VLAN niet instelt met voorloop nullen
vlans_eth0="1 2"

# U kunt ook het VLAN instellen
# Kijk in de vconfig handleiding voor meer details
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

# Stel de netwerkkaart in als normaal
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

Belangrijk: Voor het gebruik van VLAN kunt u ook kijken in de handleiding het benoemen van variabelen


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Print

View all

Upgedate op 30 augustus 2006

De originele versie van dit document was laatst geupdate om 1 juni 2014

Korte inhoud: Gentoo geeft u de mogelijkheid om flexibel te netwerken - hier wordt u uitleg gegeven over het kiezen van DHCP clients, bonding, bridging, VLAN en meer.

Sven Vermeulen
Author

Roy Marples
Author

Daniel Robbins
Author

Chris Houser
Author

Jerry Alexandratos
Author

Seemant Kulleen
Gentoo x86 Developer

Tavis Ormandy
Gentoo Alpha Developer

Jason Huebel
Gentoo AMD64 Developer

Guy Martin
Gentoo HPPA developer

Pieter Van den Abeele
Gentoo PPC developer

Joe Kallar
Gentoo SPARC developer

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Reviewer

Gerald J. Normandin Jr.
Reviewer

Donnie Berkholz
Reviewer

Ken Nowack
Reviewer

Lars Weiler
Contributor

Dimitry Bradt
Translator

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.