space-rat
Goto Top

PfSense - 2 WAN VLANs - VoIP auf FritzBox im LAN

Hallo Leute,

ich habe ein kleines Problem: Ich habe als Router/Firewall eine pfSense und dahinter im LAN eine Fritzbox 7590 welche NUR für's VoIP zuständig ist. Das hat bei meinem alten Provider (Telekom) gut funktioniert da hier Daten & VoIP über das selbe WAN Interface an der pfSense liefen; ich musste lediglich div. Firewall- und NAT Regeln erstellen.

Mein neuer Provider (komdsl) ist nun anders aufgebaut: Ich habe am WAN zwei VLANs vom Provider: 1 * Daten und 1 * VoIP.
-> Ich habe auf das WAN die 2 entsprechenden VLANs gelegt und diese bekommen auch jeweils eine IP per DHCP vom Provider.
Das Daten-VLAN ist für mich das Standardgateway > wenn ich vom LAN aus ins Netz will geht der Traffic über das Daten-VLAN.

Die FritzBox ist nun ein normaler Client im LAN - in der FritzBox ist als Netzverbindung angegeben "Anschluss an externes Modem oder Router" & "Vorhandene Internetverbindung mitbenutzen (WLAN Mesh / IP-Client-Modus)". Sie ist per Kabel an einen der LAN Ports angeschlossen und kommt darüber wie ein normaler Client ins Netz.

-> Was bisher klappt ist das Signalisieren der Anrufe (klingeln - von intern nach extern und umgekehrt) sowie das ausgehende Sprachsignal.
Aber leider kommt kein Sprachsignal von extern nach intern durch.

Wie muss ich die pfSense korrekterweise konfigurieren damit der Traffic vom WAN Voice-VLAN (nur) an die Fritzbox geht? Ich vermute mal das hier der incoming Traffic nicht richtig zur Fritzbox geroutet wird was ich mir aber nicht erklären kann.

Und in der Folge anders herum: Die Fritzbox soll natürlich ihren VoIP Traffic nur an das Voice-VLAN vom Provider senden.

Ich habe bereits mich bereits an div. NAT Regeln incl. 1:1 NAT versucht, natürlich auch FireWall-Regeln. Aber ich habe wohl noch nicht die richtige Kombination gefunden oder in meiner Konstellation einen generellen Denkfehler.

Es ist vermutlich kein einfaches SIP-Port-Thema (5060) da ich den (wie früher bei der Telekom) weitergeleitet habe; ohne Erfolg.

Andere Ideen?

Vielen Dank & Servus... Spacey

Content-Key: 657815

Url: https://administrator.de/contentid/657815

Printed on: April 19, 2024 at 07:04 o'clock

Member: aqui
Solution aqui Mar 03, 2021 updated at 08:04:02 (UTC)
Goto Top
Aber leider kommt kein Sprachsignal von extern nach intern durch.
Das ist ein typischer Fehler der zeigt das RTP Pakete nicht durchkommen. RTP transportiert die reinen Voice Daten und benutzt dynamische Ports, sprich also Ports für die es keinen Session Eintrag im NAT gibt. Der NAT Prozess sagt dann NJET ihr nicht und aus ists mit der Sprache inbound.
Ein typisches Fehlerbild bei NAT. HIER findest du eine gute Beschreibung des Zusammenspiels von SIP und RTP bei VoIP.
Was du machen musst ist die RTP Port Range die dein neuer Provider nutzt auf Forwarding zur FB konfigurieren im NAT. Genau das also was du vermutlich schon bei deinem Telekom Anschluss gemacht hast. Jeder Provider nutzt allerdings immer eine andere Portrange. Deshalb kommst du mit der alten Port Range der Telekom natürlich nicht zum Ziel bei deinem neuen Provider.
Besser ist es aber immer mit einem STUN Server zu arbeiten den jeder VoIP Provider auch anbietet. Dann erübrigt sich das gesamte Port Forwarding. Siehe auch hier:
Fritzbox als IP-Client in pfSense Netzwerk - Probleme mit 2er Rufnummer
Details zu dem Thema findest du auch im pfSense_Tutorial in der Rubrik "VoIP bzw. Telefonie mit FritzBox oder Anlage hinter pfSense Firewall" unter den weiterführenden Links.
Member: Space-Rat
Space-Rat Mar 03, 2021 at 13:33:24 (UTC)
Goto Top
Vielen Dank - ich habe mal beim Provider nach der RTP Port-Range & STUN gefragt... mal schauen. Ich hatte schlussendlich mal versucht bei der pfSense alle Ports vom Voice weiter zu leiten - hat auch nix gebracht.

