Reeds langere tijd was ik op zoek naar iets. Dat “iets” was iets dat ik niet wist hoe het noemde. Met tips en info van hulpvaardige lieden op ubuntu-nl.org kreeg dat iets de naam “Network bonding”.
Network bonding zorgt ervoor dat twee fysieke netwerkkaarten als één kaart gebruikt worden. In een huis-tuin-en-keuken- opstelling is dit echter geen dagelijkse kost, maar denk hierbij aan servers die een High Availability moeten waarmaken. Deze server zou door middel van twee UTP kabels met twee afzonderlijke switchen verbonden worden, stel dat één switch of één netwerkkabel stuk zou gaan, dan blijft de server verbonden met het internet. Schematisch:

Nu stelt het probleem zich. Het is niet mogelijk dat twee netwerk interfaces hetzelfde IP adres geconfigureerd hebben. Op welk IP adres is de server dan toegankelijk, het IP van eth0 of het adres van eth1?
Door middel van network bonding is het mogelijk om één IP adres te delen over twee netwerk interfaces. Dit was de oplossing voor mijn probleem.
Hoe kan je dit realiseren? Volgende punten zijn getest op Ubuntu 8.04 32-bit server editie.
Allereerst voor de nieuwsgierige VMWare testers onder ons: VMWare ondersteunt dit spijtig genoeg niet. Ik weet niet of het onder VirtualBox wel werkt. Ikzelf heb alles getest op een vaste PC met twee netwerkkaarten.
1. Uitvoeren:
mii-tool
Dit zal aantonen of je netwerkkaarten network bonding ondersteunen of niet. De meest gangbare kaarten doen dit, de virtuele kaarten van VMWare dus helaas niet.
Wanner je het volgende op je scherm ziet verschijnen wrijf je enkele malen in je handen alvorens naar punt 2 te gaan.
eth0: negotiated 100baseTx-HD, link ok
eth1: negotiated 100baseTx-HD, link ok
2. Nu gaan we het programma dat voor de bonding zal zorgen installeren:
sudo apt-get install ifenslave
3. Na de installatie van ifenslave gaan we de configuratie induiken:
sudo nano /etc/modprob.d/aliases
Scroll helemaal naar onderen en voeg toe:
alias bond0 bonding
alias eth0 e100
alias eth1 e100
options bonding mode=0 miimon=100
Korte bespreking van de opties:
- mode = er zijn verschillende modes waarin bonding kan draaien. Zie hier voor overzicht van alle modes en verander desgewenst de mode.
- miimon = het aantal miliseconden wanneer de interface gecontroleerd wordt.
4. Het volgende bestand bewerken:
sudo nano /etc/modprob.d/arch/i386
Onderaan voegen we toe:
alias bond0 bonding
options bonding mode=0 miimon=100 downdelay=200 updelay=200
Korte bespreking van de opties:
- mode = opnieuw de mode.
- miimon = opnieuw het aantal miliseconden wanneer de interface gecontroleerd wordt.
- downdelay = het aantal miliseconden dat voorbij gaat voordat een interface als offline wordt bekeken.
- updelay = het aantal miliseconden dat voorbij gaat voordat een interface als online wordt bekeken.
5. Als laatste punt gaan we de interfaces zelf bewerken:
sudo nano /etc/network/interfaces
Verwijder alles betreffende eth0 en eth1 en voeg toe:
auto bond0
iface bond0 inet static
address 192.168.0.5
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
post-up ifenslave bond0 eth0 eth1
Waarbij “address” het IP adres is wat gebruikt zal worden.
Voor de zekerheid nog even de volledige server herstarten:
sudo shutdown -r now
Wanneer je nu een ifconfig doet zal je de bond0, eth0 en eth1 interfaces zien staan.
Klaar
Het ziet er zo verschrikkelijk simpel uit he ?
als je het zo bekijkt op nog niet 1 A4tje.
Maar de werkelijkheid is zo anders wanneer je met nix moet beginnen.
In ieder geval wederom een knap staaltje werk en top dat je het zo mooi hebt kunnen samenvatten.
Ik hoop dat je er veel plezier aan hebt
BTW. had ik al gezegd dat je een toffe blog hebt ??
bb op het forum.
Ja Gandyman, eenvoud siert
Ach, zo amuseren we ons weer hé. En daarbij, een dag niet geleerd is een dag niet geleefd!
Bedankt voor de positieve commentaar en de hulp!