Ich wollte meinen CentOS 7-Server so einrichten, dass meine KVM-virtuellen Maschinen einen DHCP-Lease von meinem mit Cisco Meraki MX (Firewall) konfigurierten VLAN 30 beziehen und von VLAN 1 getrennt sind.
Da ich keine zwei physischen Schnittstellen habe, dachte ich, ich virtualisiere eine, füge ihr das VLAN-Tag hinzu, überbrücke dann die virtualisierte, VLAN-getaggte Schnittstelle und lege das in meinem virt-install-Skript fest. Ich wollte jedoch sicherstellen, dass der gesamte Datenverkehr zu meiner CentOS-Box selbst auf VLAN 1 blieb (mit Ausnahme des Datenverkehrs zu den VMs).
Neulich dachte ich, es hätte funktioniert, aber dann habe ich aus einer Laune heraus versucht, einen Ping über alle Subnetze hinweg durchzuführen und war überrascht, ICMP-Antworten zu erhalten.
Ich bin beim Einrichten (mehr oder weniger) dieser Referenz gefolgt:Einrichten von 802.1Q VLAN-Tagging mithilfe von ifcfg-Dateien
Derzeit habe ich /etc/sysconfig/network-scripts/ifcfg-em1
(Standard-Ethernet-Schnittstelle) wie folgt konfiguriert:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
GATEWAY="192.168.128.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="em1"
UUID="bac1228e-fe29-4e7c-9073-6b2d4542d003"
DEVICE="em1"
ONBOOT="yes"
ZONE=public
Diese Schnittstelle zieht erfolgreich eine 192.168.128.x-IP aus dem VLAN 1-Subnetz.
Als nächstes habe ich /etc/sysconfig/network-scripts/ifcfg-em1.30
(virtuelle Schnittstelle mit VLAN 30-Tag):
TYPE="Ethernet"
#BOOTPROTO="dhcp"
DEVICE="em1.30"
ONBOOT="yes"
ZONE=public
VLAN="yes"
BRIDGE="br0"
Was (glaube ich) aufgrund der BRIDGE-Option keine IP-Adresse abruft.
Und schließlich /etc/sysconfig/network-scripts/ifcfg-br0
(meine überbrückte Verbindung von em1.30):
BOOTPROTO="dhcp"
IPV6INIT="no"
DEFROUTE="no"
GATEWAY="10.100.0.1"
IPV6_AUTOCONF="no"
ONBOOT="yes"
TYPE="Bridge"
DELAY="0"
ZONE=public
Diese Schnittstelle zieht auch die richtige DHCP-Route aus dem VLAN 30-Subnetz (10.100.0.x).
Die Verwendung der br0-Schnittstelle in meinen virt-install-Skripten scheint zu funktionieren, da alle meine VMs beim Start auch erfolgreich aus dem VLAN 30-Subnetz ziehen. Wie oben erwähnt, erhalte ich jedoch vollständige Antworten, wenn ich versuche, von einem Subnetz zum anderen zu pingen (oder per SSH zu kommunizieren).
Ich vermute, dass dies vielleicht etwas mit den Routen zu tun hat. Hier ist die Ausgabe von route -n
:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.128.1 0.0.0.0 UG 0 0 0 em1
10.100.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 em1
169.254.0.0 0.0.0.0 255.255.0.0 U 1045 0 0 br0
192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 em1
Es /etc/sysconfig/network
ist derzeit leer, ich habe NetworkManager deaktiviert und als ich dachte, es würde funktionieren, hatte ich in ifcfg-br0 keine DEFROUTE- oder GATEWAY-Option festgelegt (ich habe diese heute hinzugefügt, ohne dass sich das Ergebnis geändert hat, also habe ich sie gelassen).
Muss ich vielleicht eine VLAN-Option sowohl in ifcfg-br0 als auch in ifcfg-em1.30 festlegen? Danke, dass Sie sich die Zeit genommen haben, das alles durchzulesen!