Wie kann ich die automatische Ankündigung von IPv6-Nachbarrouten auf einem Router deaktivieren?

8

Ich arbeite für einen ISP, der gerade dabei ist, seine Infrastruktur IPv6-fähig zu machen. Unsere Core-Router haben bereits ein funktionierendes Setup, aber ein großer Teil unserer Glasfaserkunden steht hinter einem Router, auf dem Debian Squeeze ausgeführt wird.

Das Aktivieren von IPv6-Funktionen unter Linux war jedoch kein Problem. Nachdem wir dem Linux-Router eine IPv6-Adresse und Arbeitsrouten zugewiesen hatten, wurden sofort Arbeitsadressen und Routen an alle dahinter liegenden Systeme übertragen, was nicht das war, was wir wollten.

Unser aktueller Plan sieht vor, IPv6-Adressen auf allen Systemen manuell festzulegen, aber ich kann anscheinend keinen Switch oder keine Option finden, um den Kernel anzuweisen, keine Routerankündigungen durchzuführen.

Irgendwelche Vorschläge?

Shadur
quelle
1
Bist du sicher, dass du nicht rennst radvd? Linux selbst sollte keine Router-Werbung sein.
Celada
Ja, ziemlich sicher - auf keinem Router ist die Software installiert.
Shadur
1
Nun, das ist dann mysteriös. Etwas sendet diese Router-Ankündigungen, und ich bin mir ziemlich sicher, dass es nicht der Kernel ist (der Kernel akzeptiert Router-Ankündigungen autonom ohne Hilfe der Userspace-Software, sendet sie aber meines Wissens nicht).
Celada

Antworten:

2

So deaktivieren Sie die RA-Akzeptanz:

sysctl -w net.ipv6.conf.<interface>.forwarding=0
sysctl -w net.ipv6.conf.all.forwarding=0
sysctl -w net.ipv6.conf.<interface>.accept_ra=0
sysctl -w net.ipv6.conf.all.accept_ra=0

oder fügen Sie so etwas zu / etc / network / interfaces hinzu

pre-up echo 0 > /proc/sys/net/ipv6/conf/<interface>/forwarding
pre-up echo 0 > /proc/sys/net/ipv6/conf/<interface>/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/default/accept_ra
h3rrmiller
quelle
Ich brauche es noch, um weiterzuleiten. Ich brauche es nur, um keine Router-Werbung mehr zu senden oder weiterzuleiten.
Shadur
Weiterleitung = 0 deaktiviert die Paketweiterleitung nicht. IPv6-Einstellungen sind leider sehr
kompliziert
Dies gilt übrigens für die RA-Akzeptanz. es hört sich so an, als müssten Sie radvd deaktivieren. werfen Sie einen Blick in /etc/radvd.conf und Veränderung AdvSendAdvert onzu AdvSendAdvert offin der gewünschten Schnittstelle.
h3rrmiller
2

Es hört sich fast so an, als würden Sie Schicht 2 zwischen der LAN- und der WAN-Schnittstelle verbinden. Wenn dies der Fall ist, landet möglicherweise ein Großteil des internen Datenverkehrs Ihres Benutzers im WAN, und alle Router-Ankündigungen im WAN (die für das CPE bestimmt sind) sind tatsächlich Brücken zum LAN.

Wenn dies der Fall ist, dann:

  1. Wenn Sie diese Überbrückung beenden, kann dies die Sicherheit Ihres Benutzers leicht gefährden
  2. Verwenden Sie ebtables, um zwischen LAN und WAN zu filtern

Ich hoffe wirklich, dass ich mich hier irre ...

Sander Steffann
quelle
Ich bin mir ziemlich sicher, dass ich nichts überbrücke.
Shadur
Wenn Sie keine Überbrückung durchführen, sendet etwas auf Ihrem CPE diese Router-Ankündigungen. Der Kernel macht das nicht. Normalerweise radvdwird das Tool zum Senden verwendet, aber möglicherweise gibt es eine andere Software, die dies auf Ihrer Box ausführt.
Sander Steffann
0

Was Sie wahrscheinlich wirklich wollen, ist DHCP-PD (Prefix Delegation). Mit DHCP-PD ähnelt Ihr IPv6-Setup viel mehr Ihrem IPv4-Setup.

In IPv4 verwenden Sie DHCP, um dem Kunden eine einzelne IPv4-Adresse zuzuweisen. Anschließend verwendet der Kunde NAT, um lokale IPs an sein Netzwerk zu verteilen (normalerweise auch über DHCP).

In IPv6 verwenden Sie DHCP-PD, um dem Kunden eine / 64 zuzuweisen. Anschließend verwendet der Kunde den Router adv. Adressen von diesem / 64 seinem internen Netzwerk zuzuweisen. Es gibt Skripte, mit denen die radvd-Konfiguration aktualisiert werden kann, wenn sich die von Ihnen zugewiesene / 64 ändert.

DR. j.
quelle