Default Gateway pro VLAN

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Remo84
Beiträge: 11
Registriert: 01.05.2009 23:30:25

Default Gateway pro VLAN

Beitrag von Remo84 » 23.11.2013 21:53:42

Hallo zusammen

Ich habe auf einem Debian KVM installiert und mehrere VLANs erstellt. Ich möchte nun das Inter-VLAN Routing von einem externen Switch erledigen lassen.
Die Interfaces auf dem Debian sehen wie folgt aus:

Code: Alles auswählen

cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet manual


# Mgmt interface
auto eth0.30
  iface eth0.30 inet dhcp
  vlan-raw-device eth0
  hwaddress ether 00:30:48:f5:70:30

# Clonezilla interface
auto eth0.40
  iface eth0.40 inet manual
  vlan-raw-device eth0
  hwaddress ether 00:30:48:f5:70:40

# Server  interface
auto eth0.50
  iface eth0.50 inet manual
  vlan-raw-device eth0
  hwaddress ether 00:30:48:f5:70:50


auto vmbr40
  iface vmbr40 inet manual
  bridge_ports eth0.40
  bridge_stp off
  bridge_maxwait 10
# bridge_hw 00:30:48:f5:70:40

auto vmbr50
  iface vmbr50 inet manual
  bridge_ports eth0.50
  bridge_stp off
  bridge_maxwait 10
# bridge_hw 00:30:48:f5:70:50
KVM hängt nun die VMs an die vmbr40 oder vmbr50 an. Die VM bezieht sich dann eine IP aus dem VLAN40 oder dem VLAN50. Die VMs benötigen nun unterschiedliche default Gateways.
Ich habe mir vorgestellt, dass ich für jedes VLAN eine eigene Routingtabelle benötige, mit einer eigenen default Route.

Ich habe das mal mit Policy Routing versucht:
cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

# VRF 30
300 vrf30

# VRF 40
400 vrf40

# VRF 50
500 vrf50


Für jedes Subnet habe ich nun eine ip rule erstellt:
ip rule ls
0: from all lookup local
32761: from 10.1.0.0/18 lookup vrf50
32762: from 10.0.192.0/18 lookup vrf40
32763: from 10.0.128.0/18 lookup vrf30

32764: from all lookup main
32765: from 10.0.128.0 lookup vrf30
32766: from all lookup main
32767: from all lookup default
Nun versuche ich die Routing Tabelle zu füllen:
ip route add default via 10.0.128.1 dev eth0.30 table vrf30
ip route add default via 10.0.192.1 dev eth0.40 table vrf40
RTNETLINK answers: No such process
ip route add default via 10.1.0.1 dev eth0.50 table vrf50
RTNETLINK answers: No such process
Leider kann ich nur eine Default Route erstellen. Hat jemand eine Idee, wie ich das einrichten kann?

Vielen Dank
Gruss Remo

Benutzeravatar
maieutike
Beiträge: 121
Registriert: 14.03.2010 14:43:16
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig
Kontaktdaten:

Re: Default Gateway pro VLAN

Beitrag von maieutike » 04.01.2014 17:39:30

Der Switch muss VLAN-Tagging können und du musst dort dann den Port wo der KVM-Server dran hängt getaggt für VLAN 40 & 50 zulassen. Das default GW muss ebenfalls getaggte Pakte schicken und empfangen können. Dann solltest du den VLANs eigene Netze geben, die etwas mit dem Tag zu tun haben (das ist eher kosmetischer Natur, erleichtert aber die Verwaltung).

VLAN 40:
10.2.40.0/24
GW: 10.2.40.254

VLAN 50:
10.2.50.0/24
GW: 10.2.50.254

Daran siehst du auch schon, dass dein GW wie oben angedeutet zwei (virtuelle) Interfaces mit den Tags und den IPs brauch. Der Switch muss es lediglich durchlassen. Das Routing zwischen den VLANs findet dann auf dem GW statt, d.h. 1Gbit sollte es schon sein. Die VMs merken von alledem nichts, die kannst du ganz normal mit den jeweiligen Netzen konfigurieren.

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Default Gateway pro VLAN

Beitrag von dufty2 » 04.01.2014 19:19:24

Alles richtig maieutike nur das Problem, denke ich, ist ein anderes:

eth0.40 und eth0.50 haben keine IP, da "manual".
Versuch mal beiden eine IP zuzuweisen, dann sollte es gehen.

Remo84
Beiträge: 11
Registriert: 01.05.2009 23:30:25

Re: Default Gateway pro VLAN

Beitrag von Remo84 » 04.01.2014 21:17:45

Hallo zusammen.

Vielen Dank für Eure Tipps.

Ich habe es nun geschafft. Die /etc/networks/interfaces sieht nun so aus:

Code: Alles auswählen

# 
# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet manual


# Mgmt interface
auto eth0.30
  iface eth0.30 inet dhcp
  vlan-raw-device eth0
  hwaddress ether <mac-address>

# Server1 interface
auto eth0.40
  iface eth0.40 inet dhcp
 # address 10.0.192.10
 # netmask 255.255.192.0
  vlan-raw-device eth0
  hwaddress ether <mac-address>
  post-up ip rule add from 10.0.192.10 lookup vrf40
  post-up ip route add default via 10.0.192.1 dev eth0.40 table vrf40

# Server2  interface
auto eth0.50
  iface eth0.50 inet dhcp
 # address 10.1.0.10
 # netmask 255.255.192.0
  vlan-raw-device eth0
  hwaddress ether <mac-address>
  post-up ip rule add from 10.1.0.10 lookup vrf50
  post-up ip route add default via 10.1.0.1 dev eth0.50 table vrf50


auto vmbr40
  iface vmbr40 inet manual
  bridge_ports eth0.40
  bridge_stp off
  bridge_maxwait 10

auto vmbr50
  iface vmbr50 inet manual
  bridge_ports eth0.50
  bridge_stp off
  bridge_maxwait 10
Die IP Adressen für die Subinterfaces werden bei mir vom DHCP Server vergeben. Deshalb habe ich eine MAC Adresse manuell gesetzt. Wenn die IP Adresse manuell konfiguriert wird, muss natürlich keine MAC Adresse angegeben werden.


Vielleicht hilft das jemandem.

Gruss Remo

Antworten