No more Compulsory Routers - Routerfreiheit bei NetCologne

tl;dr: this post is about the free choice of routers to be used on home broadband connections in Germany. Since August 1st, a new law enables customers to receive credentials for the DSL connections as well as for VoIP services in order to use end devices (i.e. routers) of their choice. Since all of the following information are specific to one German local provider, NetCologne, the rest of the post is in German.

Schritt 1: Anfragen der Zugangsdaten

Laut dem neuen Gesetzt sollen Neukunden die Zugangsdaten unaufgefordert vom Anbieter erhalten. In meinem Fall handelt es sich um einen bestehenden Vertrag seit 2010 und daher habe ich explizit bei NetCologne die Zugangsdaten angefragt. Man benötigt hierbei zwei Arten von Zugangsdaten: für die DSL-Verbindung zum Internet und für die VoIP-Telefonie zum Telefonieren. Das Beantragen der Daten hat bei mir ganz einfach via Kontaktformular auf netcologne.de funktioniert. Nach einem Tag konnte ich unter https://einstellungen.netcologne.de/ meine VoIP-Zugangsdaten einsehen und auch das Passwort ändern.

Allerdings: bei den DSL-Zugangsdaten wurden die alten Zugangsdaten ersetzt und die neuen via Post zugeschickt. Die Bestätigung darüber erhielt ich an einem Mittwoch, die Zugangsdaten wurden am darauf folgenden Donnerstag morgen geändert, der Brief kam allerdings erst am Dienstag. NetCologne hat den Brief laut Stempel an dem genannten Donnerstag verschickt, allerdings hat es wohl bei dem Brief-Dienstleister “postcon” etliche Tage gedauert um wenige hunderte Meter Luftlinie zwischen Provider und meiner Adresse zurückzulegen. In der Zeit war mein Anschluss aber offline, da die alte Netconnect-Box von NetCologne die neuen Daten genauso wenig kannte wie ich. Wenn man etwas Geduld hat, kann man bei der Hotline anrufen und auch dort die neuen Zugangsdaten erfragen.

Sonst muss man noch wissen, dass bei NetCologne die DSL-Verbindung und die VoIP-Telefonie in zwei getrennten VLans realisiert ist. Das ist VLan 10 für DSL und VLan 20 für VoIP. Diese Daten findet man unter: https://www.netcologne.de/selbsteinrichten/vdsl.

Schritt 2: Test mit FRITZ!Box 7490

Das Einrichten der FRITZ!Box 7490 geht eigentlich recht einfach. Als Technik-begeisterter Mensch habe ich direkt am Anfang in der FRITZ!Box die “Erweiterte Ansicht” aktiviert (rechts oben). Eventuell fehlen in der normalen Ansicht einige Einstellungen.

DSL

Zuerst wählt man im Einrichtungsassistent als Internetanbieter “NetCologne / NetAachen” und als Verbindungstyp “NetCologne / NetAachen VDSL-Anschluss” aus.

Später kann man unter “Internet / Zugangsdaten” die oben erhaltenen Zugangsdaten für die DSL-Verbindung angeben. Dann sollte auch direkt der Internetzugang bereits funktionieren. Die angesprochenen VLan-Besonderheiten sind hier bereits vorkonfiguriert durch die Auswahl des Internetanbieters.

FRITZ!Box DSL Einstellungen

Voice-over-IP / Telefonie

Für die Telefonie richtet man zuerst die Anschlusseinstellungen ein. Hier habe ich überwiegend die Voreinstellungen übernommen und den Rest durch Trial&Error ausprobiert. Die Screenshots zeigen alle relevanten Einstellungen. Wichtig ist hier die VLan-ID 20, sollte sie nicht schon vorausgewählt sein.

FRITZ!Box SIP Anschluss Einstellungen FRITZ!Box SIP Anschluss Einstellungen

Danach geht es daran, eine Telefonnummer einzurichten. Die Einstellungen hier sind alle nur für “analoge Telefonie”, auch wenn es das so ja nicht mehr gibt mit VoIP. Meine damit, mein Anschluss unterstützt kein ISDN, daher sind auf den Screenshots nur die Einstellungen für nicht-ISDN-Anschlüsse und damit auch nur für eine Nummer zu sehen.

Als “Telefonie-Anbieter” habe ich “anderer Anbieter” ausgewählt, da kein passender in der Liste vorhanden war. Später wird dort als Name automatisch dann “sip.netcologne.de” angezeigt.

FRITZ!Box SIP Nummern Einstellungen FRITZ!Box SIP Nummern Einstellungen

Damit sollte der Telefonie nichts mehr im Wege stehen. Sollten irgendwo Probleme auftreten, findet man im Ereignisprotokoll vielleicht nützliche Hinweise.

Schritt 3: Finales Setup mit VDSL-Modem und Raspberry Pi

Das oben beschriebene Setup mit einer FRITZ!Box war nur zum Testen, insbesondere bzgl. VoIP-Telefonie.

Mein eigentliches Ziel-Setup ist, die Netconnect-Box von NetCologne loszuwerden und als Router einen Raspberry Pi zu verwenden, der selbst die DSL-Verbindung zum Zugang zum Internet aufbaut (via pppoe).

Dazu benötigt man aber so oder so ein DSL-Modem, in meinem Fall ein VDSL2-Modem. Neugeräte findet man nur schwer auf dem Markt, aber speziell im NetCologne-Versorgungsgebiet gibt es hin und wieder noch ältere Geräte von Zyxel. Konkret benötigt man das Modell P-800 series.

