Modulseite

Lektion 1 von 9

Ein fremdes Netz aufnehmen und dokumentieren

Du findest Netze, Geräte und Verbindungen mit Routingtabelle, nmap, LLDP und MAC-Tabelle, pflegst sie in NetBox und sorgst dafür, dass die Doku aktuell bleibt.

ca. 40 Min.0/5 Checks gelöst

Worum es geht

Luans erster Tag als neuer Netzwerkverantwortlicher der Holzwerk Strub AG in Langenthal beginnt mit einer Excel-Datei: Netz_2019_final.xlsx. Darin stehen 19 Switches, ein paar IP-Adressen und viele leere Zellen. Der Kollege, der das Netz zwölf Jahre lang betreut hat, ist pensioniert. Fragen kann Luan ihn nicht mehr.

So sieht der Alltag im Netzwerkbetrieb aus: Du übernimmst ein Netz, das du nicht gebaut hast. Bevor du etwas erweiterst oder eine Störung behebst, musst du wissen, was wirklich da ist. Sonst schaltest du den falschen Port ab, vergibst eine Adresse doppelt oder übersiehst den Switch, an dem die halbe Spedition hängt.

In dieser Lektion nimmst du ein fremdes Netz in drei Schritten auf: Mit nmap findest du, wer im Netz antwortet. Mit LLDP und CDP folgst du den Kabeln von Switch zu Switch. Mit der MAC- und ARP-Tabelle siehst du, was sich hinter einem Port versteckt. Am Ende trägst du alles in NetBox ein und sorgst dafür, dass die Doku nicht wieder veraltet.

Drei Blickwinkel auf dasselbe Netz

Stell dir vor, du übernimmst ein altes Haus ohne Pläne. Du zählst die Steckdosen (wer ist da?), folgst den Leitungen im Keller (was hängt woran?) und öffnest den Sicherungskasten (welcher Kreis versorgt was?). Bei einem Netz ist es dasselbe:

FrageWerkzeugSchichtWas du erfährst
Welche Netze gibt es überhaupt?show ip route connected3Alle Netze, die der Core-Switch direkt kennt
Wer antwortet im Netz?nmap -sn3Aktive IP-Adressen, oft mit DNS-Namen
Welches Gerät hängt an welchem Port?show lldp neighbors, show cdp neighbors2Nachbargerät, dessen Port, Gerätetyp, Management-IP
Was steckt hinter einem Port?show mac address-table2Alle MAC-Adressen, die an einem Port gelernt wurden
Welche IP gehört zu welcher MAC?show ip arp auf dem Gateway2 und 3Zuordnung IP zu MAC pro Netz

nmap: Wer antwortet?

Die Liste der Netze holst du nicht aus der alten Excel-Datei, sondern vom Gerät, das sie alle kennt: dem Core-Switch. Auf SW-CORE der Holzwerk Strub AG sieht das so aus (gekürzt):

Text
SW-CORE# show ip route connected
C        10.10.10.0/24 is directly connected, Vlan10
C        10.10.50.0/24 is directly connected, Vlan50
C        10.10.60.0/24 is directly connected, Vlan60
C        10.10.99.0/24 is directly connected, Vlan99
C        10.10.255.0/30 is directly connected, GigabitEthernet1/0/48
C        10.10.255.4/30 is directly connected, GigabitEthernet1/0/24
C        10.10.255.8/30 is directly connected, GigabitEthernet1/0/23

Jetzt scannst du Netz für Netz. Beginne mit dem Management-Netz 10.10.99.0/24, dort haben alle verwalteten Switches ihre Adresse:

Bash
# Nur Host-Erkennung (-sn), kein Portscan; Ergebnis zusätzlich als XML speichern
sudo nmap -sn 10.10.99.0/24 -oX mgmt-scan.xml

# Auf den gefundenen Adressen nach Verwaltungsdiensten suchen
sudo nmap -p 22,23,80,443 --open 10.10.99.0/24

-sn prüft nur, ob ein Host antwortet. Im eigenen Segment nutzt nmap dafür ARP und findet so auch Geräte, die Ping blockieren. In entfernten Netzen arbeitet es mit ICMP und TCP-Anfragen, eine Host-Firewall kann ein Gerät dort verstecken. Ein offener Port 23 (Telnet) ist schon ein erster Befund: unverschlüsselte Verwaltung.

