Linux und Vlan´s

Vlan unter Linux einrichten

Um einen Linux Rechner in ein Netzwerk einzubinden das in vlan’s unterteilt ist, ist bei Debian Squeeze und Debian Wheezy die Installation des Packets vlan noetig.

Das passiert mit:
$ apt-get install vlan
als naechstes muss das Modul 8021a in den Kernel geladen werden. Das erfolgt mit:
$ /sbin/modprobe 8021a

Der Switch an dem die physikalische Netzwerkkarte des Systems angeschlossen ist muss als Uplink Port fuer die gewuenschten VLANs konfiguriert sein!!

Die Netzwerkinterfaces die das System mit einem VLAN Verbinden sind virtuelle Interfaces die an das physische Interface „angeflanscht“ sind. Jedes dieser Interfaces hat eine eigene Konfiguration mit IP-Adresse,MAC etc. Die virtuellen Interfaces sind daran erkennbar das hinter dem Namen des physikalischen Netzwerkinterfaces ein . und eine weitere Zahl steht, zum Beispiel:
eth0.2
meint Netzwerkschnittstelle eth0 und VLAN 2 . An der Netzwerkschnittstelle eth0 koennen mehrere Vlans „angeflanscht“ sein. Die Konfiguration einer virtuellen interfaces wird mit dem Programm vconfig durchgefuehrt. Bevor aber ein virtuelles Interface „angeflanscht“ werden kann muss das physikalische Netzwerkinterface konfiguriert werden so es denn noch nicht geschehen ist. Also:
$ /sbin/ifconfig eth0 192.168.230.1 netmask 255.255.255.0 up
Die IP Adresse der physikalischen Schnittstelle darf NICHT Identisch mit einer der IP Adressen fuer die VLANs sein. Mittels:
$ /sbin/vconfig add eth0 2
und
$ /sbin/ifconfig eth0.2 hw ether 0ba00033defg 10.1.1.89 netmask 255.255.255.0
wird das virtuelle Interface konfiguriert.

In dem unten abgebildeten Script werden die virtuellen Devices zuerst prophylaktisch entfernt und dann wieder neu konfiguriert. Das physikalische Device wurde bereits ueber die /etc/network/interfaces bei Systemstart konfiguriert. Ausser dem Vlan 12 werden die Interfaces mit statischen IPs konfiguriert. Das Vlan 12 wird per dhcp konfiguriert. Da das vorgeben einer bestimmten MAC mit dem DHCP Client nicht so einfach ist wird diese vorher per ifconfig Befehl konfiguriert. Der DHCP Client setzt ausserdem die default Route die er vom DHCP Server erhaelt. Da das in meinem Szenario nicht erwuenscht ist, wird die default Route auf das Gateway im VLAN 8 gesetzt.

———————————————–
#!/bin/bash
/sbin/modprobe 8021q

/sbin/vconfig rem eth2.1
/sbin/vconfig rem eth2.2
/sbin/vconfig rem eth2.3
/sbin/vconfig rem eth2.5
/sbin/vconfig rem eth2.6
/sbin/vconfig rem eth2.7
/sbin/vconfig rem eth2.8
/sbin/vconfig rem eth2.9
/sbin/vconfig rem eth2.10
/sbin/vconfig rem eth2.11
/sbin/vconfig rem eth2.12
/sbin/vconfig rem eth2.13

/sbin/vconfig add eth2 1
/sbin/ifconfig eth2.1 hw ether 00dfeccc0000 10.1.1.8 netmask 255.255.0.0
/sbin/vconfig add eth2 2
/sbin/ifconfig eth2.2 hw ether 0edfeccc4455 10.99.0.22 netmask 255.255.0.0
/sbin/vconfig add eth2 3
/sbin/ifconfig eth2.3 hw ether 0edfedcd5566 192.168.3.154 netmask 255.255.255.0
/sbin/vconfig add eth2 5
/sbin/ifconfig eth2.5 hw ether 0edfedcf3456 192.168.6.200 netmask 255.255.254.0
/sbin/vconfig add eth2 6
/sbin/ifconfig eth2.6 hw ether 0edf54321456 10.0.99.224 netmask 255.255.255.0
/sbin/vconfig add eth2 7
/sbin/ifconfig eth2.7 hw ether 0954431fdeac 192.168.72 netmask 255.255.255.240
/sbin/vconfig add eth2 8
/sbin/ifconfig eth2.8 hw ether 08833445577f 192.168.80.3 netmask 255.255.255.0
/sbin/vconfig add eth2 9
/sbin/ifconfig eth2.9 hw ether 09988773211d 192.168.9.2 netmask 255.255.255.192
/sbin/vconfig add eth2 10
/sbin/ifconfig eth2.10 hw ether 088323334424 192.168.1.79 netmask 255.255.255.0
/sbin/vconfig add eth2 11
/sbin/ifconfig eth2.11 hw ether 234abcf90890 192.168.11.2 netmask 255.255.255.0
/sbin/vconfig add eth2 12
/sbin/ifconfig eth2.12 hw ether 00504444gded
/sbin/dhclient eth2.12
/sbin/route del default gw 192.168.12.29
/sbin/vconfig add eth2 13
/sbin/ifconfig eth2.13 hw ether 004499adfe00 192.168.13.2 netmask 255.255.255.0
/sbin/route add default gw 192.168.80.1 dev eth2.8