Datenverkehr am VDSL oder FTTH Anschluss monitoren

Die Analyse des Datenverkehrs auf dem heimischen VDSL oder FTTH Anschluss bedarf einigen Aufwands. In der Regel ist zuhause eine Fritzbox oder ein anderer Router mit integrierten DSL Modem im Einsatz und direkt auf dem DSL Anschluss kann nicht mitgelesen werden. Daher ist es notwendig ein separates VDSL Modem zu betreiben. Bei FTTH kann zwischen Router und Glasfaser ONT die pppoe Session abgegriffen werden.
Meine Lösung heißt Bintec RS353jv als DSL Modem, Cisco 2901 als Router, Cisco Catalyst 3560X als zentraler Switch im LAN und ein Server mit Hyper-V und darauf laufend Linux mit NTOPNG und Wireshark.

im Detail:
– Der Bintec ist ein reiner Medienconverter, wandelt Zweidraht VDSL auf Ethernet.
– Der Cisco 2901 ist der Router nach extern und intern, verbunden mit dem Bintec (über den Catalyst, dazu gleich mehr) und zum LAN mit dem Catalyst Switch. Er macht NAT für IPv4, verteilt einen IPv6 Präfix in das LAN, hat einen 6in4 Tunnel über Hurricane Electric um feste IPv6 Adressen zu erhalten, macht DynDNS zu OVH und noch einiges mehr. Ein VDSL 100 Anschluss bringt ihn mit IPv4 NAT und Zone Based Firewall an seine absoluten Grenzen.
– Cisco Catalyst 3560X hier in der 48Port Version mit PoE+, als zentraler Switch im LAN für Endgeräte und Server. Hier wird auch der Datenverkehr des WAN noch einmal durchgeschliffen und als Spiegel zum virtuellen Switch des Hyper-V Servers gegeben. In einer produktiven Umgebung sollte man das auf keinen Fall so machen, sondern einen dedizierten Switch mit Mirrorport oder besser noch einen TAP verwenden. Das ist gegebenenfalls auch eine Kostenfrage.
– Als Server nutze ich derzeit einen HP DL360G7, das ist jedoch ein ziemlicher Stromfresser. Alternativ steht mir noch ein Fujitsu RX100S7 zur Verfügung. Dieser benötigt bei wenig Last etwa 30Watt. Immernoch ordentlich, aber nicht im dreistelligen Watt-Bereich. Für Hyper-V gibt es einen Port und vSwitch für die virtuellen Maschinen sowie einen weiteren Ethernet Port nur für den gespiegelten WAN Traffic des Catalyst. Dieser Port arbeitet im promiscuous mode und auch die virtuellen Maschinen arbeiten so. In erster Line läuft NTOPNG um Datenströme zu analysieren und parallel kann mit Wireshark bis in die einzelnen Pakete geschaut werden.

Update:
das beschriebene Konstrukt ist so nicht mehr im Einsatz, aus mehreren Gründen. Bintec ist pleite und es gibt keine Softwareupdates mehr für die Hardware. Zum anderen wird der Zugang inzwischen über einen Cisco 1116-4p realisiert. Dieser Router hat in integriertes DSL Modem und ein weiteres WAN Interface als RJ45 oder SFP. Router mit IOS XE bieten ERSPAN, encapusulated remote span. Ursprünglich dafür gedacht, Daten auf ein anderes Gerät zu spiegeln. Aber genauso gut kann man auch den POE Traffic von Ethernet 0/2/0 einfach zum GI0/0/0 lokal spiegeln und kann direkt in die pppoe Session hineinschauen.


interface Loopback50
description *** for erspan ***
ip address 192.168.128.1 255.255.255.255
!
interface Ethernet0/2/0
description *** Telekom VDSL ***
no ip address
load-interval 30
no negotiation auto
!
interface Ethernet0/2/0.7
description *** Telekom mit Tagging VLAN7 ***
encapsulation dot1Q 7
ip pim sparse-mode
ip igmp version 3
ip igmp query-interval 15
ip igmp proxy-service
no cdp enable
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface GigabitEthernet0/0/0
description *** erspan destination ***
no ip address
load-interval 30
media-type rj45
speed 1000
no negotiation auto
no cdp enable
!
monitor session 1 type erspan-source
source interface Et0/2/0.7
destination
erspan-id 7
mtu 1464
ip address 192.168.128.1
origin ip address 192.168.128.1
!
monitor session 2 type erspan-destination
destination interface Gi0/0/0
source
erspan-id 7
ip address 192.168.128.1
!