Ich hatte Glück und konnte vor kurzem ein solches Gerät in einem Kleinanzeigenmarkt finden und für kleines Geld (fünf Euro) erstehen.

VDSL2-Modem Zyxel P-800 series VDSL2-Modem Zyxel P-800 series

Meine Variante ist zwar eigentlich für ISDN-Anschlüsse gedacht (erkennbar an dem Zusatz “-I3” in der Modellnummer auf der Rückseite), funktioniert aber auch an meinem Anschluss ohne ISDN prima. Solche Geräte findet man hin und wieder auch auf eBay oder eben in lokalen Kleinanzeigenmärkten. Vielleicht sind auch andere VDSL2-Modems geeignet, wichtig dabei ist nur, dass sie die entsprechenden VDSL-Profile unterstützen (3).

Das Zyxel-Modem hat einen RJ45-Anschluss für die DSL-Leitung, also Richtung TAE-Dose in der Wand sowie einen RJ45-Anschluss zum Anschluss an einen Router. Wie erwähnt, in meinem Fall ist der Router ein Raspberry Pi.

Da der Pi nur einen Ethernet-Port hat, mache ich mir zu Nutze, dass bei PPPoE eben die PPP-Pakete durch normales Ethernet fließen und somit ich das DSL-Modem sowie den Pi über einen Switch miteinander verbunden habe. Somit geht durch den Ethernet-Port am Pi sowohl der PPP-Traffic wie auch der normale Ethernet-Traffic ins LAN. Bei meinem 25 MBit Anschluss reicht da die Kapazität von 100 MBit am Pi sowie auch dessen Rechenleistung bequem aus. Bei einem 50 oder 100 MBit Anschluss von NetCologne wird es da natürlich etwas eng und man kann faktisch nie die gesamte Bandbreite ausnutzen.

Zu beachten ist noch, dass die PPPoE-Pakete aus dem DSL-Modem bei NetCologne in einem getaggten VLan mit der ID 10 unterwegs sind. D.h. der normale, in der Regel ungetaggte Traffic im Ethernet sieht die Pakete gar nicht. Damit der Pi die Pakete empfangen kann, muss man dort ein separates Interface mit der VLan ID hochfahren. Unter Raspbian geht das recht einfach mit folgender Ergänzung in der Datei /etc/nework/interfaces:

auto eth0.10
iface eth0.10 inet static
  address 10.0.2.1
  netmask 255.255.255.0
  vlan-raw-device eth0

Damit wird ein neues Interface eth0.10 erzeugt, welches im richtigen VLan ist. Über dieses Interface lässt man dann den pppd die DSL-Verbindung aufbauen. Für die pppd Konfiguration kann man überwiegend die Standard-Werte für DSL-Provider verwenden, wichtig sind folgende Einstellungen:

plugin rp-pppoe.so eth0.10
user "nc-username@netcologne.de"
+ipv6 ipv6cp-use-ipaddr

Die erste Zeile gibt am Ende das zu verwendende Interface an, hier unser vorher erzeugtes eth0.10. Die Letzte Zeile aktiviert den IPv6-Support (NetCologne bietet natives IPv6 auf Anfrage an).

Dann folgt noch ein Eintrag in der Datei /etc/ppp/pap-secrets für die Zugangsdaten:

"nc-username@netcologne.de" * "password"

Auf die weiteren Details bzgl. Routing und Firewall-Setup mit pppd und iptables gehe ich hier nicht weiter ein, dazu gibt es im Netz genügend Howtos und Beispiele.

Da ich nicht über VoIP telefoniere, habe ich hier auch nichts auf dem PI konfiguriert.

Fazit - oder warum das Ganze?

Erfreulicherweise erhält man bei NetCologne auf Anfrage alle notwendigen Zugangsdaten und Konfigurationshinweise (Stichwort VLans). Damit hat man tatsächlich etwas wie “Routerfreiheit”.

Nun kann man sich zu recht fragen: warum das Ganze? Warum so viel Aufwand und Zeit investieren, nur um nach wie vor Surfen zu können. Hier drei Argumente:

  • nur freie Software im Einsatz (bis auf das DSL-Modem, aber das hat keine Logik)
  • keine Fernkontrolle durch den Provider mehr möglich
  • volle Kontrolle über meinen Internet-Anschluss (bzgl. Routing, Firewalling, IPv6, …)

Durch die Wahl des Routers bin ich nicht mehr an das vom Provider bereitgestellte Stück Hardware gebunden. Wobei oft die verwendete Hardware gar nicht schlecht ist, aber durch Provider-eigene Firmware wiederum im Funktionsumfang stark beschränkt ist. Zudem funktioniert so nicht mehr die - bei NetCologne nett genannte “Auto-Provisionierung” - Fernwartung durch die Provider. Das ist ein Verfahren um die bereitgestellten Geräte aus der Ferne zu konfigurieren und dem Kunden somit Arbeit abzunehmen. Der Standard nennt sich TR-069. Aber es ermöglicht so eben auch dem Provider das fernzusteuernde Gerät auszulesen, die Einstellungen zu ändern oder zurückzusetzen (mir so passiert). Noch viel schlimmer aber, somit hat der Provider bereits einen Fuß in meinem privaten Netzwerk, den mit dem ist das Gerät zwangsläufig direkt verbunden.

Ich fühle mich nun etwas freier.

Vielen Dank an die FSFE und weitere Aktivisten, die sich für das neue Gesetz mit viel Geduld und Engagement eingesetzt haben.