Inhoud

IP aliases configureren

Dit document geeft uitleg over het configureren van IP alias adressen.

1. Inleiding

Standaard heeft een netwerk interface (bijv. Ethernet) 1 IP-adres om met de buitenwereld te communiceren. Er zijn echter situaties waarin het zinvol is om meer IP-adressen aan _e'_e'n netwerk interface te koppelen. Een veelgebruikte toepassing van IP alias adressen is bij webservers, waarbij een grote fysieke computer diverse websites huisvest, elk met hun eigen IP-adres.

2. Het principe

2.1 Device alias namen

Alias netwerk device namen hebben achter de interface device naam een “:” met een volgnummer. 1)
Voor de 1ste Ethernet interface “eth0” zien de namen er dus als volgt uit:

Ethernet Alias Device namen
eth0 Fysieke device naam
eth0:0 1ste alias device naam
eth0:1 2ste alias device naam
.. ..

Alias netwerk devices worden op dezelfde manier geconfigureerd met “ifconfig” als fysieke netwerk devices.
Het fysieke netwerk device dient als eerste geconfigureerd te worden.

Wanneer het fysieke netwerk device wordt “down” gebracht, gaan de bijbehorende alias netwerk devices ook automatisch down.

2.2 Test IP alias "on-the-fly"

Als test configureren we een IP-alias adres in een draaiend systeem.
We zien meteen het resultaat. 2)

1. Huidige configuratie

Vraag de huidige netwerk configuratie op met “ifconfig”:

# ifconfig  eth0

eth0      Link encap:Ethernet  HWaddr 00:0c:76:1f:12:9b  
          inet addr:192.168.17.14  Bcast:192.168.17.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:76ff:fe1f:129b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12587 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11509 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4742112 (4.5 MiB)  TX bytes:1642376 (1.5 MiB)
          Interrupt:23 Base address:0xdc00 

# ifconfig  eth0:0
eth0:0    Link encap:Ethernet  HWaddr 00:0c:76:1f:12:9b  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:23 Base address:0xdc00 

2. Configureer 1ste alias device met "ifconfig"

# ifconfig  eth0:0 192.168.17.131

3. Verfieer het resultaat

# ifconfig  eth0:0
eth0:0    Link encap:Ethernet  HWaddr 00:0c:76:1f:12:9b  
          inet addr:192.168.17.131  Bcast:192.168.17.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:23 Base address:0xdc00 

4. Test het IP-alias adres met "ping"

$ ping  192.168.17.131
PING 192.168.17.131 (192.168.17.131) 56(84) bytes of data.
64 bytes from 192.168.17.131: icmp_req=1 ttl=64 time=0.114 ms
64 bytes from 192.168.17.131: icmp_req=2 ttl=64 time=0.075 ms
64 bytes from 192.168.17.131: icmp_req=3 ttl=64 time=0.077 ms
64 bytes from 192.168.17.131: icmp_req=4 ttl=64 time=0.076 ms
^C
--- 192.168.17.131 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.075/0.085/0.114/0.018 ms

5. Deconfigureer de IP-alias

# ifconfig  eth0:0  down

De alias netwerk interface is nu gedeconfigureerd: Het IP-adres is gewist.

Het IP-alias adres is nu niet meer bereikbaar:

$ ping  192.168.17.131
PING 192.168.17.131 (192.168.17.131) 56(84) bytes of data.
From 192.168.17.14 icmp_seq=1 Destination Host Unreachable
From 192.168.17.14 icmp_seq=2 Destination Host Unreachable

3. IP aliases vastleggen (/etc/network/interfaces)

N.B.: 4)

3.1 Test configuratie

1. Maak een backup van de "/etc/network/interfaces"

# cd  /etc/network

# cp  interfaces  interfaces.bak

2. Maak een test configuratie

  1. Open de “interfaces” file met een editor (vi)
  2. Copieer het originele configuratieblok met naam “eth0” en geef dit een nieuwe naam bijv. “eth0-test”.
  3. Voeg onderaan het blok met “post-up” de extra “ifconfig” commando's toe.
