Um die üblichen Netzwerkdiscovery-Protokolle zu unterstützen, muss bei der Open-Source-Firewall über die Paketinstallation nachgeholfen werden. Die Paketinstallation ist über das Top-Menu via System>PackageManager zu finden. Aus den verfügbaren Anwendungen ist ladvd auszuwählen. Nach der Installation wird ein sehr breites Portfolio an Protokollen von der pfSense verstanden und gesprochen:

  • LLDP (Link Layer Discovery Protocol)
  • CDP (Cisco Discovery Protocol)
  • EDP (Extreme Discovery Protocol)
  • NDP (Nortel Discovery Protocol)

Damit Daten ausgetauscht werden können, muss der Switch, an den die pfSense angeschlossen ist natürlich auch das Protokoll sprechen (können) und aktiviert haben. Mein Switch spricht auf der Gegenseite aktuell LLDP.

Link-Discovery-Protokolle

Was sind eigentlich diese Protokolle und was tun sie? Kurz gesagt geben sie dem angeschlossenen System folgende Informationen mit und erhalten als “Gegenleistung”, sofern das Protokoll dafür konfiguriert wurde, eben solche Informationen des Gegenüber:

  • System/Chassis-Namen
  • Lokal verbundenes Interface
  • Remote-Interface, über das das System verbunden ist
  • Location-Information
  • Informationen zur verwendeten Hardware bzw. zur Geräteklasse

Konfiguration

Um ladvd zu konfigurieren, muss im Top-Menu über Services>ladvd navigieren.

Service aktivieren und konfigurieren

Der Dienst muss über eine Checkbox aktiviert werden und die dafür aktiven Interfaces ausgewählt werden. Schließlich möchte ich an meinem WAN- oder DMZ-Port beispielsweise bewusst keine Discovery-Protokolle verwenden, damit die Informationen nicht missbraucht werden können.

Per default horcht die pfSense auf allen möglichen Kanälen. Auch dies kann wenn gewünscht über eine Checkbox inaktiv gesetzt werden. Im Silent-Mode werden aktiv keine Pakete gesendet sondern nur empfangen. Schade, dass das nur global geht. Hier sehe ich einen Use-Case wie o.g. für WAN- und DMZ-Interfaces.

Das Management-Interface muss ein physikalisches Interface sein und darf kein VLAN, eine Link-Aggregation oder ähnliches virtuelles Interface sein. Über den Input “System Location” kann ein Freitext für den Standort der pfSense vergeben werden.

Nun müssen noch die Dienste aktiviert werden, auf denen gehorcht werden soll. In meinem Fall sind das LLDP und CDP,  da ich bisher mit Extreme und Nortel kaum Berührungspunkte hatte. CDP wird mittlerweile übrigens auch von HP-ProCurve-Geräten und Brocade-Systemen gesprochen und verstanden.

Output

Über die Web-GUI wie über die CLI erhält man folgenden Output. Darin ist zu erkennen, dass über das Protokoll LLDP das lokale Interface re2 verbunden ist mit der Port-ID eth 4 auf Switchseite. Sofern der Hersteller bzw. der Admin die Information pflegen, erkennt man über die Capability auch, um welche Geräteklasse es sich handelt. Bei Enterprise-Geräten ist hier gewöhnlich der Capability Code gepflegt. Bei meinem Switch leider nicht.

Wofür die Informationen?

Ist ein Netzwerk nicht ausreichend dokumentiert oder unterliegt es viel Dynamik, kann so recht einfach nachvollzogen werden, wie die Systeme miteinander verbunden sind. So kann man sich nach und nach von einem zum anderen Gerät hangeln und eine immer umfangreichere Topologie-Dokumentation anlegen.