Gentoo Logo

1.  Geavanceerde configuratie

De variabele config_eth0 is het hart van een netwerkkaart configuratie. Het is een geavanceerde instructielijst om de netwerkkaart (eth0 in dit geval) in te stellen. Elk commando wordt na het vorige uitgevoerd en wanneer tenminste één commando werkt zal de netwerkkaart zijn werk kunnen uitvoeren.

Hieronder volgt een lijst met ingebouwde instructies.

Commando Beschrijving
null Doe niets
noop Wanneer de netwerkkaart het doet en er een IP adres is, breek dan de verdere configuratie af
Een IPv4 of IPv6 adres Voeg het adres toe aan de netwerkkaart
dhcp, adsl of apipa (of een ander commando van een ander programma) Start de module die het commando opgeeft. Zo zal dhcp een module starten die DHCP beschikbaar maakt, bijvoorbeeld dhcpcd, udhcpc, dhclient of pump.

Voor het geval een commando niet werkt, kunt u een tweede keus opgeven. Deze tweede keus moet de structuur van de configuratie bestanden uiteraard ook volgen.

U kunt verschillende commando's achter elkaar gebruiken. Hieronder volgen enkele voorbeelden.

Codevoorbeeld 1.1: Voorbeeld instellingen

# Drie IPv4 adressen instellen
config_eth0=(
  "192.168.0.2/24"
  "192.168.0.3/24"
  "192.168.0.4/24"
)

# Een IPv4 adres en twee IPv6 adressen instellen
config_eth0=(
  "192.168.0.2/24"
  "4321:0:1:2:3:4:567:89ab"
  "4321:0:1:2:3:4:567:89ac"
)

# Gebruik van het door uw kernel bepaalde adres, tenzij het
# netwerk plaat gaat, gebruik dan DHCP. Als DHCP niet werkt, gebruik dan een
# vast IP adres, bepaald door APIPA
config_eth0=(
  "noop"
  "dhcp"
)
fallback_eth0=(
  "null"
  "apipa"
)

Nota: Wanneer u de module ifconfig gebruikt en meer dan één adres toevoegt, worden er aliassen gecreëerd voor de extra adressen. Dus met de bovenstaande voorbeelden krijgt u de netwerk interfaces eth0, eth0:1 en eth0:2. U kunt verder niets met deze interfaces; de kernel en alle toepassing zullen ze als eth0 beschouwen.

Belangrijk: Het instellen van de tweede keus is heel belangrijk. Indien we de optie null niet instellen, zal apipa alleen starten wanneer noop niet werkt namelijk.

Nota: (APIPA) en (DHCP) worden later besproken.

1.  Netwerk afhankelijkheden

De init scripts in de map /ect/init.d kunnen op een specifieke netwerkkaart zijn toegespitst of in het algemeen op de netwerkkaarten. net kunt u definiëren in /etc/conf.d/rc. Hier kunnen verschillende instellingen worden gekozen via RC_NET_STRICT_CHECKING.

Waarde Beschrijving
none De service net wordt geacht altijd online te zijn
no Dit betekent dat er tenminste één service van het type net.* moet werken naast net.lo. Dit is handig voor laptop gebruikers die een WIFI en een vaste netwerkverbinding hebben en slechts één van beiden tegelijk online willen hebben.
lo Dit een zelfde optie als de optie no, alleen wordt nu net.lo ook meegeteld. Dit is handig voor mensen die niet altijd een netwerkkaart willen opstarten.
yes In dit geval moeten ALLE netwerkkaarten werken om de service net als online te laten zien.

Maar hoe werkt het nu wanneer u net.br0 heeft, die afhankelijk is van net.eth0 en net.eth1? net.eth1 kan in dit geval bijvoorbeeld een wireless of PPP verbinding zijn, die moet worden ingesteld voordat deze wordt toegevoegd aan de netwerkbrug. Dit kan niet gebeuren in /etc/init.d/net.br0, aangezien dit een symlink naar net.lo is.

Hiervoor zult u een eigen depend() functie in /etc/conf.d/net moeten aanmaken.

Codevoorbeeld 1.1: net.br0 afhankelijkheden in /etc/conf.d/net

# U kunt afhankelijkheid gebruiken, zoals gevonden in andere scripts
depend_br0() {
  need net.eth0 net.eth1
}

Voor een uitgebreidere uitleg over afhankelijkheden, kunt u het hoofdstuk (Initialisatie Scripts) lezen uit het Gentoo handboek.

1.  Namen en waarden van variabelen

Namen van variabelen veranderen. Meestal volgen ze een gelijke structuur als variable_${interface|mac|essid|apmac}. Zo bevat de variabele dhcpcd_eth0 de waarde voor de dhcpcd opties voor eth0 en bevat dhcpcd_essid de waarde voor de dhcpcd opties met betrekking tot de interface die verbinding maakt met de ESSID "essid".

Er zijn echter geen vaste regels voor het benoemen van netwerk interfaces. Ze dus ethx heten, maar veel draadloze interfaces heten bijvoorbeeld wlanx, rax of toch gewoon ethx. Sommige interfaces, zoals netwerkbruggen, kunnen een willekeurige naam hebben. En wireless Acces Points kunnen zelfs namen hebben met niet alpha-numerieke karakters erin - dit is belangrijk om te weten, omdat u parameters voor uw netwerk kunt instellen per ESSID.

Er is echter één maar: Gentoo gebruikt bash variabelen voor het netwerk - en bash kan alleen Engelse alpha-numerieke karakters gebruiken. Daarom worden alle niet alpha-numerieke karakters omgezet in een _.

Een ander nadeel van bash, is de inhoud van de variabelen - sommige karakters moeten vooraf gegaan worden door een \, het zogenaamde escapen. Dit geldt voor de volgende karakters: ", ' en \.

In het volgende voorbeeld zullen we verschillende karakters gebruiken. We noemen daarom de ESSID My "\ NET:

Codevoorbeeld 1.1: Voorbeeld naam voor variabele

# Dit werkt wel, maar het domein is niet geldig
dns_domain_My____NET="My \"\\ NET"

# Het bovenstaande stelt het dns domein in op My "\ NET voor een
# voor een draadloos netwerk waarvan de ESSID My "\ NET is

Upgedate op 30 augustus 2006

De originele versie van dit document was laatst geupdate om 12 april 2014

Donate to support our development efforts.

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