Swisscom FTTH ohne Internetbox

Die neue Glasfaser Technik für Internetanschlüsse verbreitet sich in der Schweiz immer mehr. Einer der Marktführer ist Swisscom.
Zum grossen Leid vieler technisch versierter Kunden lässt sich mit dem Swisscom Glasfaser-Router „Internetbox“ leider kein sogenanntes „bridging“, oder „PPPoE Passthrough“ mehr machen. Das heisst man bekommt die öffentliche IP nicht mehr direkt an einem externen Gateway oder Firewall, die „Internetbox“ gibt nur noch private Netwerk IPs an die angeschlossenen Geräte weiter. Zwar lassen sich mit der „DMZ-Funktion“ die meisten Ports an ein Gerät weiter leiten, doch das ist nicht wirklich zufriedenstellend, wenn man selbst ein Gateway/Firewall/Router betreibt und „Herr über den Datenverkehr“ sein will.

Doch zum Glück gibt es Abhilfe! Denn Swisscom hat keinen Router-Zwang, so kann man beispielsweise auch einen anderen Internet-Router an das Glasfaser Kabel anhängen. Und es geht sogar noch besser: Mittels einem Switch mit SFP-Ports, einem Medienkonverter oder einer entsprechenden Fiber-Netzwerkkarte lässt sich sogar ganz auf den Internetrouter verzichten!
Dieser Beitrag zeigt Lösungen auf um wieder die öffentliche IP direkt an der Firewall terminieren zu können.

Grundsätzlich gibt es einige Möglichkeiten die „Internetbox“ der Swisscom zu ersetzen, mit:

  • einem Fiber-Router
  • einem Medienkonverter, z.B.: TP-LINK TP-Link MC220L
  • einer Fiber-Netzwerkkarte, z.B.: Intel X520-SR1
  • einem Switch mit integrierten Fiber (SFP) Ports, z.B.Zyxel GS1920-24

Ich werde hier vor allem letzteres, nämlich die Variante mit dem SFP-Switch erklären, doch das Konzept lässt sich auch einfach auf die andere Hardware Anwenden.

Voraussetzungen

Einige Voraussetzungen sind nötig um den Swisscom-Router abzulösen:

  • Man Braucht ein Gerät wo man den Mini-GBIC der „Internetbox“ reinstecken kann (SFP-Port)
  • Der (SFP-)Port an dem das Glasfaserkabel hängt muss im VLAN ID: 10 sein und die Pakete auch alle mit VLAN ID: 10 taggen. Dies kann entweder direkt am switch passieren, oder beim Router; der Switch muss aber auf jeden Fall mit VLANs und VLAN-Tagging umgehen können.
  • Der DHCP-Client muss die „dhcp-option 60“ (vendor-class-identifier) mit dem Wert: „100008,0001,,My Device“ setzen

Vorbereitung

Setzen der dhcp-option 60

Zunächst einmal muss sicher gestellt werden, dass das Gateway (z.B. Linux, pfsense, usw.) die „dhcp-option 60“ korrekt setzt, denn sonst wird man von Swisscom 60 Minuten für die Wiedereinwahl gesperrt!

Dabei sind beim String:

"100008,0001,,My Device"

nur die ersten zwei Nummern (100008,0001) relevant, für „My Device“ kann irgendein Text (z.B. Name des Gateways) angegeben werden.

Bei Linux kann man in der Konfigurationsdatei /etc/dhcp/dhclient.conf diese Option wie folgt setzen (eth0 ist dabei mit dem Namen der Netzwerkkarte zu ersetzen welche die öffentliche IP erhalten wird!):

interface "eth0" {
  send vendor-class-identifier "100008,0001,,gateway dhclient 1.0";
}
Hinweise für pfsense
Unter pfsense lautet die Option nicht wie überall sonst „vendor-class-identifier„, sondern „dhcp-class-identifier„.
Ab pfsense 2.3 kann man zudem unter der Konfiguration des WAN Interface unter Advanced bei: „DHCP Client Configuration“ die Option: „[X] Configuration Override“ anklicken.
Dann macht man in pfsense eine neue Datei, z.B.: /conf/dhclient.conf (Achtung: Dateien in /etc/ werden nach jedem Neustart gelöscht!) mit folgendem Inhalt:

interface "{interface}" {
send dhcp-class-identifier "100008,0001,,pfsense 2.3";
}