# vi /etc/network/interfaces

# This file describes the network interfaces available on your system
..

# originele configuratieblok
iface eth0 inet static
	address 192.168.17.100
	netmask 255.255.255.0
	network 192.168.17.0
	broadcast 192.168.17.255
	gateway 192.168.17.254
	dns-nameservers 192.168.17.254
	dns-search fritz.box

# IP alias test configuratieblok
iface eth0-test inet static
	address 192.168.17.100
	netmask 255.255.255.0
	network 192.168.17.0
	broadcast 192.168.17.255
	gateway 192.168.17.254
	dns-nameservers 192.168.17.254
	dns-search fritz.box
        post-up ifconfig eth0:0 192.168.17.101
        post-up ifconfig eth0:1 192.168.17.102

..

3. Breng de test configuratie op

Breng eerst netwerk interface “eth0” down:

# ifdown  eth0

Breng daarna netwerk interface “eth0” weer up via het configuratieblok “eth0-test”:

# ifup  eth0=eth0-test

4. Verifieer het resultaat

# ifconfig

eth0      Link encap:Ethernet  HWaddr 50:46:5d:4f:df:3b  
          inet addr:192.168.17.100  Bcast:192.168.17.255  Mask:255.255.255.0
          inet6 addr: fe80::5246:5dff:fe4f:df3b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9043 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5249 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1693826 (1.6 MiB)  TX bytes:463932 (453.0 KiB)

eth0:0    Link encap:Ethernet  HWaddr 50:46:5d:4f:df:3b  
          inet addr:192.168.17.101  Bcast:192.168.17.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:1    Link encap:Ethernet  HWaddr 50:46:5d:4f:df:3b  
          inet addr:192.168.17.102  Bcast:192.168.17.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:246 errors:0 dropped:0 overruns:0 frame:0
          TX packets:246 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:20520 (20.0 KiB)  TX bytes:20520 (20.0 KiB)

5. Test IP-alias adressen met ping

$ ping  192.168.17.101
PING 192.168.17.101 (192.168.17.101) 56(84) bytes of data.
64 bytes from 192.168.17.101: icmp_req=1 ttl=64 time=0.411 ms
64 bytes from 192.168.17.101: icmp_req=2 ttl=64 time=0.353 ms
64 bytes from 192.168.17.101: icmp_req=3 ttl=64 time=0.355 ms
^C
--- 192.168.17.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.353/0.373/0.411/0.026 ms


$ ping  192.168.17.102
PING 192.168.17.102 (192.168.17.102) 56(84) bytes of data.
64 bytes from 192.168.17.102: icmp_req=1 ttl=64 time=0.681 ms
64 bytes from 192.168.17.102: icmp_req=2 ttl=64 time=0.400 ms
^C
--- 192.168.17.102 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.400/0.540/0.681/0.142 ms

3.2 Definitieve configuratie

Wanneer de test configuratie goed is, kunnen we deze eenvoudig omzetten in de definitieve configuratie:

  1. Hernoem het originele configuratieblok van “eth0” → “eth0-org”
  2. Hernoem het test configuratieblok van “eth0-test” → “eth0”

Herstart de computer en test vervolgens de netwerk configuratie met “ping”.

4. Documentatie

.

Copyright © 2014 Integrated Services; Tux4u.nl
Author: Marjan Waldorp; ip-alias-config 2014-05-01

1)
In het algemeen dus: ethX:Y
2)
In deze test configureren we de netwerk interface “on-the-fly”.
Er wordt niets bewaard! Na een reboot wordt de originele situatie hersteld.
3)
IP-adressen mogen maar 1x in een netwerk voorkomen.
4)
De hier beschreven procedure legt de configuratie vast volgens het standaard Debian netwerk configuratie raamwerk “ifup/ifdown”.
Voor Linux servers (vaste ip-adressen) is dit de aangewezen methode.
Bij Linux werkstations en notebooks wordt het netwerk vaak via configuratie managers ingesteld (NetworkManager, WiCD).
Het standaard netwerk configuratie raamwerk wordt dan niet gebruikt.