HowTo: Der VLAN-Ubuntu-Stick ... Zugriff auf alle VLANs

Hi.
Ich wollte mal kurz einen Tipp loswerden, den wir mittlerweile erfolgreich umgesetzt haben.
Vielleicht können das auch andere gut gebrauchen?

Das Problem: Wir haben auf VLANs + Subnetting umgestellt und auf diversen Switches laufen alle möglichen VLANs zusammen. Manchmal möchte man einfach nur wissen, ob ein Signal/VLAN an einem Port ankommt oder nicht. Daher ist es nützlich, wenn man mit einem Laptop kreuz und quer durch die Schule wandern und an diversen Switchen überprüfen kann, ob das geplante VLAN dort auch ankommt. (Mit anderen Worten: Man muss z.T. auch auf die tagged VLANs zugreifen können!)

Die Lösung: Mac-Spoofing. In Essen hat Holger mich auf die Idee gebracht. Man nehme ein Ubuntu 16.04, installiere es auf einem USB-Stick und sorge dafür, dass ein Laptop via USB booten kann. Danach setzt man unter

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
und dann: update-grub

damit die Netzwerkkarte wieder eth0 heißt (und das ganze hardwareunabhängig bleibt!)

Anschließend editiert man auf dem Laptop die Datei

mcedit /etc/network/interfaces   und fügt dort ein:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#
iface eth0 inet dhcp
#
iface eth0.2 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:04
#
iface eth0.11 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:06
#
iface eth0.50 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:08
#
iface eth0.51 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:09           
#                                                                                                                                                                          
iface eth0.52 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:0A
#
iface eth0.53 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:0B
#
iface eth0.60 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:0C
#
iface eth0.100 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:0D
#
iface eth0.200 inet dhcp
  vlan-raw-device eth0
  hw-mac-address f0:de:f1:7b:4d:0E
#

Das interessante daran: Diese ganzen Mac-Adressen sind “ausgedacht”.
Nun bindet man auf dem Server in der workstations-Datei jede dieser ausgedachten Mac-Adressen an ein VLAN:

############################################################################
# Ubuntu 16.04 USB-Stick in allen Netzen eingetragen (mit MAC-Spoofing) 
lehrerzimmer;usb-stick-vlan50;none;F0:DE:F1:7B:4D:08;10.30.10.197;;;;;;0
serverraum;usb-stick-vlan11;none;F0:DE:F1:7B:4D:06;10.16.1.197;;;;;;0
switch;usb-stick-vlan2;none;F0:DE:F1:7B:4D:04;10.16.2.197;;;;;;0
raum1;usb-stick-vlan100;none;F0:DE:F1:7B:4D:0D;10.20.100.197;;;;;;0
raum2;usb-stick-vlan200;none;F0:DE:F1:7B:4D:0E;10.20.200.197;;;;;;0
fachraum;usb-stick-vlan51;none;F0:DE:F1:7B:4D:09;10.30.51.197;;;;;;0
bibliothek;usb-stick-vlan52;none;F0:DE:F1:7B:4D:0A;10.30.52.197;;;;;;0
schullaptop;usb-stick-vlan53;none;F0:DE:F1:7B:4D:0B;10.30.53.197;;;;;;0
kollegium;usb-stick-vlan60;none;F0:DE:F1:7B:4D:0C;10.30.20.197;;;;;;0
#############################################################################

Danach wie üblich einmal “import_workstations” – et voilà: Man hat Zugriff auf alle Netze, ohne dass man jedes Mal ein “nerviges” import_workstations laufen lassen müsste!

Dazu kann man nun auf dem USB-Ubuntu einfach

ifup eth0.52 bzw ifup eth0.<VLAN-ID> benutzen und schon erhält man die IP aus dem entsprechenden Subnetz (und zwar jetzt auch, wenn es tagged da ankommt).
Mit ifdown eth0.52 schaltet man das Device wieder ab.

Das ganze funktioniert hier tip-top und ich wollte den Hinweis notieren & weitergeben … ganz in der Hoffenung, dass andere es evtl. auch nutzen können?!
(Und wenn’s bereits kalter Kaffee ist, ist es immerhin jetzt dokumentierter kalter Kaffee :slight_smile: )

(BTW: Noch eleganter wäre es mit dem Netzwerk-Manager, da man dann nur noch anklicken muss, in welches Netz man möchte. Doch dort haben wir es bisher nicht hinbekommen, dass der Zugriff auf ein tagged-VLAN klappt. Untagged ist es kein Problem…)

Weiterführender Link:
https://www.linuxmuster.net/wiki/dokumentation:addons:subnetting:virtualnetwork

4 „Gefällt mir“

Hallo,

Die Lösung: Mac-Spoofing. In Essen hat Holger mich auf die Idee
gebracht. Man nehme ein Ubuntu 16.04, installiere es auf einem USB-Stick
und sorge dafür, dass ein Laptop via USB booten kann. Danach setzt man
unter

ich verwende das etwas ähnlich, nur ohne VLANs, auf meinem eigenen Laptop.
Im Segmentierten Netz hat man ja das Problem, dass das eigene Gerät mit
siener MAC nur in einem Netzsegment eine gültige IP bekommt: also
erstelle ich im Ubuntu Networkmanager eine neue „Verbindung (Ethernet)“
und tippe eine „angelehnte“ MAC Adresse ein.
Den Namen der Verbindung wähle ich möglichst Aussagekräftig:
SCHULE-NWT
SCHULE-Lehrerzimmer
SCHULE-Raum155
SCHULE-Raum154
SCHULE-Mensa

immer mit eigener MAC.
Die MACs stehen alle als eigene Zeilen ind er workstationsdatei im
jeweiligen VLAN Bereich.

LG

Holger

1 „Gefällt mir“

Hi Holger,
Ja, so habe ich das auch in einer VM (Knoppix), um in allen Subnetzen sein zu können. Doch der “VLAN-Stick” ist noch universeller, da er auf die tagged-VLANs zugreifen kann. Das ist extrem hilfreich, wenn man auf Fehler-/Signal-Suche unterwegs ist.

In dem Zusammenhang habe ich noch einen anderen Tipp erhalten, den ich auch gerne weitergebe: Wenn man ein LAG einrichten will, kann man das ebenfalls zunächst nur mit einem Knoppix/Ubuntu und nacheinander mit je einem der beiden Switche erledigen, um zu sehen, ob da überhaupt Daten durchkommen. Erst danach koppelt man die beiden Switches. Genaueres steht hier (am Beispiel eines RasPis durchgeführt, wo das natürlich ebenfalls möglich ist): https://www.administrator.de/wissen/netzwerk-management-server-raspberry-pi-191718.html#toc-14

Das Tool “bmon” habe ich bereits schätzen gelernt…