PfSense + Telekom Hybrid
-
Ich habe heute mal die einfachste aller Varianten getestet: Das Snom-Telefon direkt mit an den Speedport per separatem LAN-Port, somit nicht mehr hinter der pfsense. Jetzt ist das Problem mit der Audioübertragung gelöst (man hört also Sprache von beiden Seiten). Allerdings kann nur das snom-Telefon raustelefonieren, die Anrufsignalisierung nach innen funktioniert noch immer nicht :-(
Habe da bereits viele Kombinationen durch:
- Ohne Portweiterleitungen
- Extra Port für snom (5160 statt 5060), mit und ohne Portforwarding
- LTE komplett deaktiviert
- LTE+DSL und das Snom-Telefon als Ausnahme für LTE eingefügt
- STUN-Server im Telefon eingetragen / entfernt
- Mehrfache Reboots des Telefons
- Einige Reboots des Speedport-Routers
Da das Snom-Telefon auch zuvor an der pfSense (WAN mit PPPoE) mit den normalen Einstellungen perfekt funktionierte, gehe ich davon aus das der Speedport in Sachen NAT / Firewall etwas prinzipiell anders macht. Ich kann mir allerdings nicht vorstellen, das ein VOIP-Telefon direkt am Speedport angestöpselt nicht funktionieren soll, dann würde es auch Probleme mit den ganzen Fritzboxen, Asterisk-Systemen usw. geben.
Edit:
Ich bin einen Schritt weiter aufgrund dieses Topics:
http://www.ip-phone-forum.de/showthread.php?t=282174Nachdem ich den Servertyp auf "Asterisk" beim snom-Telefon umgestellt hatte, funktionieren nun die Anrufsignalisierungen ebenfalls einwandfrei, als auch die beidseitige Audioübertragung. Wohlgemerkt aber bisher nur am Speedport direkt - ich hatte daraufhin nochmal das Telefon umgestöpselt an die pfsense, dort funktioniert jetzt auch die Anrufsignalisierung, aber die Audioübertragung nach innen geht noch nicht. Testweise nochmal eigene Ports im Forwarding eingetragen auf Speedport & pfSense & snom (UDP 5160 für SIP und 5104-5120 für RTP), brachte aber keine Änderung. Speedport-Router lief in diesem Moment zur Sicherheit auf DSL-Only Betrieb ohne LTE.
-
Hast Du im letzten Setup auch nochmal ohne STUN und port forwards probiert?
Lies mal in diesem Post über Symmetric RTP nach. Sofern Du Telekom VoIP nutzt, sollte die Gegenstelle den selben Port für eingehendes Audio verwenden, wie das Snom für ausgehendes Audio. Wenn das so läuft, braucht es keine Port-Forwards, static ports und auch kein STUN, da die Firewall das eingehende Audio im Rahmen einer bereits aufgebauten Verbindung annimmt.
-flo-
-
Mit "letzten Setup" meintest du mit dem snom-Telefon wieder an der pfsense? Am Speedport funktionieren nun alle Telefone bis jetzt problemlos, allerdings benötigen diese dann einen eigenen LAN-Port, damit ich den Datenverkehr auf den neuen Switch lenken kann (der an der Speedport hängt).
Als VOIP-Anbieter ist hier sipgate Team im Einsatz. Dadurch das die übrigen Telefone jetzt erstmal übergangsweise laufen, kann ich mit einem Gerät in Ruhe an der pfSense testen. Soweit ich mich erinnere hatte ich diese Konstellation aber bereits geprüft:
Internet <-> Speedport <-> pfSense <-> snom
Das war ganz zu Beginn, als die Telefone noch die Standard-Konfiguration hatten. Zu diesem Zeitpunkt musste ich auch in der pfSense in den Firewall/NAT-Regeln keine Einstellungen vornehmen, alle Telefone liefen auf Anhieb. Durch das jetzige schalten hinter den Speedport haben wir aber kein normales NAT mehr sondern ein Doppel-NAT, daher vermute ich das in den RTP-Paketen irgendwo ein falscher Port oder IP-Adresse steckt und dieser daher nicht am Telefon ankommen.
-
Also sipgate habe ich gerade getestet. Es funktioniert!
Anbei zwei Sceenshots.Speedport: Portfreischaltung UDP 7078-7096 -> Auf die pfSense
pfSense: NAT-Regel 7078-7096 auf meine Gigaset N510 IP ProAb da an funktionierte die Sprache.
-
Jedes Telefon benötigt hier einen eigenen RTP-Bereich, sowie SIP-Port
http://teamhelp.sipgate.de/hc/de/articles/203643481-Allgemeine-Konfigurationsdaten
-
comtel: Kannst du kurz noch Screenshots von den Speedport-Einstellungen dazu machen? Die Portweiterleitungen sind wohl klar, mich würden aber zusätzlich die Einstellungen für DSL/LTE interessieren, danach prüfe ich das hier mal mit meinem Testgerät.
-
Da habe ich jetzt nichts eingestellt. Könnte man machen, sollte aber auch so funktionieren.
-
Ok, habe das ganze jetzt mal exakt nachkonstruiert. Auf dem Speedport die Forwardings von 7078-7096 reingesetzt, ebenso in der pfsense bei den Firewall -> NAT Forwardings (die zugehörigen Firewall-Rules werden dabei automatisch mit erstellt). Im Telefon den SIP-Port 5065, Outbound-Proxy von sipgate rein, STUN-Server eingetragen, RTP-Ports auf 7078-7096 angepasst. Anrufsignalisierung von aussen geht, keine Sprachübertragung nach innen. Ich habe mal Screenshots vom snom-Telefon gemacht, da ich vermute das dort noch was falsch sein könnte. Auf der pfsense muss ganz sicher nichts weiter konfiguriert werden? Kein Forwarding von SIP-Ports (5065 wie im Telefon hinterlegt?).
-
Möglicherweise noch ein interessanter Punkt:
In den Firewall-Logs tauchen bei einem Anruf Einträge auf, mit der Quelle 192.168.2.1 (Speedport) auf 192.168.2.2 (pfsense), alle im Quellport-Bereich 7070+ und als Ziel-Port 5-stellig (60.000+), siehe Anhang. Als ich eine "Easy Rule" auf einen geblockten Eintrag erstellte, lief für kurze Zeit auch die eingehende Sprachübertragung. Da stellt sich die Frage, woher dieser Traffic kommt und warum er im Portbereich unter 7078 beginnt? :-)![Bildschirmfoto 2016-04-26 um 23.46.17.png](/public/imported_attachments/1/Bildschirmfoto 2016-04-26 um 23.46.17.png)
![Bildschirmfoto 2016-04-26 um 23.46.17.png_thumb](/public/imported_attachments/1/Bildschirmfoto 2016-04-26 um 23.46.17.png_thumb) -
Klar, so soll es ja auch sein.
Die RTP-Port (Sprache) schlagen ja auch auf dem Speedport auf, dieser leitet diese dann an die pfSense weiterWie gesagt, meine RTP-Ports (In meinem Test) sind 7078-7096, wenn dein RTP Bereich ein anderer ist, musst du diesen Bereich per NAT-Regel freigeben.
Beispiel:
IP-Telefon 1: RTP-Ports 7078-7096 // SIP-Port 5065
IP-Telefon 2: RTP-Ports 7097-7115 // SIP-Port 5066
…. usw.(Die RTP-Ports können sich je nach Telefon ändern, manch ein Endgerät hat nur 1 oder 2 RTP-Ports)
und natürlich nicht vergessen, im Speedport immer schön die RTP UDP-Bereiche an die pfSense leiten.
-
Anrufsignalisierung von aussen geht, keine Sprachübertragung nach innen. Ich habe mal Screenshots vom snom-Telefon gemacht, da ich vermute das dort noch was falsch sein könnte. Auf der pfsense muss ganz sicher nichts weiter konfiguriert werden? Kein Forwarding von SIP-Ports (5065 wie im Telefon hinterlegt?).
Wenn die Anrufsignalisierung geht, dann ist bei den SIP-Ports bereits alles in Ordnung.
Das Problem mit eingehendem Audio liegt offenbar nicht am Snom:
Möglicherweise noch ein interessanter Punkt:
In den Firewall-Logs tauchen bei einem Anruf Einträge auf, mit der Quelle 192.168.2.1 (Speedport) auf 192.168.2.2 (pfsense), alle im Quellport-Bereich 7070+ und als Ziel-Port 5-stellig (60.000+), siehe Anhang. Als ich eine "Easy Rule" auf einen geblockten Eintrag erstellte, lief für kurze Zeit auch die eingehende Sprachübertragung. Da stellt sich die Frage, woher dieser Traffic kommt und warum er im Portbereich unter 7078 beginnt? :-)Die Quell-Ports des Speedport sind an sich nicht relevant, wenn die port forwards auf die korrekten Ziel-Ports im Speedport funktionieren. Entweder ist das nicht der Fall (würde ich nicht vermuten) oder das eingehende Audio kommt am Speedport erst gar nicht an einem der konfigurierten Ports an (halte ich für wahrscheinlicher).
Hast Du bei Outbound NAT für den ausgehenden Traffic des Snom static port konfiguriert?
-flo-
-
Das Outbound NAT steht derzeit auf:
"Automatic outbound NAT rule generation. (IPsec passthrough included)"Wären denn hier noch zwingend gesonderte Einstellungen notwendig? Insgesamt wären das schon eine Vielzahl an Forwardings und Rules welche man bei mehreren Telefonen hinterlegen müsste. In diesem Fall dürfte es bestimmt sinnvoller sein, ein Asterisk oder ähnliches hinter die pfsense zu nehmen, dafür die Rules zu hinterlegen und die Telefone melden sich dann intern immer dort an?
Ich habe gestern noch das folgende Posting gefunden:
https://forum.stricted.net/index.php/Thread/92-Speedport-Hybrid-NAT-Probleme-mit-TK-Anlagen-wie-z-B-Asterisk/?postID=2230#post2230Dort wird nochmal auf die Problematik mit dem Hybrid-Betrieb und der externen IP-Adresse eingegangen. Empfohlen wird, entweder direkt den STUN-Server von T-Online (stun.t-online.de) zu nutzen da dieser generell über die DSL-Leitung geroutet wird, oder bei Nutzung eines anderen STUN-Servers dessen Domainnamen bei den Ausnahmen im Speedport zu konfigurieren, damit die richtige externe IP zurückkommt (vom DSL-Anschluss, nicht vom Tunnel). Das werde ich später auch nochmal überprüfen.
Prinzipiell bestünde doch auch noch die Möglichkeit, das NAT auf der pfsense zu deaktivieren um das Double-NAT zu vermeiden? Wäre die Firewall selbst dann weiterhin aktiv bzw. könnte pfsense dann noch zwischen dem Netz des Speedport (192.168.2.0) und dem bisherigen LAN (192.168.0.0) routen? Hätte diese Vorgehensweise weitere Nachteile?
-
Das Outbound NAT steht derzeit auf:
"Automatic outbound NAT rule generation. (IPsec passthrough included)"Wären denn hier noch zwingend gesonderte Einstellungen notwendig?
Ich würd's hat mal probieren. Du kannst das auf Hybrid umstellen, dann kannst Du selbst Regeln vor den automatisch generierten Regeln anlegen. Zweck ist, daß die pfSense den ausgehenden Port verwendet, den auch Dein Telefon schon verwendet. Wird das nicht so konfiguriert, dann mappt die pfSense auf irgendeinen freien ausgehenden Port (das ist das NAT Regelverhalten).
Insgesamt wären das schon eine Vielzahl an Forwardings und Rules welche man bei mehreren Telefonen hinterlegen müsste. In diesem Fall dürfte es bestimmt sinnvoller sein, ein Asterisk oder ähnliches hinter die pfsense zu nehmen, dafür die Rules zu hinterlegen und die Telefone melden sich dann intern immer dort an?
Wenn Du viele Telefone hast, dann vereinfacht das die Konfiguration der pfSense, dafür hast Du dann eben ein Asterisk zu konfigurieren. Die Komplexität dürfte höher sein, aber es hängt natürlich davon ab, ob Du Dich mit Asterisk auskennst.
-
Prinzipiell bestünde doch auch noch die Möglichkeit, das NAT auf der pfsense zu deaktivieren um das Double-NAT zu vermeiden? Wäre die Firewall selbst dann weiterhin aktiv bzw. könnte pfsense dann noch zwischen dem Netz des Speedport (192.168.2.0) und dem bisherigen LAN (192.168.0.0) routen? Hätte diese Vorgehensweise weitere Nachteile?
Grundsätzlich ja. Soweit ich weiß (ich mache das so nicht) kann man die pfSense so betreiben, daß sie WAN und LAN per bridge verbindet. Dann arbeitet die pfSense als transparente Firewall. WAN und LAN aus Sicht der pfSense sind dann aber ein logisches Netz, also nicht mehr 192.168.2.0/24 und 192.168.0.0/24, sondern nur noch 192.168.2.0/24. Alle Geräte hinter der pfSense haben dann also eine Adresse aus diesem Netz.
Vorteil ist, daß alles funktioniert, wie wenn die pfSense nicht im Netz integriert wäre, dennoch wäre eine Firewall-Funktionalität vorhanden. Genaue weitere Auswirkungen und Vor- / Nachteile kann ich nicht liefern, sorry.
-
Grundsätzlich ja. Soweit ich weiß (ich mache das so nicht) kann man die pfSense so betreiben, daß sie WAN und LAN per bridge verbindet. Dann arbeitet die pfSense als transparente Firewall. WAN und LAN aus Sicht der pfSense sind dann aber ein logisches Netz, also nicht mehr 192.168.2.0/24 und 192.168.0.0/24, sondern nur noch 192.168.2.0/24. Alle Geräte hinter der pfSense haben dann also eine Adresse aus diesem Netz.
Schade - transparent müsste die Firewall nicht einmal sein, es wäre sogar besser wenn die Netze rein von der Organisation her getrennt bleiben würden. Mein Ziel ist es, möglichst ohne grossen Konfigurationsaufwand alle Dienste (Firewall, DHCP, VPN, …) weiterhin auf der pfsense laufen zu lassen und den Speedport Router lediglich als "notwendiges Übel" für den Internetzugang zu nutzen, dabei aber soweit es geht sämtliche optionalen Dienste darauf herunterfahre (kein WLAN, kein DHCP usw.). Würde sich die Konstellation denn verbessern, wenn man von IPv4 auf IPv6 auch im internen LAN umstellt? Der Speedport bekommt IPv6 Adressen und teilt diese auch den Clients zu (z.B. einem direkt angeschlossenen Mac), die Snom-Telefone sind IPv6 fähig, genauso wie alle übrigen Clients und Server im internen Netz. Würde hierdurch nicht auch die NAT-Problematik entfallen?
Die Telekom verkauft nur 50/10 per Hybrid bei ADSL bis 16000. Es gibt dann aber eine "Option" welche ich buchen konnte. Damit hatte ich dann die Anhebung auf 100/40
Ich hatte heute nochmal Kontakt zur Telekom-Hotline - laut dortiger Auskunft wäre bei meinem 16000er Anschluss keine "Speedoption L" buchbar. Die LTE-Verfügbarkeitsabfrage zeigt 150 Mbit/s auf der Karte an, der Mobilfunkmast kann definitiv LTE1800 und quasi "nebendran". Gibt es irgendwelche Fristen die man einhalten muss, bevor man eine neue Option buchen kann? Oder technische Voraussetzungen die der LTE-Mast liefern muss (Frequenz, angeschlossene Bandbreite, darauf gebuchte Hybrid-Anschlüsse, …) ? Wo hast du die Option gebucht (Kundencenter / Hotline) ?
Zusatzfrage: Was passiert eigentlich, wenn die DSL-Leitung ausfällt - ist dann der weitere Datenverkehr über LTE noch möglich?
-
Würde sich die Konstellation denn verbessern, wenn man von IPv4 auf IPv6 auch im internen LAN umstellt? Der Speedport bekommt IPv6 Adressen und teilt diese auch den Clients zu (z.B. einem direkt angeschlossenen Mac), die Snom-Telefone sind IPv6 fähig, genauso wie alle übrigen Clients und Server im internen Netz. Würde hierdurch nicht auch die NAT-Problematik entfallen?
Grundsätzlich hört sich das plausibel an, aber ich schätze die Umstellung auf IPv6 im Zusammenhang mit Speedport und pfSense ist dann ein größeres Projekt … ???
-
Ich habe jetzt die restliche Woche damit verbracht, die Hardware umzukonfigurieren. Am Speedport-Router hängt ein sWitch am LAN-Port, an diesem wiederum sind auch die SIP-Telefone per Ethernet angeschlossen. Damit läuft VOIP einwandfrei, ohne besondere Einstellungen (bis auf die Umschaltung auf "Asterisk" als Server bei den snom-Telefonen).
Leider ist mir heute ein neuer Nachteil dieses Aufbaus aufgefallen: Im Hintergrund wurde eine größere Datenmenge hochgeladen, während ein Telefonat geführt wurde. Resultat: Der Audio-Stream kam "stotternd" beim Gegenüber an, da kaum/keine Upload-Bandbreite zur Verfügung stand. In meiner alten Konfiguration (mit 16 MBit/s DSL) hatte ich direkt im Traffic-Shaper alles nötige eingestellt, das ist in dieser Form nun nicht mehr möglich, da die Telefone nicht mehr an der pfsense hängen. Jetzt bleiben eigentlich nur 5 Lösungen:
1. Widerruf des neuen Vertrags, Rückkehr zum alten DSL-Anschluss. Ungerne, da die neue Internet-Geschwindigkeit wirklich überzeugend ist.
2. Einen zweiten, reinen DSL-Anschluss hinzubestellen, alle VOIP-Telefone wieder an die pfsense und über ein Alias die Geräte in der Firewall komplett über den neuen Anschluss routen. Nachteil: Doppelte Kosten.
3. Über den Traffic-Shaper innerhalb von pfsense die Upload-Bandbreite künstlich reduzieren, so dass am Speedport immer genug Rest-Bandbreite verfügbar ist. Nachteil: Die Upload-Bandbreite ist dann an der pfsense dauerhaft reduziert und nicht komplett verfügbar, unschön.
4. Den DSL-Anschluss wieder direkt per PPPoE und ADSL-Modem am WAN-Port der pfsense nutzen, den Speedport-Router getrennt davon an einem weiteren Port an der pfsense anschliessen. Am Speedport läuft nur noch LTE, man hätte also 2x WAN und könnte die Telefone über den DSL-Anschluss, den Rest über LTE routen. Nachteile: Obwohl rein technisch wohl (noch) möglich, dürfte es für die Telekom technisch unproblematisch sein dies zu erkennen. Da ein solcher Betrieb sicherlich nicht beabsichtigt ist, bliebe die Frage wie lange dies geduldet würde (falls überhaupt). Zudem wäre die Bündelung ausser Kraft, so dass effektiv weniger Bandbreite zur Verfügung steht (bei einem 16 MBit-DSL Anschluss noch nicht so relevant, wenn aber ein 50/10 VDSL mit Hybrid kombiniert wird, geht mehr verloren).
5. Einen Weg finden, doch noch alles über die pfsense im Double NAT laufen zu lassen. In diesem Fall würde auch der Traffic-Shaper wieder funktionieren, wobei ich mir aber unsicher bin ob dieser überhaupt noch sinnvoll wäre, da LTE ein shared-Medium darstellt. Es ist also ohnehin keine fixe Upload-Rate konfigurierbar (zu hoch eingestellt fehlt Bandbreite bei den wichtigen Geräten, zu niedrig geht Bandbreite generell verloren). Zudem wollte ich es bisher vermeiden, "Löcher" in die Firewall zu bohren, nur damit die Telefone wieder einwandfrei kommunizieren können.
@comtel: So wie ich es verstanden habe, benutzt du deine Telefone momentan an der pfSense hinter dem Hybrid-Router? Bist du per Email / Skype oder ähnlichem erreichbar, damit wir mal die Einstellungen kurz abgleichen können? Du musst irgendeine Regel (im Speedport oder pfsense) noch definiert haben, welche mir derzeit fehlt. Eine normale TCP-Portweiterleitung funktioniert hier perfekt für einen internen Webserver, bei den Telefonen kommt aber überhaupt nichts an der pfsense laut Logs an. Hast du mal einen grossen Upload gestartet und währenddessen ein Telefonat getestet, lief dies problemlos?
Je länger ich darüber nachdenke, desto eher bevorzuge ich die getrennte DSL-Leitung für VOIP. Schade das man im Speedport nur definieren kann welche Geräte nicht über LTE laufen dürfen, aber nicht umgekehrt - sonst hätte ich die pfsense auf LTE konfiguriert, so das die DSL-Bandbreite nicht mehr benutzt würde.
-
3. Über den Traffic-Shaper innerhalb von pfsense die Upload-Bandbreite künstlich reduzieren, so dass am Speedport immer genug Rest-Bandbreite verfügbar ist. Nachteil: Die Upload-Bandbreite ist dann an der pfsense dauerhaft reduziert und nicht komplett verfügbar, unschön.
Naja, das ist zwar unschön, aber die erforderliche Bandbreite für Telefone ist gemessen an 10 oder 50Mbps wirklich nicht groß. Ich behaupte, Du würdest den Unterschied im LAN bei der Benutzung eines Browsers nicht merken. Und wenn E-Mail oder ein File-Download ein paar Sekunden länger brauchen, ist das sicher auch nicht dramatisch.
Vorteile in Deiner Situation: keine zusätzlichen Kosten und annähernd die gewünschte hohe Bandbreite durch die Hybridtechnik. Außerdem hört es sich so an, als ob dieser Aufbau für Dich beherrschbar ist.
-
Die Frage ist eher, ob diese Möglichkeit praktikabel ist. Ich habe hier normales DSL (16/2,5 MBit/s) und LTE (50/10 Mbit/s). Die Telefone sind auf dem Speedport so konfiguriert, das nur DSL genutzt wird. Dementsprechend müsste ich in der Theorie die pfsense so konfigurieren, dass maximal 10 Mbit/s Uploadrate genutzt wird. LTE ist aber ein Shared-Medium - angenommen, es stehen aufgrund der Auslastung jetzt nur 7 Mbit/s darauf zur Verfügung, dann merkt die pfsense nichts davon und geht weiterhin von 10 MBit/s aus. In diesem Moment werden die 2,5 MBit/s welche fehlen, von der DSL-Leitung im Tunnel mit genutzt und die VOIP-Telefone sind beeinträchtigt. Stelle ich hingegen den Shaper auf z.B. 6 Mbit/s als Mittelwert, dann fehlen die übrigen 4 Mbit/s bei allen an der pfsense angeschlossenen Geräte. Bei größeren Uploads, z.B. Datensicherungen in die Cloud, kann dies einen beträchtlichen zeitlichen Unterschied machen.
-
Naja, das ist zwar unschön, aber die erforderliche Bandbreite für Telefone ist gemessen an 10 oder 50Mbps wirklich nicht groß. Ich behaupte, Du würdest den Unterschied im LAN bei der Benutzung eines Browsers nicht merken.
Ich hatte nun einmal zum Testen im Traffic-Shaper die Bandbreite künstlich herabgesenkt. Leider hatte dies bei laufendem Upload keine Besserung gebracht, im Gegenteil - der Upload selbst lief spürbar langsamer, die ausgehende Sprachübertragung mit den an dem Speedport angeschlossenen Telefonen hatte aber weiterhin Fehler. Entweder liegt dies in der schwankenden LTE-Übertragungsrate begründet, oder daran wie der Speedport selbst den Traffic ausleitet.
Die technischen Möglichkeiten des Telekom-Routers sind leider zu eingeschränkt, um einen reibungslosen Betrieb wie am vorherigen DSL-Anschluss zu gewährleisten. Übrig bleibt jetzt nur noch, entweder die Telefone zum Betrieb hinter dem Double-NAT zu überreden, oder direkt 2 WAN-Ports zu nutzen (1x DSL, 1x Hybrid-DSL). Genügt es im letzteren Fall, den Hybrid-WAN-Port als Default zu konfigurieren und für die VOIP-Telefone ein Alias in pfSense anzulegen sowie eine Firewall-Rule, die dann hierfür ein abweichendes Gateway (DSL-WAN-Port) nutzt?