Text
Nmap scan report for sw-core.strub.local (10.10.99.1)
Host is up (0.0011s latency).
Nmap scan report for 10.10.99.9
Host is up (0.0024s latency).
Nmap scan report for sw-verw-og1.strub.local (10.10.99.11)
Host is up (0.0019s latency).
...
Nmap done: 256 IP addresses (26 hosts up) scanned in 4.12 seconds

26 Geräte im Management-Netz, aber nur 19 Switches in der Liste, und 10.10.99.9 hat nicht einmal einen DNS-Namen.

LLDP und CDP: Wer hängt an wem?

LLDP (Link Layer Discovery Protocol, IEEE 802.1AB) ist herstellerunabhängig, CDP ist das ältere Cisco-Protokoll. Beide funktionieren gleich: Jedes Gerät meldet seinem direkten Nachbarn regelmässig auf Layer 2, wer es ist. Die Meldung enthält Gerätename, eigenen Port, Fähigkeiten (Router, Bridge, Telefon, Access Point) und meist die Management-Adresse. Sie wird nie weitergeleitet, du siehst also nur, was direkt am Kabel hängt. Bei Cisco ist CDP standardmässig aktiv, LLDP schaltest du global mit lldp run ein.

Text
SW-CORE# show lldp neighbors
Capability codes:
    (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
    (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID           Local Intf     Hold-time  Capability      Port ID
SW-VERW-OG1         Gi1/0/1        120        B               Gi1/0/49
SW-LAGER-1          Gi1/0/3        120        B               Gi1/0/50
R-PROD              Gi1/0/24       120        R               Gi0/0/1
R-LAGER             Gi1/0/23       120        R               Gi0/0/1

Total entries displayed: 4

So liest du eine Zeile: Am eigenen Port Gi1/0/3 von SW-CORE hängt das Gerät SW-LAGER-1, und zwar mit dessen Port Gi1/0/50. Die Spalte Local Intf gehört immer zum Gerät, auf dem du den Befehl eingibst, Port ID zum Nachbarn. Mit show lldp neighbors detail siehst du zusätzlich die Management-IP und die Softwareversion. Dann loggst du dich auf SW-LAGER-1 ein und wiederholst das Ganze. So arbeitest du dich vom Core nach aussen, bis keine neuen Nachbarn mehr auftauchen.

Check 1 · ZuordnenEinstieg

Ordne jeder Frage aus der Bestandsaufnahme das passende Werkzeug zu.

Check 2 · Eine AntwortFortgeschritten

Auf SW-LAGER-1 siehst du:

Text
SW-LAGER-1# show lldp neighbors
Device ID           Local Intf     Hold-time  Capability      Port ID
SW-CORE             Gi1/0/50       120        B,R             Gi1/0/3
SW-SPED-1           Gi1/0/1        120        B               Gi1/0/52
AP-LAGER-01         Gi1/0/14       120        W               Gi0

Welche Aussage über die Verkabelung ist korrekt?

MAC- und ARP-Tabelle: Was steckt hinter einem Port?

Ein unverwalteter Switch sendet kein LLDP. Er bleibt für die Nachbarschaftsprotokolle unsichtbar. Du erkennst ihn trotzdem: An einem normalen Access-Port hängt ein Gerät, also eine MAC-Adresse (bei einem IP-Telefon mit PC dahinter zwei). Stehen an einem Access-Port fünf MAC-Adressen und gibt es dort keinen LLDP-Nachbarn, steckt fast sicher ein kleiner Switch dahinter.

Text
SW-SPED-1# show mac address-table interface Gi1/0/17
          Mac Address Table
-------------------------------------------
Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
  30    0050.56a1.1c02    DYNAMIC     Gi1/0/17
  30    00e0.4c68.0a11    DYNAMIC     Gi1/0/17
  30    7c2e.0d14.88f0    DYNAMIC     Gi1/0/17
  30    7c2e.0d14.88f4    DYNAMIC     Gi1/0/17
  30    a0ce.c8d2.0b5e    DYNAMIC     Gi1/0/17
Total Mac Addresses for this criterion: 5

Mit show ip arp auf dem Gateway des VLANs (hier R-LAGER) findest du zu jeder MAC die IP-Adresse, mit DNS den Namen. Umgekehrt heisst das «Follow the MAC»: IP aus dem Scan, MAC aus der ARP-Tabelle, Port aus der MAC-Tabelle, und über die LLDP-Nachbarn weiter, bis die MAC an einem Access-Port endet.

Check 3 · Mehrere AntwortenFortgeschritten

Welche Beobachtungen deuten darauf hin, dass an einem Access-Port ein unverwalteter Switch hängt? (Mehrere Antworten)

Wähle alle zutreffenden Antworten.

NetBox als Source of Truth

Alles, was du findest, gehört an eine verbindliche Stelle. Das ist die Idee der Source of Truth: Es gibt genau einen Ort, an dem steht, wie das Netz aussehen soll. Excel-Listen auf drei Laufwerken, Visio-Pläne und Notizen im Kopf sind das Gegenteil davon. NetBox ist eine verbreitete Open-Source-Lösung dafür. Sie kombiniert Inventar (DCIM) und IP-Adressverwaltung (IPAM).

NetBox-ObjektBeispiel Holzwerk Strub AG
SiteLangenthal, Bern (Showroom)
Device mit Rolle und TypSW-SPED-1, Rolle Access-Switch, Seriennummer
Interface und CableSW-CORE Gi1/0/3 zu SW-LAGER-1 Gi1/0/50
VLAN30 Lager, 99 Management
Prefix10.10.30.0/24, Zweck Lager, Status aktiv
IP Address10.10.99.22, zugewiesen an SW-SPED-1

Monitoring, Konfigurationsbackup und Automatisierung können ihre Geräteliste direkt aus NetBox lesen. Ein Gerät, das dort fehlt, wird dann weder überwacht noch gesichert. Das ist ein starker Anreiz, NetBox aktuell zu halten.

Widersprüche bewerten und die Doku aktuell halten

Beim Abgleich findest du vier Arten von Widersprüchen:

  1. Real vorhanden, nicht dokumentiert: der Switch unter dem Tisch, 10.10.99.9 ohne Namen.
  2. Dokumentiert, nicht gefunden: ausgemustert, ausgeschaltet oder in einem Netz, das du nicht gescannt hast.
  3. Gefunden, aber anders: andere IP, anderer Port, anderes VLAN.
  4. Unklarer Zweck: Gerät antwortet, aber niemand weiss, wofür es da ist.

Bewerte jeden Widerspruch nach Risiko: Ein unverwalteter Switch in der Spedition kann eine Schleife bauen und fällt unbemerkt aus. Das ist dringend. Ein ausgemusterter Drucker in der Liste ist nur Ordnung.

Damit die Doku nach einem Jahr nicht wieder veraltet ist, braucht es einen Ablauf, nicht nur einen guten Vorsatz:

  • Definition of Done: Eine Änderung gilt erst als erledigt, wenn NetBox nachgeführt ist. Luan vereinbart genau das mit seinem Teamleiter.
  • Regelmässiger Abgleich: Ein monatlicher Scan wird automatisch mit NetBox verglichen. Abweichungen landen als Ticket in der Warteschlange.
  • Klare Verantwortung: Eine Person ist für die Datenqualität zuständig, alle anderen pflegen ihre Änderungen selbst.

Schritt für Schritt: Luan nimmt das Netz auf

  1. Auftrag klären. Luan lässt sich den Scan aller internen Netze schriftlich bestätigen. Die Maschinensteuerungen in VLAN 21 scannt er nur samstags.
  2. Netze sammeln. show ip route connected auf SW-CORE, R-PROD und R-LAGER ergibt 14 Netze. Die alte Liste kannte 11.
  3. Hosts finden. nmap -sn über alle 14 Netze. Im Management-Netz antworten 26 Geräte, darunter 10.10.99.9 ohne DNS-Namen.
  4. Verkabelung verfolgen. Ab SW-CORE arbeitet Luan sich mit show lldp neighbors nach aussen und sammelt alle Zeilen. Jede Verbindung taucht zweimal auf, einmal von jedem Ende. Bereinigt bleiben 31 Verbindungen und 23 verwaltete Switches statt 19.
  5. Versteckte Geräte aufspüren. Auf SW-SPED-1 zeigt Port Gi1/0/17 fünf MAC-Adressen ohne LLDP-Nachbarn: ein unverwalteter 8-Port-Switch unter einem Tisch.
  6. In NetBox erfassen. Sites, Racks, Geräte, Kabel, VLANs, Präfixe und IPs. Der unverwaltete Switch bekommt den Tag ungeklaert.
  7. Widersprüche bewerten. 10.10.99.9 ist ein Switch in Halle 2, den ein Lieferant installiert hat. Er wird benannt und ins Monitoring eingeplant.

Schritt 4 von Hand ist mühsam. Automatisiere ihn im Code-Labor:

Check 4 · Code-LaborFortgeschritten

Code-Labor: Aus LLDP-Zeilen eine Verbindungsliste bauen

Luan hat auf jedem verwalteten Switch show lldp neighbors ausgeführt und jede Zeile als Tupel gesammelt:

(lokales_geraet, lokaler_port, nachbar, nachbar_port)

Jedes Kabel zwischen zwei verwalteten Switches taucht dabei zweimal auf, einmal von jedem Ende aus. Schreibe zwei Funktionen:

  • verbindungen(eintraege) gibt jede Verbindung genau einmal zurück, als Tupel aus zwei Enden ((geraet_a, port_a), (geraet_b, port_b)). Das kleinere Ende (normaler Tupelvergleich) steht vorne. Die Liste ist sortiert.
  • noch_offen(eintraege) gibt die Namen aller Geräte zurück, die nur als Nachbar vorkommen, auf denen Luan also noch keine LLDP-Daten gesammelt hat (z.B. Router, Access Points oder ein Switch weiter aussen). Sortierte Liste ohne Duplikate.
Code-Labor · Python
Strg + Enter

Und vergleiche danach die alte Liste mit dem Scan, so wie in Schritt 7:

Check 5 · Code-LaborFortgeschritten

Code-Labor: Alte Doku gegen den Scan abgleichen

Die Excel-Liste von 2019 liegt als Dictionary doku vor: Gerätename → IP-Adresse. Der nmap-Scan liegt als Dictionary scan vor: IP-Adresse → DNS-Name in Kleinbuchstaben (oder None, wenn es keinen Namen gibt).

Schreibe abgleich(doku, scan). Die Funktion gibt ein Dictionary mit drei Listen zurück:

  • "ip_geaendert": Namen aus der Doku, die im Scan unter einer anderen IP gefunden wurden (Namen ohne Rücksicht auf Gross- und Kleinschreibung vergleichen). Sortiert.
  • "nicht_gefunden": Namen aus der Doku, deren IP nicht im Scan vorkommt und die auch nicht unter einer anderen IP auftauchen. Sortiert.
  • "nicht_dokumentiert": IP-Adressen aus dem Scan, die weder in der Doku stehen noch zu einem Gerät mit geänderter IP gehören. Numerisch sortiert (10.10.99.9 vor 10.10.99.40). Nutze dafür ipaddress.ip_address als Sortierschlüssel.
Code-Labor · Python
Strg + Enter

Typische Fehler

  • Mit der alten Liste beginnen. Wer nur die Adressen aus der Excel-Datei prüft, findet nie die Geräte, die dort fehlen.
  • Local Intf und Port ID verwechseln. Local Intf ist der Port auf dem Gerät, auf dem du gerade bist. Port ID gehört zum Nachbarn. Verwechselt, landet jedes Kabel in der Doku am falschen Port.
  • Nur auf LLDP vertrauen. Unverwaltete Switches, ältere Drucker und viele IoT-Geräte senden kein LLDP. Prüfe Access-Ports mit vielen MAC-Adressen gezielt.
  • Doku als Projekt statt als Prozess. Eine einmal perfekte Doku ist nach einem Jahr wertlos, wenn niemand sie im Change-Ablauf nachführt.

Zusammenfassung

  • Die Liste der Netze kommt aus der Routingtabelle des Core, nicht aus der alten Doku.
  • nmap -sn findet aktive Hosts, LLDP und CDP zeigen die direkten Nachbarn mit beiden Ports.
  • Viele MAC-Adressen an einem Access-Port ohne LLDP-Nachbarn deuten auf einen unverwalteten Switch.
  • «Follow the MAC»: IP aus dem Scan, MAC aus der ARP-Tabelle, Port aus der MAC-Tabelle.
  • NetBox ist die Source of Truth für Geräte, Kabel, VLANs, Präfixe und IP-Adressen.
  • Widersprüche bewertest du nach Risiko, und die Doku bleibt nur mit einem festen Ablauf aktuell.