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.
Inhalt
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"; } |

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

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:

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

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:
Nun muss noch eingestellt werden, dass der Switch alle Pakete auf dem SFP-Port mit der VLAN-ID: 10 taggt:
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 |

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.

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. 😉

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.

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?