IPv6 VDSL mit dem Allnet ALL-BM100VDSL2V und Ubiquiti EdgeRouter 4

Nachdem in meinem Heimnetzwerk einige Speedports und FRITZ!Boxen ihr dasein ausschliesslich als "Modem" vor einem MikroTik RB2011UiAS-2HnD-IN fristen mussten, der das eigentliche Netzwerk bereit gestellt hat; und keiner dieser klickibunti-Plaste-Router das vom Provider zugeteilte IPv6-Subnetz ordentlich an den MikroTik weiter delegieren konnte, musste etwas neues her.

bisheriges Netzwerk

Bisher wurde die Internetverbindung aufgebaut von dem Providergerät (Speedport W920V, FRITZ!Box 7170, FRITZ!Box 7580 ) und der MikroTik hat das eigentliche LAN sowie WLAN bereit gestellt.

Diese Konstellation funktioniert zwar prinzipiell, hat jedoch den Nachteil, dass double-NAT gemacht werden muss und (wie eingangs erwähnt) IPv6 für die Endgeräte nicht zur Verfügung steht.

Neues Netzwerk

Im neuen Netzwerkkonstrukt soll jede Funktion von einem speziell dafür gebauten Gerät bereitgestellt werden.

VoIP wird nicht mehr von der FRITZ!Box bereitgestellt und via DECT an ein FRITZ!Fon gekoppelt, das übernimmt jetzt ein Yealink T23p. (In einem eigenen "IoT"-VLAN, ohne Zugriff auf den Rest den Netzwerks.)

Das WLAN kommt nicht mehr aus dem MikroTik, sondern aus einem Ubiquiti airCube AC. Als Router kommt ein Ubiquiti EdgeRouter 4 zum Einsatz.
(Dieses Modell kann kein Hardware-Switching, was für mein Netzwerk aber auch nicht notwendig ist. Dafür wäre der EdgeRouter X) besser geeignet.

Da die EdgeRouter kein Modem verbaut haben, übernimmt diese Funktion ein Allnet ALL-BM100VDSL2V (Anleitung) Modem/Router im Bridge-Modus (Werkseinstellung).
Übergangsweise kam ein Draytek Vigor 165 als Modem zum Einsatz, das Teil hat allerdings (im Bridge-Modus) einfach sämtliche IPSec-Pakete "unterschlagen", so dass ich keine Sit2Site-VPNs aufbauen konnte, daher wurde er gegen das Allnet-Gerät ausgetauscht, mit dem alles problemlos funktioniert.

Mit dem vorher schon vorhandenen TP-Link TL-SG3210 im Flur (Telefondose) und dem gegen ein Ubiquiti EdgeSwitch 10X ausgetauschten D-Link DGS 1210-24 (Wohnzimmer) ergibt sich aktuell folgender Netzaufbau:

                                                                                ┌──────────┐              ┌──────────┐
                                                                                │airCube AC│              │Chromecast│
                                                                                └──────────┘              └──────────┘
                                                                                     ↑                         ↑
┌───┐        ┌───────────────┐        ┌────────────┐        ┌─────────┐         ┌──────────────┐        ┌───────────────┐
│TAE│ <-Cu-> │ALL-BM100VDSL2V│ <-Cu-> │EdgeRouter 4│ <-Cu-> │TL-SG3210│ <-LWL-> │EdgeSwitch 10X│ <-Cu-> │Netgear GS108GE│
└───┘        └───────────────┘        └────────────┘        └─────────┘         └──────────────┘        └───────────────┘
                                                                   ↓              ↓    ↓↓     ↓              ↓        ↓
                                                              ┌───────┐         ┌───┐┌────┐┌────┐         ┌───┐┌───────────┐
                                                              │Pi-Hole│         │NUC││QNAP││T23p│         │PS4││MediaCenter│
                                                              └───────┘         └───┘└────┘└────┘         └───┘└───────────┘

Konfiguration

ALL-BM100VDSL2V

Am Allnet-Modem wird das VLAN 7 nach folgender Anleitung konfiguriert und aktiviert: Allnet Anleitung.

EdgeRouter 4

Ausgangsbasis ist der EdgeRouter 4 mit EdgeOS 2.0.8. Es sollte grundsätzlich genauso mit einem größeren EdgeRouter und neueren EdgeOS-Versionen funktionieren.

Ich gehe hierbei davon aus, dass jemand, der diesen Post liest zumindest Grundkenntnisse im Umgang eines EdgeRouters hat, also Default-IP, Default-Login-Daten, Web-Interface-Zugang usw. Für die grundsätzliche Konfiguration bietet Ubiquiti zum Glück entsprechende Assistenten (Wizards) an, die den ganzen Vorgang vereinfachen und mir auch ersparen hier monströse Listings mit Firewall-Regeln zu posten. Der Wizard "Basic Setup" macht grundsätzlich alles, was man braucht:

Internet Wizard Internet Wizard

Als WAN-Port habe ich mich für eth0 entschieden. Die Einwahl erfolgt über PPPoE mit den entsprechenden Login-Daten von 1&1. VLAN-Tagging ist hier nicht nötig, das übernimmt ddas Allnet-Modem bereits (VLAN 7). Die Default-Firewall sollte auf jeden Fall aktiviert werden, genauso wie DHCPv6 PD. Die Prefix Length ist mit /56 bereits korrekt voreingestellt und auch hier gilt, dass die Firewall an sein sollte.