Merci auch für die Links - ich glaube den einen oder anderen Artikel hatte ich damals als ich mein pfSense-Fritz-Telekom Setup gebastelt habe.... Ich melde mich sobald es News gibt!
Member: Space-Rat
Space-Rat Mar 08, 2021 at 12:13:22 (UTC)
Goto Top
So, heute bin ich dazu gekommen hier etwas weiter zu schauen. Ich habe mit dem Support des Providers gesprochen und der meinte das wenn die Signalisierung funktioniert und Sprache hier raus geht es ein eingehendes RTP Thema sei. Ports können keine festgelegt werden da die Range hier 1024 -> xxxxxx ist und jedes Mal ausgehandelt werden. In meiner Config hatte ich auch testweise mal alle Ports an die FritzBox weitergeleitet. Für später hat mir der Support die 2 Netze genannt aus denen hier VOIP Traffic kommen kann - dann kann ich das später eingrenzen.

Ich habe hier vorhin noch etwas die Firewall-Logs gesichtet und habe festgestellt, das IPs aus dem o.g. VOIP Bereich des Providers auf meinem WAN DATEN-VLAN auftauchen während einem Sprach-Test. Mein Gedanke ist jetzt, das die FritzBox hier evtl. die ausgehende Sprache über das WAN DATEN-VLAN versendet anstelle Voice-VLAN.

Frage wäre also noch mal: Wie kann ich in der Konstellation erreichen das die ausgehenden Daten der Fritzbox über das WAN Voice-VLAN gehen; was muss ich dazu in der pfSense machen?

Servus, Spacey
Member: aqui
Solution aqui Mar 08, 2021 at 12:26:15 (UTC)
Goto Top
was muss ich dazu in der pfSense machen?
Du machst eine einfache Policy Route indem du den FritzBox Traffic global ins Voice WAN routest. Über das Interface Regelwerk selektierst du diesen Traffic mit einer Regel und weisst im Advanced Setting dann die Forwarding Group zu.
https://docs.netgate.com/pfsense/en/latest/multiwan/index.html
Beispiele findest du hier:
https://docs.netgate.com/pfsense/en/latest/multiwan/index.html
https://techexpert.tips/de/pfsense-de/pfsense-mehrfach-wan-link-lastenau ...
oder auch hier:
https://www.heise.de/select/ct/2016/24/1479992026108405
Member: Space-Rat
Space-Rat Mar 08, 2021 at 15:18:17 (UTC)
Goto Top
Zuerst mal: Vielen lieben Dank für Deine Tips & Hilfe - top!!

OK - ich habe etwas in Deinen Links gelesen und mich dran "versucht" -> was ich verstanden habe: Ich muss keine Gateway-Gruppe erstellen, oder?! -> Denn es gibt bei mir ja nicht wie in den ganzen Beispielen genannten 2 * Daten-Gateways als Failover - sondern ich habe 2 funktional unterschiedliche Gateways: Daten-VLAN & Voice-VLAN bei mir genannt. Die 2 Gateways existieren ja auch schon automatisch durch die VLAN Einrichtung auf dem WAN; ich kann sie überall auswählen.

Mit "Über das Interface Regelwerk selektierst du diesen Traffic mit einer Regel und weisst im Advanced Setting dann die Forwarding Group zu." habe ich verstanden: Ich gehe in die Firewall - Rules - LAN (woran ja die Fritzbox hängt) und erstelle hier eine Regel welche über den anderen angeordnet ist:

Protokoll: IPv4*
Source: Fritzbox IP
Destination: any (oder später auch ProviderNetz VOIP Netzwerk)
Port: *
Gateway: WAN_Voice_VLAN (im Advanced zu finden)

In den FireWall-Rules für das WAN_Voice_VLAN gibt es auch eine Regel:

Protokoll: IPv4 TCP/UDP
Source: Any
Port: *
Destination: FritzBox IP / Alias
Gateway: WAN_Voice_VLAN

... leider immer noch kein eingehender Sound.

FireWall Log zeigt komische Sachen:

Interface: WAN_Daten_VLAN
Rule: Default deny rule IPv4
Source: IP aus dem Provider VoIP Netz
Destination: IP vom WAN_Voice_VLAN

