Ubuntu VLAN Konfiguration manuell via Shell

Die VLAN Konfiguration kann ohne Neustart und ohne jegliche Netzwerkunterbrechung in einem laufenden Linux System erfolgen.
Die Ausgabe des Befehls ifconfig sieht vor der Einrichtung in etwas wie folgt aus:  
eth0 Link encap:Ethernet HWaddr 00:13:72:56:5b:4b 
inet addr:272.16.0.37 Bcast:272.16.15.255 Mask:255.255.240.0
inet6 addr: fe80::213:72ff:fe56:8b4b/64
Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14090703 errors:0 dropped:0 overruns:0 frame:0
TX packets:12307558 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2590510850 (2.4 GB) TX bytes:1789482893 (1.6 GB)
Base address:0xecc0 Memory:fe6e0000-fe700000

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:16436 Metric:1
RX packets:15727 errors:0 dropped:0 overruns:0 frame:0
TX packets:15727 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1565895 (1.4 MB) TX bytes:1565895 (1.4 MB)
  Zu sehen sind sowohl das Local Loopback Interface lo sowie eine Netzwerkkarte namens eth0

Die Einrichtung erfolgt nun in zwei Schritten:
1. Hinzufügen des virtuellen VLAN Interface
2. Konfigurieren der Netzwerkparameter für das neue Interface

Schritt 1: Hinzufügen des virtuellen VLAN Interface  
# vconfig add eth0 1800
  Hier wird auf das Parentinterface eth0 ein VLAN mit der Tag-ID 1800 zusätzlich aufgebunden. Das resultierende Interface bekommt somit automatisch den Namen vlan1800. Nach einem ifconfig sieht das dann so aus:  
eth0 Link encap:Ethernet HWaddr 00:13:72:56:5b:4b 
inet addr:272.16.0.37 Bcast:272.16.15.255 Mask:255.255.240.0
inet6 addr: fe80::213:72ff:fe56:8b4b/64
Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14090703 errors:0 dropped:0 overruns:0 frame:0
TX packets:12307558 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2590510850 (2.4 GB) TX bytes:1789482893 (1.6 GB)
Base address:0xecc0 Memory:fe6e0000-fe700000

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:16436 Metric:1
RX packets:15727 errors:0 dropped:0 overruns:0 frame:0
TX packets:15727 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1565895 (1.4 MB) TX bytes:1565895 (1.4 MB)

vlan1800 Link encap:Ethernet HWaddr 00:13:72:56:8b:4b
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1252 (1.2 KB) TX bytes:0 (0.0 B)

  Schritt 2: Konfigurieren der Netzwerkparameter für das neue Interface  
# ifconfig vlan1800 172.18.0.392 netmask 255.255.252.0 broadcast 172.18.3.2
  Ich denke diese Zeile muss man nicht mehr erklären- da gibt es tausende andere Stellen im Internet.
Und hier wieder die Ausgabe von ifconfig:  
eth0 Link encap:Ethernet 
HWaddr 00:13:72:56:5b:4b
inet addr:272.16.0.37 Bcast:272.16.15.255 Mask:255.255.240.0
inet6 addr: fe80::213:72ff:fe56:8b4b/64
Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14090703 errors:0 dropped:0 overruns:0 frame:0
TX packets:12307558 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2590510850 (2.4 GB) TX bytes:1789482893 (1.6 GB)
Base address:0xecc0 Memory:fe6e0000-fe700000

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:16436 Metric:1
RX packets:15727 errors:0 dropped:0 overruns:0 frame:0
TX packets:15727 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1565895 (1.4 MB) TX bytes:1565895 (1.4 MB)

vlan1800 Link encap:Ethernet HWaddr 00:13:72:56:8b:4b
inet addr:172.18.0.392 Bcast:172.18.3.255 Mask:255.255.252.0 inet6 addr: fe80::213:72ff:fe56:8b4b/64 Scope:Link
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1252 (1.2 KB) TX bytes:0 (0.0 B)
  Und das war es dann auch schon. Sowohl das "alte", als auch das "neue" Interface sind nun einsatzbereit.

Ubuntu VLAN Konfiguration automatisch beim Systemstart

Selbstverständlich ist die manuell durchgeführte Konfiguration nach einem Systemneustart wieder weg. Die automatische Aktivierung des VLAN Interfaces nach einem Reboot erfolgt durch Ändern der Datei /etc/network/interfaces.
Ohne VLAN Konfiguration sieht die Datei in etwa wie folgt aus:  
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet
static address 272.16.0.37
netmask 255.255.240.0
network 272.16.0.0
broadcast 272.16.15.255

  Mit dieser Konfiguration werden ausschliesslich die beiden "Standard" Interfaces aktiviert und konfiguriert.
Soll nun das virtuelle VLAN Interface ebenfalls automatisch aktiviert werden ist die Datei um folgendes zu ergänzen:  
auto vlan1800

iface vlan1800 inet static
address 172.18.0.392
netmask 255.255.252.0
network 172.18.0.0
broadcast 172.18.3.255
vlan_raw_device eth0
  Hiermit wird auf das "Parent" Interface eth0 (Keyword: vlan_raw_device) das VLAN Device namens VLAN1800 gebunden.  

		
			

Alias für ein VLAN Interface

In einigen Fällen, z.B. bei der Migration von Systemen, kann es vorkommen, dass man für ein VLAN- Interface eine zweite IP-Adresse im gleichen Netz benötigt.
Im folgenden Beispiel soll, angelehnt an die Beispiele oben, dem Interface vlan1800 zur IP-Adresse 172.18.0.392 zusätzlich die IP-Adresse 172.18.3.192 gegeben werden.
Die notwendigen Einträge in /etc/network/interfaces sehen hierzu wie folgt aus:

 
auto vlan1800
iface vlan1800 inet static
address 172.18.0.392
netmask 255.255.252.0
network 172.18.0.0
broadcast 172.18.3.255
vlan_raw_device eth0
   
auto vlan1800:1
iface vlan1800:1 inet static
address 172.18.3.192
netmask 255.255.252.0
 
Das Grundprinzip entspricht dem herkömmlichen "Aliasing", wie es auch bei zusätzlichen IP-Adressen für "normale" Interfaces durchgeführt wird.