Skip to content

georf.de

Open-Source, Rostock und mehr

Menu
  • Ägypten
  • Marokko
  • Datenschutzerklärung
  • Impressum
Menu

IPv6-Debian-Router hinter Deutsche Glasfaser im Heimnetzwerk

Posted on 19. Mai 202319. Mai 2023 by georf

Wie vor längerer Zeit schon mal vorgestellt, benutze ich einen kleinen Zotac mit zwei Ethernet-Schnittstellen als Router. Dieser läuft nun auch schon ein Jahr mit IPv4 über den Internetprovider Deutsche Glasfaser. Nun habe ich mir endlich die Zeit genommen, auch den IPv6-Anschluss zu vollenden. Ein großer Dank geht dabei an das „Glasfaserforum„, die mir bei der Einrichtung stark unter die Arme gegriffen haben.

Es gibt dabei mehrere Schritte, die ich nacheinander absolviert habe. Ich beschreibe kurz die Probleme und im Anschluss meine Lösungen. Vielleicht hilft es ja jemanden bei seiner Einrichtung. Falls ihr Verbesserungsvorschläge habt: Immer her damit!

Kurze Begriffsklärung: Bei mir ist die Internetschnittstelle mit „eth-wan“ und die LAN-Schnittstelle mit „eth-lan“ bezeichnet.

IP-Adresse bekommen

Der erste Schritt ist es, eine IPv6-Adresse auf dem Router zu bekommen. Dafür muss man die folgende Firewall-Regeln setzen:

# Auf Pings für IPv4 und IPv6 reagieren
 icmp   type echo-request limit rate 10/second counter accept
 icmpv6 type echo-request limit rate 10/second counter accept

# IPv6 NDP erlauben
 icmpv6 type { nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert } counter accept

# DHCPv6 erlauben
 iifname eth-wan ip6 daddr fe80::/10 ip6 saddr fe80::/10 udp dport 546 udp sport 547 counter accept comment "dhcp6"

# DHCP erlauben
 iifname eth-wan udp dport 68 accept

Nun muss man die Schnittstellen in /etc/network/interfaces konfigurieren

auto eth-wan
iface eth-wan inet dhcp   # ipv4 soll über DHCP konfiguriert werden
iface eth-wan inet6 dhcp  # ipv6 soll über SLAAC und DHCPv6 konfiguriert werden
  request_prefix 1        # es soll sich auch ein Prefix abrufen

auto eth-lan
iface eth-lan inet static # ipv4 hat eine statische IP
 address 10.10.10.10/23   # bei mir die 10.10.10.10
iface eth-lan inet6 auto  # ipv6 soll sich automatisch konfigurieren (SLAAC)
  up ip addr add fe80::10:10:10:10/64 dev eth-lan scope link  # nach dem das Interface fertig ist, bekommt es eine zusätzliche IP

Anschließend muss man in der /etc/dhcp/dhclient.conf den request um dhcp6.ia-pd ergänzen. Bei mir hatte der schon viele Optionen und ich habe es am Ende dazu gepackt:

request subnet-mask, broadcast-address, time-offset, routers,
	domain-name, domain-name-servers, domain-search, host-name,
	dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
	netbios-name-servers, netbios-scope, interface-mtu,
	rfc3442-classless-static-routes, ntp-servers, dhcp6.ia-pd;

Im Anschluss starte ich das Interface neu. Im empfehle dies mit SSH über die LAN-Schnittestelle zu machen, um eventuell gleichzeitig die Logs mitverfolgen zu können: ifdown eth-wan && ifup eth-wan

Im Besten falle kann man nun zusehen, wie DHCP für IPv4 die Adresse erneuert und im Anschluss eine alles für IPv6 ausgehandelt wird. Bei mir sah es dann so aus:

Killed old client process
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth-wan/00:01:2e:82:b9:c7
Sending on   LPF/eth-wan/00:01:2e:82:b9:c7
Sending on   Socket/fallback
DHCPRELEASE of 100.84.185.30 on eth-wan to 100.124.1.11 port 67
Killed old client process
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

no link-local IPv6 address for eth-wan

If you think you have received this message due to a bug rather
than a configuration issue please read the section on submitting
bugs on either our web page at www.isc.org or in the README file
before submitting a bug.  These pages explain the proper
process and the information we find helpful for debugging.

