IPv6-SLAAC-Adresse wird zur Schnittstelle hinzugefügt, wenn dies nicht der Fall ist

1

Ich habe einen Linux-basierten Router für eine Netzwerktestumgebung entwickelt. Die Maschine verfügt über 4 physikalische Ethernet-Ports

  1. wan
  2. lan0
  3. lan1
  4. lan2

Alle 3 LAN-Schnittstellen sind auf meinem LAN-Gerät gebrückt. Ich verwende dnsmasq, um DHCP / DNS auf der LAN-Schnittstelle bereitzustellen. Ich versuche, SLAAC-IPv6-Adressen anstelle von DHCPv6-zugewiesenen Adressen zu verwenden und verwende DHCPv6 für andere Informationen (also zustandsloses DHCPv6). Alle anderen Computer in meinem LAN weisen Adressen über SLAAC korrekt zu. Obwohl dnsmasq Router-Ankündigungen auf der LAN-Schnittstelle sendet, erkennt und erkennt meine WAN-Schnittstelle es irgendwie und konfiguriert sich automatisch. Ich habe Wireshark auf meiner WLAN-Schnittstelle ausgeführt und es gibt keine eingehenden Router-Ankündigungen, die tatsächlich über das Netzwerk gesendet werden.

Ich habe sogar versucht, Slaac auf meiner wan-Oberfläche auszuschalten, indem ich den Schlüssel net.ipv6.conf.wan.autoconf über sysctl auf 0 gesetzt habe, aber er erhält immer noch eine Adresse.

Gibt es eine andere Möglichkeit, dass dies passieren könnte?

Matt
quelle
Ich habe den Eindruck, dass ein Host eine zustandslose Konfiguration für ein Netzwerkpräfix durchmacht, und zwar nur dann, wenn die Router-Ankündigung einen Optionsblock für dieses Netzwerkpräfix enthält, in dem das A-Flag gesetzt ist. Können Sie bestätigen, dass in Ihrer RA-Nachricht (icmpv6.type = 134) der Optionsblock für das / 64-Netzwerk angegeben ist, für den Sie eine SLAAC-Adresse erhalten, == '0' (unset)? Führt Ihre WAN-Schnittstelle einen dhcp6-Client aus, um ein Präfix vom Upstream zu erhalten (z. B. dhcpv6-PD)?
init_js

Antworten:

0

Das Problem stellt sich nicht auf das Netzwerk oder den Kernel, sondern auf das Systemd, das auf diesem System ausgeführt wird. systemd-networkd filtert die Multicast-Nachrichten, die sich auf Router-Ankündigungen beziehen, nicht angemessen oder beachtet die sysctl-Werte, um slaac für eine Schnittstelle zu deaktivieren. Es wurde also die RA verarbeitet und die IP selbst hinzugefügt.

Matt
quelle