um die  DHCP Option 60 korrekt zu setzen.

Nun sollte das getestet werden. Zunächst wird eine neue Konsole auf dem gateway geöffnet wo man mittels tcpdump:

tcpdump -w dhcp.pcap -i eth0 -n -e -s 65535 port 67 or port 68

den Netzwerkverkehr aufzeichnet.

Nun wird die Konfiguration der  Internet-NIC (hier: eth0) auf DHCP gestellt und diese z.B.: mittels:

/etc/init.d/networking restart

bzw. bei pfsense im Admin-GUI:
Status -> Interfaces; release/renew

pfsense und CLI
Möchte man auf der pfsense Konsole (via SSH) testen, muss in der dhclient.conf Datei der Platzhalter {interface} auf den echten Interface Namen (z.B: emX) gesetzt werden, da der Platzhalter nur beim reload vom GUI mit dem Interface-Namen ersetzt wird!

Danach muss man dem dhclient noch sagen, dass er die Konfiguration aus der Datei verwenden soll.

dhclient -c /conf/dhclient_cli.conf emX

neu gestartet.

Danach wird die Datei dhcp.pcap auf die Workstation kopiert und mittels Wireshark analysiert.

So sollte es aussehen wenn alles geklappt hat:

 

wireshark

Alternative: dhcpdump
Alternativ kann man auch das Programm „dhcpdump“ verwenden, welches jedoch meist noch nachinstalliert werden muss.

Einbau des GBIC

Nun wird der GBIC aus der „Internetbox“ entfernt und beim Switch in einen der SFP-Ports gesteckt.

Port: 24: WAN (SFP) Port 23: WAN (RJ45)
Port: 24: WAN (SFP)
Port 23: WAN (RJ45)

Konfigurieren des Switches

Beim Switch muss nun ein neues VLAN mit der ID: 10 erstellt werden. Der SFP-Port, so wie ein weiterer RJ45 Port müssen in diesem VLAN sein (ansonsten sollte kein andrer Port in dem VLAN sein!).

So sieht das dann in etwa aus:

vlan-01

Nun muss noch eingestellt werden, dass der Switch alle Pakete auf dem SFP-Port mit der VLAN-ID: 10 taggt:

vlan-02

Verbinden und DHCP-Request auslösen

Als letztes wird nun der Internet-Port am Gateway mit dem VLAN 10 Port des Switches verbunden und einen DHCP-Request gemacht:

/etc/init.d/networking restart
Achtung
Es darf mit den nächsten Schritten erst fortgefahren werden, wenn die dhcp-option 60 richtig gesetzt wird, ansonsten wird man von Swisscom für 60 Minuten komplett gesperrt!

Wenn alles geklappt hat, sollte die Netzwerkkarte nun eine öffentliche IP direkt von Swisscom beziehen.

Swisscom TV

Während Swisscom ReplayTV ohne weiteres funktionieren müsste, muss für Swisscom LiveTV noch der igmproxy auf dem Gateway kompiliert & installiert werden.

igmproxy
Unter Linux habe ich Swisscom LiveTV mit dem igmproxy nicht zu laufen gekriegt. Unter pfsense 2.3.2-RELEASE-p1 läuft hingegen LiveTV (bisher) stabil (pfsense 2.3.1 hatte da gemäss aussagen mancher Leute Probleme).
Man muss allerdings beachten, dass man aufgrund des Bugs #6099 den IGMP Proxy nicht auf VLAN Interfaces benutzen kann. Auf einer ESXi VM lässt sich das VLANs tagging auf dem Hypervisor machen. Wer physische Hardware verwendet, sollte dedizierte Interfaces verwenden.

Die Nachfolgende Anleitung bezieht sich deshalb derzeit auschliesslich auf pfsense ab Version 2.3.2.

IGMP proxy

Unter Services -> IGMP Proxy werden zwei neue interfaces erstellt, ein upstream und downstream Interface:

Downstream Interface

Interface LAN
Description SwisscomTV downstream
Type Downstream Interface
Threshold 1
Networks Lokales Netzwerk, in dem die Swisscom TV Box drin ist (z.B. 10.1.1.0/24)

Upstream Interface

Interface WAN
Description SwisscomTV upstream
Type Upstream Interface
Threshold 1
Networks 224.0.0.0/4
213.3.72.0/24
195.186.0.0/16

 Firewall