exiting.
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth-wan/00:01:2e:82:b9:c7
Sending on   LPF/eth-wan/00:01:2e:82:b9:c7
Sending on   Socket/fallback
DHCPDISCOVER on eth-wan to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on eth-wan to 255.255.255.255 port 67 interval 7
DHCPOFFER of 100.84.185.30 from 100.124.1.11
DHCPREQUEST for 100.84.185.30 on eth-wan to 255.255.255.255 port 67
DHCPREQUEST for 100.84.185.30 on eth-wan to 255.255.255.255 port 67
DHCPACK of 100.84.185.30 from 100.124.1.11
bound to 100.84.185.30 -- renewal in 1643 seconds.
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on Socket/eth-wan
Sending on   Socket/eth-wan
PRC: Confirming active lease (INIT-REBOOT).
XMT: Forming Rebind, 0 ms elapsed.
XMT:  X-- IA_NA 2e:82:b9:c7
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAADDR 2a00:6020:1000:41::26cf
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_NA appended.
XMT:  X-- IA_PD 2e:82:b9:c7
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAPREFIX 2a00:6020:50a6:bf00::/56
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_PD appended.
XMT: Rebind on eth-wan, interval 1050ms.
RCV: Reply message on eth-wan from fe80::ff:fe01:102.
RCV:  X-- IA_NA 2e:82:b9:c7
RCV:  | X-- starts 1684500930
RCV:  | X-- t1 - renew  +1800
RCV:  | X-- t2 - rebind +2880
RCV:  | X-- [Options]
RCV:  | | X-- IAADDR 2a00:6020:1000:41::26cf
RCV:  | | | X-- Preferred lifetime 3600.
RCV:  | | | X-- Max lifetime 3600.
RCV:  X-- IA_PD 2e:82:b9:c7
RCV:  | X-- starts 1684500930
RCV:  | X-- t1 - renew  +1800
RCV:  | X-- t2 - rebind +2880
RCV:  | X-- [Options]
RCV:  | | X-- IAPREFIX 2a00:6020:50a6:bf00::/56
RCV:  | | | X-- Preferred lifetime 3600.
RCV:  | | | X-- Max lifetime 3600.
RCV:  X-- Server ID: 00:01:00:01:26:2c:40:77:00:50:56:b1:8a:d7
PRC: Bound to lease 00:01:00:01:26:2c:40:77:00:50:56:b1:8a:d7.

In dem zweiten Teil sieht man, dass mir die Adresse 2a00:6020:1000:41::26cf zugewiesen wird und ich das Prefix 2a00:6020:50a6:bf00::/56 für weitere Adressen benutzen kann. Ein ip -6 a zeigt mir das auch an und ich kann schon IPv6-Adressen im Internet vom Router aus pingen.

IPv6-Traffic weiterleiten

Ein Router leitet die Pakete ja an die entsprechenden Netze weiter. Dafür muss es dem Kernel aber auch erlaubt werden. Dies passiert bei IPv6 über die Option net.ipv6.conf.all.forwarding=1. Setzt man diese Option, werden einen aber nicht mehr automatisch die default-Routen über SLAAC gesetzt und eine Kommunikation ins Internet funktioniert nicht mehr. Dafür muss man noch zusätzlich die Option net.ipv6.conf.all.accept_ra=2 setzen. Diese steht normalerweise auf 1. Ich schreibe meine sysctl-Anpassungen in die Datei /etc/sysctl.d/local.conf

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.accept_ra=2

IPv6-Prefix an lokales Netzwerk weiterleiten

Das erhaltene 56-Prefix hat einen zu großen Raum für IP-Adressen, um automatisch mittels SLAAC verwendet zu werden. Um es mittels radvd (router advertisement daemon for IPv6) automatisch zu verteilen, brauche ich also ein Skript, welches es korrekt in die Konfiguration schreibt und danach den radvd neu lädt. Ich habe dafür ein Skript vom Debian-Wiki erweitert:

Es nutzt den Exit-Hook vom DHCP-Client, um der internen eth-lan-Schnittstelle eine öffentliche IP anhand des Prefix zuzuweisen. Im Anschluss schreibe ich das Prefix in eine gültige radvd-Konfiguration und lade es danach neu. Hier ist meine Radvd-Config:

interface eth-lan {
   AdvSendAdvert on;
   MinRtrAdvInterval 30;
   MaxRtrAdvInterval 100;
   prefix PREFIX/64 {
     AdvOnLink on;
     AdvAutonomous on;
     AdvRouterAddr off;
     AdvValidLifetime 3600;
     AdvPreferredLifetime 3600;
   };

  RDNSS fe80::10:10:10:10
  {
    AdvRDNSSLifetime 360;
  };
};

Um zu überprüfen, ob die RAs korrekt im Netzwerk verteilt werden, habe ich das Tool radvdump genutzt. Es zeigt jede RA, die auf allen Interfaces empfangen werden, an. Dabei zeigt es sie sogar als gültige Konfigurationen für radvd an, so kann man eine Konfiguration aus einem anderen Netzwerk leicht kopieren.

Im Anschluss erhielt ich sofort IPv6-Adressen auf Smartphone und Laptop.

Dank und Links

Ich bedanke mich nochmal bei den Usern des Glasfaserforums: frank_m, alfalfa, HubeBube, ConiKost, ::1, Edding

Weiterhin habe ich folgende Seiten für benutzt und kann diese nur empfehlen:

  • Einführung in die IPv6-Adressierung (Systemverwaltungshandbuch: IP Services)
  • IPv6 – Elektronik Kompendium
  • IPv6 Prefix delegation – Debian Wiki
  • Präfix-Delegation › Router › Wiki › ubuntuusers.de
  • radvd.conf(5) – Linux man page

Schreibe einen Kommentar Antwort abbrechen

Du musst angemeldet sein, um einen Kommentar abzugeben.

Neueste Beiträge

  • Funk-Überbrückung von Zeitmessanlage
  • Garagen-Tools 2
  • Hoftor – Neue Schaltung nach Problemen
  • Garagentor und Garagen-Tool smart machen
  • T-Online-Probleme bei eigenem Mail-Server

Kategorien

  • Allgemein (37)
  • Deutsch (6)
  • IT (78)
    • BKampfBot (7)
    • Datenschutz (5)
    • Elektronik (10)
    • Informatik (18)
    • Linux (27)
    • Programmierung (35)
    • Webseite (25)
  • Reparatur (1)
  • Rezepte (18)
  • Rostock (21)

Schlagwörter

anonym Arduino Backup Bash Basteln BKampfBot C C++ Codierung Datenbank Debian Dokumentation Drucker E-Mail Erbsen esp8266 Feuerwehrsport Git Github H-Brücke HttpClient Javascript LEDs Linux Löten MQTT MySQL Nginx PHP Platinen Python Quellcode RegHex Reis Samba Scanner Server Sinnlos Trac Transmission Webseite Weihnachten WLAN Zotac ß

Neuste Artikel

  • Funk-Überbrückung von Zeitmessanlage
  • Garagen-Tools 2
  • Hoftor – Neue Schaltung nach Problemen
  • Garagentor und Garagen-Tool smart machen
  • T-Online-Probleme bei eigenem Mail-Server

Neuste Kommentare

  • Garagen-Tools 2 – georf.de zu Garagentor und Garagen-Tool smart machen
  • Hoftor – Neue Schaltung nach Problemen – georf.de zu Hoftor – Steuerung mit Energiesparfunktion
  • Garagentor und Garagen-Tool smart machen – georf.de zu Hoftor mit WLAN und MQTT aufrüsten
  • IPv6-Debian-Router hinter Deutsche Glasfaser im Heimnetzwerk – georf.de zu Zotac-CI327-nano mit Netzwerkumgebung für Heimnetzwerkrouter
  • Hoftor – Steuerung mit Energiesparfunktion – georf.de zu LED-Stoppuhr für Wettkämpfe

Kategorien

  • Allgemein (37)
  • BKampfBot (7)
  • Datenschutz (5)
  • Deutsch (6)
  • Elektronik (10)
  • Informatik (18)
  • IT (8)
  • Linux (27)
  • Programmierung (35)
  • Reparatur (1)
  • Rezepte (18)
  • Rostock (21)
  • Webseite (25)

Lesezeichen

  • Feuerwehr Warin
  • MGVmedia

Meta

  • Anmelden
  • Eintrags-Feed
  • Kommentar-Feed
  • WordPress.org
©2026 georf.de | Built using WordPress and Responsive Blogily theme by Superb