Hallo zusammen
Leidiges Thema aber ich muss meine Erfahrungen mit Euch teilen.
Ich hab es endlich geschafft, dass mein Zyxel XMG3927-B50A im Bridge-Mode arbeitet und die OPNsense (V23.7) die Verbindung zur Swisscom Infrastruktur aufbaut. VoIP und BlueTV funktionieren ebenfalls.
In diesem HowTo erläutere ich Euch wie ich mein Zyxel Modem in den Bridge-Mode versetzt und die OPNsense dazu gebracht habe, eine Verbindung mit der Swisscom Infrastruktur aufzubauen.
Den Teil mit dem Blue TV werde ich in Zusammenarbeit mit @R0tsh erarbeiten.
Ich habe opnsense auf Proxmox virtualisiert, ganz am Ende dieses Tutorials findet Ihr die Proxmox-Config damit Live-TV funktioniert.
Kleine Inhaltsübersicht
- Konfiguration Modem für den Bridge-Mode
- Konfiguration OPNsense für den Bridge-Mode
- DNS-Einstellungen für die Registrierung
- Konfiguration OPNsense für VoIP
- Konfiguration OPNsense für Blue TV
- Konfiguration OPNMsense (VM auf Proxmox) für Blue TV
Nachfolgend werdet Ihr immer wieder mit privaten IP-Adressen 172.16.xx.xx begegnen, hierbei handelt es sich um meine Konfiguration. Sämtliche Einstellungen im diesem HowTo müsst Ihr an Euer eigenes Netzwerk anpassen.
Bei Zyxel sowie bei OPNsense ist die private IP-Adresse per default 192.168.1.xx.
Konfiguration Modem für den Bridge-Mode (Update 23.08.2023)
Die in dieser Anleitung verwendeten Bilder stammen von Zyxel.
1.
Als aller erstes muss man sich auf dem Modem einloggen. Default ist das Zyxel XMG3927-B50A unter 192.168.1.1 erreichbar. Die Default-Logindaten sind auf der Rückseite auf der Etikette aufgedruckt.
2.
Rechts oben auf die drei Striche klicken und unter Netwerk Setting auf Broadband klicken.
3.
Im Menü Broadband angekommen, auf den “Bearbeitungs”-Button beim Eintrag VDSL klicken.
4.
Hier unter General > Mode Bridge aus dem Dropddownmenü auswählen.
5.
Bei VLAN muss bei g.fast keine Einstellung vorgenommen werden. Auf Apply klicken.
6.
Erneut auf die drei Striche rechts oben Klicken.
Nun unter Security auf Firewall klicken.
7.
Im Reiter General die IPv4- und IPv6-Firewall deaktivieren und auf Apply klicken.
8.
Nun wird das Modem neu gestartet in dem wieder oben rechts auf die drei Striche geklickt wird, unter Maintenance auf Reboot klicken und im nächsten Fenster ebenfalls auf Reboot klicken. Alternativ kann auch rechts auf den runden “Reboot”-Button geklickt werden.
Konfiguration OPNsense für den Bridge-Mode (Update 23.08.2023)
Auf der OPNsense muss nun das WAN-Interface konfiguriert werden, damit eine Verbindung mit der Swisscom Infrastruktur hergestellt werden kann. Das WAN-Interface in diesem Beispiel heisst WAN_DSL. Der Name kann frei gewählt werden. In dieser Anleitung gehe ich davon aus, dass das WAN-Interface zugewiesen wurde und gehe hier nicht darauf ein. Die IPv6-Konfiguration habe ich nach Anleitung von @Tux0ne gemacht und entsprechend auf OPNsense abgewandelt.~
Sämtliche Konfigurationen unter OPNsense sind mit Save und/oder Apply zu speichern
1.
Auf der linken Seite auf Interfaces klicken und danach das [WAN]-Interface öffnen.
Generic Configuration
Block private networks = enable
Block bogon networks = enable
IPv4 Configurations Type = DHCP
2.
DHCP client configuration
Configuration Mode = Advanced
#Protocol Timing
Timeout = 60
Retry = 15
Select Timeout = 0
Initial Interval = 1
#Lease Requirements
Send Options = dhcp-class-identifier "100008,0001,,opnsense"
3.
~6RD Rapid Deployment~
4.
Nun auf das Menü System klicken und im Untermenü Settings General öffnen.
Networking
Prefer IPv4 over IPv6 = enable
#DNS servers
DNS1 = 195.186.4.162, Use Gateway = none
DNS2 = 195.186.1.162, Use Gateway = none
Diese DNS-Einstellungen sind nur für die Registrierung wichtig. Nach erfolgreicher Registrierung können hier andere DNS-Server hinterlegt werden. Auf meine OPNsense habe ich die CloudFlare hinterlegt.
Grundsätzlich sollte die OPNsense nun schon eine CG-NAT IP-Adresse von Swisscom bezogen haben. Um zu prüfen ob dies der Fall ist, einfach auf das Dashboard von OPNsense (Lobby > Dashboard) gehen und im Widget Interface die Adresse beim WAN-Interface prüfen. Es sollte eine IP welche mit 100 beginnt ersichtlich sein.
Fehlt das Interface-Widget auf dem Dashboard kann es über Add widget easy hinzugefügt werden.
DNS-Einstellung für Registrierung
Wer eigene DNS-Server (zB PiHole, CloudFlare etc.) nutzt und diese auch in den verwendeten LAN-Interface bzw. VLANs zugewiesen hat, muss für das Registrierungs-Prozedere zwingend die DNS-Einstellungen anpassen. Dies kann entweder direkt unter OPNsense gemacht werden oder auch in Windows oder macOS.
1. OPNsense
Das Menü Services aufrufen und unter DHCPv4 das Interface auswählen, in welchem sich das Gerät befindet mit dem man die Registrierung vornehmen will. Ich habe hier das [LAN]-Interface (mein Main-Net) ausgewählt. Danach das verbundene Gerät vom Netzwerk trennen und neu Verbunden oder einfach das Lease erneuern.
#DNS servers
DNS1 = 195.186.4.162
DNS2 = 195.186.1.162
2. Windows 11
a.
Unter Windows 11 ist die DNS-Einstellung unter Einstellungen > Netzwerk und Internet zu machen. Bei der gewünschten Netzwerkkarte auf Eigenschaften klicken.
b.
Bei DNS-Serverzuweisung auf Bearbeiten klicken.
c.
Aus dem Dropdownmenü Manuell auswählen.
d.
IPv4 aktivieren und die DNS eintragen.
#DNS servers
DNS1 = 195.186.4.162
DNS2 = 195.186.1.162
3. macOS Ventura
Unter macOS sind die DNS-Einstellungen in den Systemeinstellungen vorzunehmen. Achtung: Während unter iOS und iPadOS für jede SSID eigene DNS-Einstellungen vorgenommen werden können, sind die DNS-Einstellungen in macOS sind Global!
a.
In den Systemeinstellungen das Menü Netzwerk anklicken und das gewünschte Netzwerk anwählen. Auf meinem MacBok Pro ist dies WLAN.
b.
Beim Punkt WLAN rechts auf Details… klicken
c.
Links auf DNS klicken und rechts die DNS-Server eintragen. Mit OK schliessen und speichern.
#DNS servers
DNS1 = 195.186.4.162
DNS2 = 195.186.1.162
Jetzt kann unter https://swisscom.ch/registration der Registrierungprozess gestartet werden. Nach erfolgreicher Registrierung können die DNS-Einstellungen wieder auf automatisch zurückgestellt werden bzw. auf der OPNsense wieder die eigenen DNS-Server eintragen.
Somit beziehen die Geräte im Netzwerk wieder die eigenen DNS-Server.
Zu guter Letzt widmen wir uns noch dem Zugang auf des UI vom Zyxel-Modem. Mit der aktuellen Konfiguration haben wir keinen Zugriff mehr auf das Modem UI. Mit Hilfe von @r00t konnte eine elegante Lösung implementieren. Mit dieser Konfiguration suggerieren wir dem Zyxel-Modem im selben Subnet zu sein wie das Zyxel selber.
1.
Unter dem Menüpunkt Interfaces im Untermenü Virtual IP auf Settings klicken und mit einem Klick auf + (Add) erstellen wir eine neue VIP.
2.
Damit der Zugriff schlussendlich funktioniert, muss hier eine IP-Adresse innerhalb der Adress range vergeben werden.
Default ist das Zyxel-Modem Gateway 192.168.1.1 mit einer Range von 192.168.1.2 - 192.168.1.254, in dem Fall geben wir zB die Virtuelle IP 192.168.1.2/24.
Das Ganze mit Save speichern und mit Apply die Einstellungen bestätigen.
Mode = IP Alias
Interface = [WAN] #in meinem Beispiel WAN_DSL
Network/Adress = Adresse aus der Range vom Zyxel modem, hier im Beispiel 172.16.10.1/24
Description = #VIP Name eingeben
3.
Nun gehts im Menü Firewall zum Untermenü NAT zu Outbound. Mit + (Add) erstellen wir eine neue Outbound NAT-Rule.
4.
Interface = [WAN] #in meinem Beispiel WAN_DSL
Destination adress = Single host or Network, hier das Subnet eintippen, zB bei default 192.168.1.1/24
Translation/target = die VIP-Adresse aus der Dropdown-Liste auswählen
Save und Apply changes
Nun klappt die Verbindung zum Zyxel UI mit der Gateway-Adresse wieder. Default wäre dies 192.168.1.1
Konfiguration für VoIP
Damit VoIP hinter OPNsense funktioniert, wird eine DECT-Station mit Ethernet-Anschluss (zB Gigaset Go-Box 100) benötigt. Ich habe die Gigaset N510 IP Pro als DECT-Station. In dieser Anleitung gehe ich auf die Konfiguration auf dem UI meiner Gigaset Station ein. Auf OPNsense habe ich ein eigenes [VoIP]-VLAN mit dem Tag 108 eingerichtet.
Um VoIP hinter der OPNsense nutzen zu können müssen als erstes die SIP Credentials erstellt werden. Hat man die SIP Credentials per SMS erhalten, kann mit der Konfiguration der DECT-Station begonnen werden. Das UI von der Go-Box 100 ist äquivalent mit dem UI der N510 IP Pro.
Konfiguration VoIP DECT-Station
1.
Im UI der Gigaset-DECT-Station oben den Reiter Einstellungen anklicken im Menü Netzwerk IP-Konfiguration wählen. Bei IP-Adresstyp “Automatisch beziehen” aus dem Dropdownmenü auswählen und sichern. Die statische IP-Adresse ist entsprechend in OPNsense zu konfigurieren.
2.
Im Menü Telefonie Verbindungen auswählen. Rechts bei IP1 das Häckchen setzen und danach auf Bearbeiten klicken.
3.
Anmeldenamen = Authentifizierungsname kommt per SMS (zB. xyz@abc.ch)
Anmeldepasswort = Passwort kommt per SMS
Benutzername = Festnetznummer kommt per SMS (zB. +41*)
*Sensible Daten durch Moderation gelöscht
Unten auf Sichern klicken.
4.
Im Menü Telefonie den Punkt “Weitere VoIP-Einstellungen” anklicken. Hier sind die SIP- und RTP-Port zu definieren. Es können grundsätzlich die default Ports genutzt werden. Danach auf Sichern klicken.
Zufällige Ports benutzen = Ja
SIP-Port = 5060:5076
RTP-Port = 5004:5020
Konfiguration VoIP OPNsense
1.
Das Erstellen der Rules ist bei SIP und RTP äquivalent. Ich beschreibe hier der einfachkeithalber nur das Erstellen von der SIP-Rule. Für die RTP-Rule kann die SIP-Rule kopiert und entsprechend angepasst werden.
Im Menü Firewall ins Untermenü NAT gehen und auf Outbound klicken. Ich habe Hybrid outbound NAT eingestellt, aber dies tangiert die SIP/RTP-Konfiguration nicht. Bei Manual rules auf das + (Add) klicken.
2.
Die Ports müssen zwingend identisch sein mit den Port welche in der DECT-Station konfiguriert sind!
Interface = [WAN] #ich habe WAN_DSL
TCP/IP = IPv4
Protocol = UDP
Source Adress = Single host or Network #IP ans eigene Netzwerk anpassen!
Source port = (other) 5060:5076
Static port = enable
Description = SIP
Interface = [WAN] #ich habe WAN_DSL
TCP/IP = IPv4
Protocol = UDP
Source Adress = Single host or Network #IP ans eigene Netzwerk anpassen!
Source port = (other) 5004:5020
Static port = enable
Description = RTP
Speichern und Apply changes und lostelefonieren.
Konfiguration OPNsense für Blue TV (Update07.10.2023)
Aus Tagen wurden Wochen… Dieser Abschnitt wurde in Zusammenarbeit mit @R0tsh erstellt.
In diesem Abschnitt werden die Konfigurationen der OPNsense in Angriff genommen welche notwendig sind um bei Blue TV ein Live-Bild in die Flimmerkiste zu bekommen.
1.
Auf dem GUI der OPNsense gehen wir auf System, Firmware und danach Status. Hier auf Check for updates klicken. Je nach dem wie schnell euere Leitung ist, kann es hier länger gehen.
2.
Nun switchen wir zu Plugins. Entweder über System, Firmeware, Plugins oder direkt auf den Reiter Plugins klicken.
Hier geben wir igmp ins Suchfeld ein und klicken beim Plugin os-igmp-proxy rechts aufs +. Ist der Installationsprozess mit Done beendet, switchen wir kurz in die Lobby.
3.
Von der Lobby aus gehen wir zu Services und klicken auf den neuen Eintrag IGMP-Proxy. Nun auf das + klicken
4.
Bei Punkt Interface müsst Ihr unbedingt das Interface auswählen in welchem sich die Blue TV-Box befindet. In meinem Fall habe ich für IPTV ein eigenes VLAN angelegt.
Interface = [Interface in welchem sich die Blue TV befindet!]
Description = Blue TV downstream [oder irgend eine Beschreibung]
Type = Downstream interface
Threshold = 1
Network(s) = [IP von Blue TV-Box]/32
Mit Save speichern.
5.
Für den Upstream wiederholt sich Pkt. 4.
Interface = WAN
Description = Blue TV upstream [oder irgend eine Beschreibung]
Type = Upstream interface
Threshold = 1
Network(s) = 224.0.0.0/4
213.3.72.0/24
195.186.0.0/16
Mit Save abspeichern. Damit ist der Teil mit dem IGMP-Proxy unter Dach und Fach.
6.
Damit nun aber auch Live TV auf der Mattscheibe zu sehen ist, müssen wir noch vier Firewall-Rules schreiben. Unter Firewall, Rules gehen wir zum Interface in welchem sich die TV-Box befindet (hier im Beispiel [IPTV]) und fügen eine neue Rule hinzu.
Interface = IPTV [Interface wo Blue TV-Box ist[
TCP/IP = IPv4
Protocol = any
Source = any
Destination/invert = disable #enable falls RFC1918
Destination = any #RFC1918 kann eingetragen werden falls vorhanden.
Destination port range = any
#Advanced features
allow options = enable
Save und Apply changes.
7.
Nun wechseln wir zu Firewall und gehen erstmalls zu Aliases.
Enabled = enable
Name = IPTV [oder eigener Name]
Type = Network(s)
Content = 224.0.0.0/4
213.3.72.0/24
Description = Blue TV: IPTV
8.
Nun gehen wird zu Firewall, Rules zu WAN.
Die Vorgehensweise Rules zu erstellen ist immer die selbe.
#IGMP-Rule
Interface = WAN
TCP/IP = IPv4
Protocol = IGMP
Source = any
Destination = any
Destination port range = any
Description = IGMP: Blue TV
#Advanced features
allow options = enable
#Multicast-Rule
Interface = WAN
TCP/IP = IPv4
Protocol = UDP
Source = IPTV #erstellter Alias
Destination = IPTV #erstellter Alias
Destination port range = any
Description = Multicast: Blue TV
#Advanced features
allow options = enable
#Swisscom Infra-Rule
Interface = WAN
TCP/IP = IPv4
Protocol = UDP
Source = Single host or Network, 195.186.0.0/16
Destination = any
Destination port range = any
Description = UDP: Swisscom Infra
Zu guter Letzt auf Apply changes klicken und enjoy the show on Live TV.
Konfiguration OPNsense (VM auf Proxmox) für Blue TV (Update 21.02.2024)
Selbstverständlich könnt Ihr OPNsense auch in einer VM virtualisieren. Ich habe seit kurzem zu Hause Proxmox auf einem Server installiert und OPNsense in einer VM virtualisiert. OPNsense benötigt zwei Linux-Bridge und vorzugsweise sollte jede Bridge ein eigenes physisches NIC haben. PCIe-Passthrough führte in meiner Installation zu gravierenden Fehlern. Replay und andere Dienste wie Netflix, Disney+ etc. funktionieren ganz normal, LiveTV benötigt aber IGMP welches wir nachfolgend auf Proxmox konfigurieren:
(Die nachfolgendem Konfigurationen stammen von meinem Proxmox, diese müsst Ihr auf euer System anpassen.)
#/etc/network/interfaces in der Konsole auf Proxmox mit nano öffnen:
root@pve01:~# nano /etc/network/interfaces
#hier nach dem LAN-Interface suchen und mit den fehlenden Zeilen ergänzen:
post-up echo 1 > /sys/devices/virtual/net/vmbr1/bridge/multicast_querier
post-up echo 0 > /sys/class/net/vmbr1/bridge/multicast_snooping
#hier nach dem WAN-Interface suchen und mit den fehlenden Zeilen ergänzen:
post-up echo 1 > /sys/devices/virtual/net/vmbr2/bridge/multicast_querier
post-up echo 0 > /sys/class/net/vmbr2/bridge/multicast_snooping
#ctrl+X, Y zum speichern und mit Enter nano beenden.
#Nach einem Neustart von Proxmox könn Ihr mit folgendem Befehl prüfen ob die Kunfiguration funktioniert, wird ein 1 ausgegeben hat alles funktioniert, wird eine 0 ausgeworfen, müsst ihr troubleshoten.
root@pve01:~# cat /sys/devices/virtual/net/vmbr1/bridge/multicast_querier
hier sollte die Ausgabe '1' sein.
root@pve01:~# cat /sys/class/net/vmbr1/bridge/multicast_snooping
hier sollte die Ausgabe '0' sein.
#Danach beim WAN-Interface das Ganze wiederholen und mit o.e. angepasstem Befehl prüfen.