
Ich erfasse Pakete über Sockets. Beim Lesen dieser erfassten Pakete ist mir aufgefallen, dass VLAN-Tags irgendwie entfernt werden. Beim Surfen im Internet habe ich etwas über das Entfernen von VLAN-Tags durch Linux-Distributionen selbst gelesen. Möchte hier jemand etwas Licht ins Dunkel bringen?
Antwort1
Normalerweise ist 802.1q-Tagging nicht für Netzwerkclients erforderlich, sondern nur für Switches und Konfigurationen zwischen Switches/Routern/Firewalls. Daher ist dies in der Linux-Welt nicht standardmäßig aktiviert. Aber natürlich können Sie einen Linux-Server beispielsweise als Firewall oder zum Routing einrichten. In diesen Fällen möchten Sie markierte Pakete behalten, damit die Switches wissen, wohin sie den von Ihrem Linux-Server ausgehenden Datenverkehr senden sollen.
Ubuntu benötigt ein Gerät und Treiber, die VLAN und 802.1q unterstützen. Sie müssen das Userspace-Tool VLAN installieren, um die Konfiguration Ihrer Schnittstelle(n) aktivieren zu können.
sudo apt-get install vlan
Anschließend müssen Sie das Modul laden:
sudo modprobe 8021q
Anschließend müssen Sie Ihre physische Schnittstelle zu einer VLAN-Schnittstelle hinzufügen (wodurch eine neue Unterschnittstelle zum VLAN erstellt wird):
sudo vconfig add eth1 10
Erstellen Sie anschließend abschließend eine IP-Adresse für die Subschnittstelle:
sudo ip addr add 10.0.0.1/24 dev eth1.10
Wenn Sie dies dauerhaft machen möchten:
Fügen Sie das Modul beim Booten zum Kernel hinzu:
sudo su -c 'echo "8021q" >> /etc/modules'
Erstellen Sie dann eine Strophe in /etc/networking/interfaces:
auto eth1.10
iface eth1.10 inet static
address 10.0.0.1
netmask 255.255.255.0
vlan-raw-device eth1