Wieso das?!
Member: aqui
Solution aqui Mar 08, 2021 updated at 15:59:34 (UTC)
Goto Top
Sorry mit dem Dual WAN. Da hast du natürlich Recht, das brauchst du nicht weil du ja nur einen Provider hast. Dennoch brauchst du aber ein Policy Based Routing das die Voice Daten (SIP und RTP) der FritzBox immer nur auf das Voice VLAN Gateway sendet um sicherzustellen das dieser Traffic immer in das Voice VLAN geht.
.... Wieso das?!
Das sind eingehende SIP oder RTP Daten. SIP wird sicher funktionieren weil du ja ein Port Forwarding von TCP/UDP 5060 auf die IP Adresse der fritzBox gemacht hast.
Knackpunkt sind aber die Voice Daten die mit RTP übertragen werden. Wie oben gesagt nutzt RTP UDP als Transportprotokoll und dynmaische Ports.
Kommt von aussen ein SIP Call klingelt dein Telefon und wenn du abhebst startet der RTP Stream. Es bestehen aber in der NAT Firewall keinen offenen Sessions und deshalb blockt die Firewall diese eingehenden RTP Frames mit dem Ergebnis das eingehend kein Audio kommt, ausgehend aber schon.
Du kannst dem nur begegnen indem du einen STUN Server konfigurierst in deiner VoIP Anlage (FB) oder in der Firewall die RTP Port Range öffnest mit Forwarding auf die FB IP.
Ähnliche Threads dazu:
PfSense VLAN für VOIP am WAN (Innogy)
https://forum.netgate.com/topic/147790/dual-wan-dhcp-vlan-mit-einer-phys ...
Gibt ne Menge dazu wenn man nach "pfsense provider mit voice vlan" o.ä. sucht.
Member: Space-Rat
Space-Rat Mar 08, 2021 at 17:24:48 (UTC)
Goto Top
Zitat von @aqui:

Dennoch brauchst du aber ein Policy Based Routing das die Voice Daten (SIP und RTP) der FritzBox immer nur auf das Voice VLAN Gateway sendet um sicherzustellen das dieser Traffic immer in das Voice VLAN geht.

Das habe ich - glaube ich zumindest - mit meinen Regeln oben erreicht...

.... Wieso das?!
Das sind eingehende SIP oder RTP Daten. SIP wird sicher funktionieren weil du ja ein Port Forwarding von TCP/UDP 5060 auf die IP Adresse der fritzBox gemacht hast.

Yep - aber die kommen auf dem WAN_DATEN_VLAN an - nicht auf dem WAN_VOICE_VLAN!
Das hier ein Fehler des Providers vorliegt kann ich mir fast nicht vorstelle da diese Konfiguration ja bei allen Kunden genutzt wird.

Knackpunkt sind aber die Voice Daten die mit RTP übertragen werden. Wie oben gesagt nutzt RTP UDP als Transportprotokoll und dynmaische Ports.
Kommt von aussen ein SIP Call klingelt dein Telefon und wenn du abhebst startet der RTP Stream. Es bestehen aber in der NAT Firewall keinen offenen Sessions und deshalb blockt die Firewall diese eingehenden RTP Frames mit dem Ergebnis das eingehend kein Audio kommt, ausgehend aber schon.

Soweit so klar....


Du kannst dem nur begegnen indem du einen STUN Server konfigurierst in deiner VoIP Anlage (FB) oder in der Firewall die RTP Port Range öffnest mit Forwarding auf die FB IP.

Mein (sub-) Provider ist AltoNetz - STUN Server gibt's wohl nicht - deren Haupt-Provider ist komdsl.de - konnte dazu nichts im Netz finden und die üblichen Versuche mit URLs analog zum Rest herauszufinden ala try'n'error brachte auch nichts. Der Service-Mitarbeiter heute hat gemeint bei meinem Problem bringt ein STUN Server nichts - er klang auch nicht so als würde es einen geben. Die Ports habe ich ja *allesamt* weitergeleitet; oder zumindest es versucht...

Die Links von Dir Treffens im Prinzip recht genau, aber es will ned... :/

Ähnliche Threads dazu:
PfSense VLAN für VOIP am WAN (Innogy)
https://forum.netgate.com/topic/147790/dual-wan-dhcp-vlan-mit-einer-phys ...
Gibt ne Menge dazu wenn man nach "pfsense provider mit voice vlan" o.ä. sucht.

Ich google mal weiter...
Member: Space-Rat
Space-Rat Mar 10, 2021 at 09:06:01 (UTC)
Goto Top
Schlussstrich: Es funktioniert.

Was ich gemacht habe:
- Noch mal alle Einstellungen gecheckt - wie in den Threads beschrieben statisches Port-Forwarding, entsprechende FireWall-Regeln, Ausgehenden Traffic für die Fritzbox komplett über's WAN-Voice-VLAN geleitet durch Regel...
- zuerst mal alle Ports auf die Fritzbox von allen Adressen erlaubt - dann hat's funktioniert.
- Dann habe ich die eingehenden Ports etwas eingeschränkt - da ich keine genaue Aussage vom Provider darüber bekommen habe wird recht viel weitergeleitet aber...
- Ich habe die VoIP Server IPs vom Provider bekommen - die eingehenden Ports & Verbindungen habe ich auf diese IPs beschränkt. Dadurch ist das "Scheunentor" schon mal sehr viel weiter zu.

Also zuerst mal alles auf zum testen und dann so gut es geht zu gemacht.

Vielen Dank nochmals für die ganze Tips und Links hier!
Member: aqui
aqui Mar 10, 2021 at 09:44:06 (UTC)
Goto Top
Also zuerst mal alles auf zum testen und dann so gut es geht zu gemacht.
Der klassische Weg ! face-wink
Glückwunsch das es nun klappt wie es soll. 👏