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
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
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/Vyattaset interfaces ethernet eth1 ipv6 dup-addr-detect-transmits 1
legt die Anzahl fest, wie oft versucht wird doppelte IPv6-Addressen herauszufindenset 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? :Dset 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 selbstset interfaces ethernet eth0 pppoe 0 ipv6 address autoconf
aktiviert die automatische IPv6-Adress-Konfiguration für das PPPoE-Interfaceset interfaces ethernet eth0 pppoe 0 ipv6 enable
aktiviert dann letztendlich IPv6set system offload hwnat enable
aktiviert Hardware-NAT für IPv4commit
wendet die neue Konfiguration ansave
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
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
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":