Die Option "Only use one LAN" wird deaktiviert. Anschließed wird das Netz für eth1 konfiguriert. Ich nutze hier ein privates Klasse B-Netz. Für eth2 gibt es ein separates Klasse B-Netz (und der Port wird später deaktiviert, da das IoT-VLAN (9) von eth1 mit bereitgestellt wird).

Unter "User Setup" verwende ich meine bestehenden User weiter. Sollte der EdgeRouter bisher nie konfiguriert worden sein, empfehle ich aber dringend einen neuen Nutzer mit eigenem Passwort anzulegen. Ein Router sollte nie über seine Standard-Zugangsdaten zugänglich sein.

Nach dem Speichern startet sich der EdgeRouter neu und ist anschließend über die IP 192.168.40.4 an eth1 wieder erreichbar. Im Dashboard sollte nun relativ bald unter pppoe0 die öffentliche IPv4-Adresse sichtbar sein und damit auch die Internet-Verbindung bestehen.

EdgeRouter Dashboard EdgeRouter Dashboard

Grundsätzlich ist’s damit getan, wenn einem IPv4 ausreicht.

Für mein privates Netzwerk nehme ich anschließend noch ein paar Einstellungen an der Firewall vor (Port-Weiterleitungen) und am DHCP-Server vor. Wenn man zufrieden ist, sollte man ein Backup der Konfiguration machen. Das geht unter "System" -> "Back Up Config".

IPv6

Leider unterstützt das Web-Interface bisher kaum IPv6, daher muss man ein paar Einstellungen via CLI vornehmen. Unter macOS und Linux ist das einfach im Terminal im SSH möglich. Unter Windows bleibt einem aktuell nur das Linux Subsystem von Windows 10 oder ein SSH-Client wie PuTTY. Folgendes muss eingegeben werden:

configure

set interfaces ethernet eth1 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 host-address '::dead:beef'
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 no-dns
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 prefix-id 42
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 service slaac
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 prefix-length 56
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd prefix-only
set interfaces ethernet eth0 pppoe 0 dhcpv6-pd rapid-commit enable
set interfaces ethernet eth0 pppoe 0 ipv6 address autoconf
set interfaces ethernet eth0 pppoe 0 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth0 pppoe 0 ipv6 enable
set system offload hwnat enable
commit
save

Erläuterungen:

  • configure startet das Konfiguration-System von EdgeOS/Vyatta
  • set interfaces ethernet eth1 ipv6 dup-addr-detect-transmits 1 legt die Anzahl fest, wie oft versucht wird doppelte IPv6-Addressen herauszufinden
  • set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 host-address '::dead:beef' legt die Host-Adresse nach dem Adress-Prefix der Telekom fest. Ich finde ::dead:beef ziemlich witzig, aber hier kann sich jeder selbst austoben, solange es im Hexadezimal-Bereich liegt.
  • set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 prefix-id 42 legt die Prefix-ID fest, die zusätzlich in die Adresse aufgenommen wird. Was außer 42 sollte es sonst sein? :D
  • set interfaces ethernet eth0 pppoe 0 dhcpv6-pd pd 0 interface eth1 service slaac SLAAC steht für Stateless Address Autoconfiguration – damit erzeugt der Port seine IP-Adresse anhand des Prefixes selbst
  • set interfaces ethernet eth0 pppoe 0 ipv6 address autoconf aktiviert die automatische IPv6-Adress-Konfiguration für das PPPoE-Interface
  • set interfaces ethernet eth0 pppoe 0 ipv6 enable aktiviert dann letztendlich IPv6
  • set system offload hwnat enable aktiviert Hardware-NAT für IPv4
  • commit wendet die neue Konfiguration an
  • save speichert die neue Konfiguration ab

Nach commit starten sich die betroffenen Interfaces neu und es erfolgt eine neue Einwahl über PPPoE. Anschließend befinden sich im Dashboard unter pppoe0 die IPv4-Adresse sowie die entsprechenden globalen und lokalen IPv6-Adressen.

Alle Geräte im Netzwerk sollten nun eine oder mehrere IPv6-Adressen besitzen und via IPv6 ins Internet kommen. Das lässt sich sehr einfach über die Seite ipv6-test.com herausfinden.

Zugang zum Allnet Webinterface

Da das Allnet-Modem auf der IP-Adresse 192.168.16.254 rumhängt, kommen wir nun leider erstmal nicht an sein Web-Interface ran. Das lässt sich aber recht einfach in EdgeOS ändern:

Dazu muss eth0 (über diesen Port der EdgeRouter ja am ALL-BM100VDSL2V) eine IP-Adresse aus Netz des Vigors zugewiesen werden. Ich verwende hier 192.168.16.4/24.

eth0 Konfiguration eth0 Konfiguration

Das alleine reicht noch nicht, da die NAT bisher die Verbindung in das andere Netz nicht kennt. Unter "Firewall/NAT" -> "NAT" -> "Add Source NAT Rule", trägt man daher folgendes ein und speichert.

Source-NAT Regel Source-NAT Regel

Anschließend sollte der Zugriff über die IP-Adresse 192.168.16.254 auf das ALL-BM100VDSL2V sofort funktionieren.

So, das war’s dann eigentlich schon. Ich hoffe, diese kleine Anleitung konnte dem ein oder anderen etwas weiterhelfen.

Da nicht alles davon auf meinem Mist gewachsen ist (primär dient diese Kopie als Dokumentation für mich), möchte mich an dieser Stelle noch beim Autor des Blogs webcodr bedanken. Weitere interessante Posts von dort "drüben":