Den Bintec konfigurieren:
Die Telekom liefert einen VDSL Anschluss und der gesamte Verkehr läuft getaggt in VLAN7. Auch bei Entertain, der älteren IPTV Plattform der Telekom gibt es nur noch dieses VLAN.
Der Bintec RS353jv ist eigentlich ein vollwertiger Router, wird hier jedoch ausschließlich als Bridge eingesetzt, also eigentlich wie ein Medienkonverter zwischen VDSL und Ethernet.
Die Konfiguration kann über die Console, eine SSH Session oder das Web GUI erfolgen.
Der DSL Port ist gesetzt, als Anbindung zum Router habe ich das einzelne Ethernet Interface EN1-4 gewählt.

Den Cisco konfigurieren auf der WAN Seite:
Wer hier liest wird in der Regel tiefergehende Kenntnisse haben, so dass die Konfiguration des Dialers auf dem Cisco nicht so spannend ist. Welche Zeilen fehlen? DynDNS Updates, NBAR und netflow/IPfix Einträge.
Seit der Migration auf die BNG Plattform ist es egal, mit welchen Zugangsdaten man sich anmeldet, die alte t-online Kennung spielt keine Rolle mehr. Auch „Mutti123“ würde als Passwort funktionieren.

interface GigabitEthernet0/0
description *** WAN link ***
no ip address
no ip route-cache
load-interval 30
duplex auto
speed auto
!
interface GigabitEthernet0/0.7
description description *** Telekom mit Tagging VLAN7 ***
encapsulation dot1Q 7
ip pim sparse-mode
ip virtual-reassembly in
no ip route-cache
no cdp enable
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface Dialer1
mtu 1488
bandwidth 400000
ip address negotiated
ip pim sparse-mode
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1448
load-interval 30
dialer pool 1
dialer idle-timeout 0
dialer string 1
dialer-group 1
no cdp enable
ipv6 address autoconfig default
ipv6 enable
no ipv6 nd ra suppress
ipv6 nd ra interval 10
ipv6 dhcp client pd prefix-von-telekom rapid-commit
ppp pap sent-username muttis.bester@hotelmama.de password muttersoehnchen
ppp ipcp dns request
ppp ipcp mask request
ppp ipcp route default
!
ip nat inside source list ipv4-NAT interface Dialer1 overload
!
dialer-list 1 protocol ip list 10
dialer-list 1 protocol ipv6 permit
!
access-list 10 permit x.x.x.x y.y.y.y
(alles eintragen mit Wildcards was die pppoe Session aufbauen darf)
!
ip access-list standard ipv4-NAT
permit x.x.x.x y.y.y.y
(alles interne eintragen mit Wildcards was mit NAT bearbeitet wird)

Der Switch wird zum Spiegeln der Daten konfiguriert
Wir schon geschrieben ist es nicht die Ideallösung den ungefilterten WAN Traffic nochmal durch den LAN Switch zu jagen. Im kommerziellen Umfeld absolutes NoGo.
Auf zwei als 802.1q – also Trunks – konfigurierten Interfaces wird das DSL Modem (Bintec) und der Router (2901) verbunden. Ausschließlich VLAN7 ist erlaubt. Die SPAN Konfiguration sorgt dafür, dass die ankommenden Daten an beiden Ports zu einem Zielport rausgegeben werden. Der Catalyst 3650X ist ein Layer3 Switch, daher der Eintrag „no switchport“.

!
interface GigabitEthernet1/3
description *** dslmodem eth5 vlan7 pppoe traffic only ***
switchport trunk allowed vlan 7
switchport trunk encapsulation dot1q
switchport mode trunk
no cdp enable
!
interface GigabitEthernet1/4
description *** Router wan vlan7 pppoe traffic only ***
switchport trunk allowed vlan 7
switchport trunk encapsulation dot1q
switchport mode trunk
no cdp enable
!
monitor session 2 source interface Gi1/3 - 4 rx
monitor session 2 destination interface Gi0/44
!
!
interface GigabitEthernet0/44
description *** server xxx nic3 LAN Monitor SPAN GI13-4 ***
no switchport
no ip address
speed 1000
duplex full
no cdp enable
!

Hyper-V vorbereiten

Für das Monitoring wird ein dedizierter

Den Ethernet Port am Hyper-V Switch in den promiscuous mode bringen

Während sich eine virtuelle Maschine in Hyper-V mit ein paar Mausklicks in den promiscuous mode versetzen lässt, ist beim Ethernet Port die Powershell gefragt.

https://learn.microsoft.com/de-de/azure/defender-for-iot/organizations/traffic-mirroring/configure-mirror-hyper-v Unterpunkt: Konfigurieren des Spiegelungsmodus des Switch

$ExtPortFeature=Get-VMSystemSwitchExtensionPortFeature -FeatureName „Ethernet Switch Port Security Settings“
$ExtPortFeature.SettingData.MonitorMode=2
Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName vSwitch_Span -VMSwitchExtensionFeature $ExtPortFeature

vSwitch_Span Name des zuvor erstellten virtuellen Switch
MonitorMode=2 Source