02 / 05 · Technische Dokumentation
Port-Hygiene
Welche Frames ins Peering-LAN dürfen und wie Router so konfiguriert werden, dass sie keine Router Advertisements, Discovery- oder sonstigen Fremdprotokolle senden.
Was ins Peering-LAN darf#
Das Peering-LAN ist eine gemeinsame Broadcast-Domäne. Jeder Frame, den ein Router dort aussendet, landet bei allen anderen Teilnehmern. Erlaubt sind deshalb nur die Ethertypes, die für IP-Peering nötig sind (AUP § 2):
| Ethertype | Protokoll | Hinweis |
|---|---|---|
0x0800 | IPv4 | nur Unicast zu Teilnehmern, die eine passende Route angekündigt haben |
0x0806 | ARP | |
0x86DD | IPv6 | Neighbor Discovery (NS/NA) ist erlaubt und nötig, Router Advertisements nicht |
Jeder Frame muss von der registrierten MAC-Adresse des Ports kommen. Je Port ist genau eine MAC-Adresse zugelassen, Frames anderer Absenderadressen werden verworfen. Ein Routertausch mit neuer MAC-Adresse muss vorher an support@frankonix.net gemeldet werden (AUP § 5).
Was nicht ins Peering-LAN darf#
Laut AUP § 3 unzulässig, unter anderem:
- IPv6 Router Advertisements und Router Solicitation. Viele Plattformen senden RAs automatisch, sobald IPv6-Routing aktiv ist und das Interface eine globale Adresse hat.
- Discovery-Protokolle: CDP, LLDP, EDP, MNDP und andere herstellerspezifische Nachbarschaftsprotokolle.
- Spanning Tree (STP, RSTP, MSTP) und andere Layer-2-Kontrollprotokolle, außerdem Hersteller-Keepalives wie Ethernet-Loopback und MOP.
- DHCP und BOOTP, sowie IGMP- und MLD-Anfragen.
- IGPs wie OSPF, IS-IS, RIP oder EIGRP.
- Proxy-ARP, ICMP-Redirects und gerichteter Broadcast.
- Multicast und Broadcast außer ARP und IPv6 Neighbor Discovery.
- VLAN-Tags: Der Port ist untagged, QinQ und weitere Tags nur nach Absprache.
Grundeinstellungen für den Port#
- Geroutetes Interface, kein Switchport und kein Bridge-Mitglied. Hinter dem Port darf kein Layer-2-Netz hängen, über das weitere Geräte ins Peering-LAN sprechen könnten (AUP § 5).
- Untagged, MTU
1500, Autonegotiation aus (siehe Routeserver und Anschlussdaten). - Nur die zugewiesene IPv4- und IPv6-Adresse verwenden, keine weiteren Adressen und keine SLAAC- oder DHCP-Adressen auf dem Interface.
- IPv6-Link-Local-Adresse aktiv lassen, sie wird für Neighbor Discovery gebraucht.
- Das Peering-LAN nicht in andere Netze weiterverbreiten, also kein
redistribute connectedins eigene BGP oder IGP (AUP § 4).
Beispielkonfigurationen#
Die Beispiele zeigen nur die hygienerelevanten Zeilen. Interface-Namen und x in den Adressen durch die eigenen Werte ersetzen. Syntax und Standardwerte unterscheiden sich je nach Softwarestand, deshalb vor dem Einsatz mit der Herstellerdokumentation abgleichen.
Cisco IOS und IOS-XE#
IOS sendet Router Advertisements, sobald ipv6 unicast-routing aktiv ist. Das ist der häufigste Fehler im Peering-LAN.
interface TenGigabitEthernet0/0/0
description frankonIX Peering-LAN
ip address 193.34.203.x 255.255.255.192
ipv6 address 2001:7f8:15b:1::x/64
no ip redirects
no ip proxy-arp
no ip directed-broadcast
no ipv6 redirects
ipv6 nd ra suppress all
no cdp enable
no lldp transmit
no lldp receive
no mop enabled
no mop sysid
no keepaliveCisco IOS-XR#
Proxy-ARP, Redirects und CDP sind standardmäßig aus. Router Advertisements und LLDP (falls global aktiv) müssen pro Interface abgeschaltet werden.
interface TenGigE0/0/0/0
description frankonIX Peering-LAN
ipv4 address 193.34.203.x 255.255.255.192
ipv6 address 2001:7f8:15b:1::x/64
ipv6 nd suppress-ra
lldp
receive disable
transmit disable
!
!Juniper Junos#
Junos sendet Router Advertisements nur für Interfaces, die unter protocols router-advertisement stehen. Das Peering-Interface darf dort nicht eingetragen sein.
set interfaces xe-0/0/0 description "frankonIX Peering-LAN"
set interfaces xe-0/0/0 unit 0 family inet address 193.34.203.x/26
set interfaces xe-0/0/0 unit 0 family inet no-redirects
set interfaces xe-0/0/0 unit 0 family inet6 address 2001:7f8:15b:1::x/64
set system no-redirects-ipv6
set protocols lldp interface xe-0/0/0 disable
delete protocols router-advertisement interface xe-0/0/0.0Arista EOS#
interface Ethernet1
description frankonIX Peering-LAN
no switchport
ip address 193.34.203.x/26
ipv6 address 2001:7f8:15b:1::x/64
ipv6 nd ra disabled all
no lldp transmit
no lldp receive
!
no ip icmp redirectMikroTik RouterOS#
RouterOS sendet über den Standardeintrag interface=all Router Advertisements auf allen Interfaces und spricht MNDP, CDP und LLDP. Den Standardeintrag deaktivieren und RAs nur für die eigenen Kunden-Interfaces gezielt anlegen.
/interface ethernet set sfp-sfpplus1 loop-protect=off
/ip address add address=193.34.203.x/26 interface=sfp-sfpplus1
/ipv6 address add address=2001:7f8:15b:1::x/64 interface=sfp-sfpplus1 advertise=no
/ipv6 nd set [find default=yes] disabled=yes
/ip neighbor discovery-settings set discover-interface-list=none
/ip settings set send-redirects=no
/ipv6 settings set accept-router-advertisements=noLinux (BIRD, FRR)#
Kein radvd, kein lldpd und kein DHCP-Client auf dem Peering-Interface. arp_ignore und arp_announce verhindern, dass der Server im Peering-LAN ARP-Anfragen für Adressen anderer Interfaces beantwortet.
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.<if>.send_redirects = 0
net.ipv4.conf.<if>.accept_redirects = 0
net.ipv4.conf.<if>.proxy_arp = 0
net.ipv4.conf.<if>.arp_ignore = 1
net.ipv4.conf.<if>.arp_announce = 2
net.ipv6.conf.<if>.accept_ra = 0
net.ipv6.conf.<if>.autoconf = 0
net.ipv6.conf.<if>.accept_redirects = 0Mit systemd-networkd zusätzlich in der .network-Datei des Interfaces:
[Network]
DHCP=no
IPv6AcceptRA=no
IPv6SendRA=no
LLDP=no
EmitLLDP=noSelbst prüfen#
Auf einem Linux-Router zeigt tcpdump, was das eigene Gerät tatsächlich sendet. Bleiben beide Ausgaben leer, ist der Port sauber.
tcpdump -eni <if> -Q out 'not (ether proto 0x0800 or ether proto 0x0806 or ether proto 0x86dd)'tcpdump -eni <if> -Q out 'icmp6 and ip6[40] == 134'Auf Hardware-Routern helfen die Protokollzähler des Interfaces, zum Beispiel:
show ipv6 interface
show lldp interfaceFragen zur Konfiguration an support@frankonix.net.
Was bei Verstößen passiert#
Frames von nicht registrierten MAC-Adressen verwirft der Port automatisch. Bei einer akuten Gefahr für das Peering-LAN darf frankonIX Verkehr filtern oder Ports und Sessions vorübergehend abschalten (AUP § 6). Den NOC-Kontakt deshalb in PeeringDB aktuell halten (AUP § 7).