Nachfolgend müssen noch einige Firewall-Regeln gemacht werden.

Damit Swisscom TV funktioniert muss man ausgehend Multicast erlauben. Am einfachsten geht dies, wenn man bei der Regel welche ausgehenden IPv4 Verkehr erlaubt, unter Advanced Options:„This allows packets with IP options to pass. Otherwise they are blocked by default. This is usually only seen with multicast traffic.“, markiert.

Interface: LAN

Action Pass
Interface LAN
Address Famiy IPv4
Protocol any
Source LAN net
Destination any
Description Default allow LAN to any rule
Advanced Options [X] Allow IP options

Interface: WAN

Action Pass
Interface WAN
Address Famiy IPv4
Protocol  IGMP
Source  any
Destination  any
Description  IGMP (Swisscom TV)
Advanced Options [X] Allow IP options
Action Pass
Interface WAN
Address Famiy IPv4
Protocol  UDP
Source 224.0.0.0/4
213.3.72.0/24
Destination 224.0.0.0/4
213.3.72.0/24
Description Multicast (Swisscom TV)
Advanced Options [X] Allow IP options
Action Pass
Interface WAN
Address Famiy IPv4
Protocol  UDP
Source  195.186.0.0/16
Destination  any
Description  UDP Swisscom infrastructure (SwisscomTV)

Switch

Damit das Netzwerk nicht mit Multicast Traffic geflutet wird, empfiehlt es sich noch bei allen switches in der Kette (von der TV Box bis zum WAN Interface) die Option: „igmp snooping“ zu aktivieren; dazu ist ein „managed switch“ von Nöten.

IPv6

Da swisscom ihre Netze schon vollständig „IPv6-Kompatibel“ gemacht hat, bietet es sich an bereits mit dem neuen Protokoll ins Internet zu gehen. 😉

Achtung: IPv6 seit 25.02.2017 nicht mehr funktionsfähig

Seit 25.02.2017 funktioniert der Zugriff auf das Internet mit IPv6 von pfsense aus nicht mehr.
Update: Seit dem 27.11.2017 geht IPv6 wieder!

Unter pfsense sind dazu die folgenden Schritte nötig:

Interfaces -> WAN

IPv6 Configuration Type 6rd Tunnel
6RD Prefix 2a02:1200::/28
6RD Border relay 193.5.29.1
6RD IPv4 Prefix length 0

Interfaces -> LAN

IPv6 Configuration Type Track Interface
IPv6 Interface WAN
IPv6 Prefix ID 0

Firewall -> Rules -> LAN

Hier muss man sicher stellen, dass die „Default allow LAN IPv6 to any rule“ vorhanden ist oder eine ähnliche erstellen:

Action Pass
Interface LAN
Address Famiy IPv6
Protocol any
Source LAN net
Destination any
Description Allow LAN IPv6 to any
Advanced Options [X] Allow IP options

Neu-Aktivierung

Wann immer man ein anderes Gerät (z.B. neue „Swisscom Internetbox“) anschliesst und dann wieder der eigene router muss zwingend eine Neu-Aktivierung gemacht werden, in dem man die Seite: http://www.swisscom.ch/start aufruft; also sicher beim ersten Mal.
Dazu muss dann auch die DNS-Auflösung zwingend über einen der Swisscom-DNS Server: 195.186.1.162 oder 195.186.4.162 erfolgen.

Beispiel wann eine Neu-Aktivierung erforderlich ist

Als ich meine Abo von „Vivo“ auf „inOne“ gewechselt hatte, wurde mir eine neue „Internetbox“ zugestellt. Diese musste einmalig angeschlossen werden, um das neue Abo zu aktivieren.

Nachdem ich dann wieder zurück auf meinen pfsense router wechseln worde ging erstmal gar nichts mehr, Internet war komplett tot. Fast jedenfalls: Der router bekam die Public-IP Adresse und auch das Gateway der Swisscom liess sich pingen.
Und über die Swisscom DNS-Server konnte ich auch namensafragen machen.
Also habe ich auf einem Client den Swisscom-NS konfiguriert und konnte so die URL: swisscom.ch/start aufrufen.

Näheres dazu im Swisscom Community thread: Gehen Fremdrouter nach wechsel auf inOne noch?

Quellen

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 18 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.