Ausgangspunkt: Ein paar Server, deren Netzkonfiguration exzessiven Gebrauch von VLANs macht.
Die Maschinen sind also über ein (oder 2) NICs mit einem Switch verbunden, wobei die betreffendem Ports auf dem Switch als "Trunk" konfiguriert sind, die eingehenen Ethernetnet-Pakete sind alle "tagged".
im Augenblick haben die Maschinen jeweils ein lokales Root-Filesystem und alles funktioniert.
Ziel: Die Maschinen sollen diskless über PXE/NFS laufen
Da für Booten über Netz keine Feinsinnigkeiten bezüglich VLANs vorgesehen sind, läuft es also darauf hinaus, dass ich über die gleichen pysikalischen Netz-Interfaces sowohl 802.1Q-Frames als auch "normale" Ethernet-Frames verschicken und empfangen müsste.
Ich kann nirgends etwas darüber finden, ob diese Konstellation grundsätzlich möglich ist, aber ich kann im grossen weiten Internet auch nichts finden, dass sich überhaupt mit der Frage befasst. Allerdings sehe ich auch keinen Grund, weshalb es nicht möglich sein sollte und auch die Doku des Switches, an dem das Zeug hängt kling so, als sollte es eigentlich möglich sein. also habe ich 'mal ein paar "Trockenübungen" versucht:
Code: Alles auswählen
ifconfig eth0 up; ifconfig eth0 192.168.30.1
vconfig add eth0 20; ifconfig vlan20 192.168.20.1
vconfig add eth0 21; ifconfig vlan21 192.168.21.1
...
Die Idee ist also, Pakete in die Netze 192.168.20 und 21 wie gehabt "tagged" zu schicken, in das Netz 192.168.30 jedoch direkt über das Interface eth0, also untagged. Beim Empfang sollte der Switch Pakete ohne Tag in das Default-VLAN taggen, bei der Weiterleitung an einen so konfigurierten Port bei Paketen, die mit dem Default-VLAN getagged sind als "normale" Ethernet-Frames weiterleiten.
Soweit die Theorie. In der Praxis bekomme ich allerdings über das Netz 192.168.30 keine Verbindung zustande (alles weitere klappt wie zuvor). Wenn ich z.B. von versuche, einen Rechner anzupingen, werden die ARP-Reqests brav übermittelt und der Sender bekommt auch die Antwort. Der nächste Schritt wäre nun also, über das Interface eth0 einen Echo-Request an die jetzt bekannte MAC-Adresse zu schicken - tatsächlich sehe ich mit dem Packet-Sniffer aber nicht einmal beim Absender irgendwelche ICMP-Pakete. Obwohl wie gesagt auch die ARP-Replies ankommen, verschickt der Sender nur weitere ARP-Requests, ohne jemals zu versuchen, Daten zu verschicken.
Hat irgend jemand eine Idee, was da schiefläuft (und womöglich gar, wie es klappen würde?
Notfalls könnte ich natürlich ein 2. Interface zum Booten verwenden, aber wenn's nicht unbeding sein muss, würde ich mir die zusätzlichen Kabel und Switch-Ports gerne ersparen ...