Linux Layer 2 VLAN Switch

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Ziel

  • Ein Layer 2 Switch soll die Netze für Admin und LAN trennen
  • Die Firewall soll beide Netze routen
  • Als Beispiel wurde für das Admin-Netzwerk 192.168.0.0/24 und für das LAN 192.168.178.0/24 gewählt

physischer Netzwerkplan

logischer Netzwerkplan

Konfiguration der Firewall

  • apt install vlan
  • Auf der Schnittstelle zum Switch werden zwei virtuelle Schnittellen mit den jeweiligen VLANs konfiguriert
  • Die IP-Adressen der VLANs sollten die Gateways der jeweiligen Netzwerke sein
  • vim /etc/network/interfaces
...
auto enp0s8
iface enp0s8 inet manual

auto enp0s8.1
iface enp0s8.1 inet static
 address 192.168.0.1/24

auto enp0s8.2
iface enp0s8.2 inet static
 address 192.168.168.1/24

Konfiguration des Switches

  • Für virtualiserte Maschinen sollten die Schnittstellen auf promiscuous gestellt sein, damit sie alle Pakete annehmen
  • apt install bridge-utils vlan
  • Nachdem die virtuellen Schnittstellen für die VLANs eingestellt wurden, müssen diese noch über eine Bridge verbunden werden
  • Diese verbindet alle mit VLAN-Filtering
  • Zuletzt müssen noch die VLANs nochmal für die Bridge eingestellt werden
  • vim /etc/network/interfaces
...
auto enp0s3
iface enp0s3 inet manual

auto enp0s8
iface enp0s8 inet manual

auto enp0s9
iface enp0s9 inet manual

auto br0
iface br0 inet static
 address 192.168.0.2/24
 gateway 192.168.0.1
 bridge_vlan_aware yes
 bridge_ports all
 post-up bridge vlan add dev enp0s3 vid 1-2
 post-up bridge vlan add dev enp0s9 vid 2 pvid untagged
 post-up bridge vlan add dev enp0s10 vid 2 pvid untagged
 post-up bridge vlan delete dev enp0s9 vid 1
 post-up bridge vlan delete dev enp0s10 vid 1
  • reboot
  • Die VLAN Konfiguration kann sollten dann so aussehen
  • bridge vlan
port              vlan-id
enp0s3            1
                  2
enp0s8            1 PVID Egress Untagged
enp0s9            2 PVID Egress Untagged
enp0s10           2 PVID Egress Untagged
br0               1 PVID Egress Untagged