Quantcast
Channel: Network – Weberblog.net
Viewing all articles
Browse latest Browse all 253

VoIP von FRITZ!Box über Juniper SSG Firewall

$
0
0

Ich habe bei mir zu Hause die AVM FRITZ!Box als alleinigen Router abgelöst und durch eine Juniper SSG 5 Firewall ersetzt. Die FRITZ!Box ist trotzdem noch vorhanden und steht als IP-Client hinter der Firewall, primär um die Internettelefonie zu 1&1 bereitzustellen. Leider hat es etwas gedauert, bis ich die richtigen Einstellungen herausgefunden hatte, damit die Telefonie auch wirklich in beide Richtungen funktionierte.

Von “es geht gar nichts” über “es kann nur einer reden” bis hin zu “meine Frau kann endlich wieder telefonieren” gab es mehrere Stufen. Und um es gleich vorweg zunehmen: Ich bin mir nicht überall zu 100 % sicher, ob ich die Probleme richtig erkannt und gelöst habt. Fakt ist aber, dass es jetzt funktioniert. ;) Ich habe aber nicht noch mehr recherchiert. Hier folgt mein Endstand. Die Software Version der SSG ist 6.3.0r17.0.

Problem

Das Problem schien wohl zu sein, dass

  1. die SSG keinen ALG für RTP (sondern nur für SIP und RTSP) hat, bzw. dass
  2. die FRITZ!Box nicht korrekt die nötigen Verbindungen für SIP und RTP offen halten kann, obwohl es hier so beschrieben ist.

Ich hatte dann eine Weile mit den Einstellungen in der FRITZ!Box sowie den ALGs der SSG herumexperimentiert. Leider sieht man auf der SSG ja nicht wirklich, welche Verbindungen von außen blockiert werden. Unter anderem hatte ich das hier von Juniper getestet. Allerdings lief bei mir nie eine Verbindung in diese Regel rein. Es schien ohnehin mehr ein Problem von RTP und weniger von SIP zu sein. (?) Diesen Blogpost hatte ich dann gefunden, der direkt schreibt, dass die SSG keinen ALG für RTP hat.

Lösung

Wie es jetzt läuft:

  • Den 30 Sekunden Keepalive auf der FRITZ!Box aktiviert (Telefonie -> Eigene Rufnummern -> Anschlusseinstellungen -> Sprackpakete).
  • Die ALGs für SIP und RTSP auf der SSG ausgeschaltet (damit es ein definierter Zustand von “die SSG macht nichts Intelligentes” ist).
  • Auf der SSG ein “Port-Forwarding”, also die VIP und Policies für SIP (UDP 5060) und RTP (UDP 7078-7097, scheint FRITZ!Box spezifisch zu sein) eingerichtet, so wie es hier alternativ beschrieben ist. Diese Ports werden also an die FRITZ!Box weitergereicht.

Übersicht der weitergeleiteten Ports:

VoIP Fritzbox über SSG - Port-Forwarding

Und hier ein paar Screenshots. Man kann gut beobachten, dass pro Telefonat genau zwei RTP/RTSP Sessions aufgemacht werden. Bei einem ausgehenden Telefoncall werden die Verbindungen eingehend (!) geöffnet. Bei einem eingehenden Anruf dann entsprechend ausgehen. Außerdem interessant ist der immer erkannte “Fragmented Traffic” am Anfang eines jeden Telefonats. Ich habe während den Gesprächen zwar nichts gemerkt, aber es tritt immer auf. Siehe Bild-Beschreibungen für mehr Infos:

VoIP Fritzbox Portweiterleitung aktiv halten VoIP über SSG - VIP Services für SIP und RTP/RTSP und die entsprechende Policy from untrust to trust. Ausgehender Anruf = eingehende RTP Sessions Eingehender Anruf = ausgehende RTP Sessions Fragmented Traffic zu Beginn von Telefongesprächen.

 

Und hier noch ein Teil der CLI Konfiguration der SSG, welche ja leider für jeden Service der VIP einen einzelnen Eintrag braucht. Nerv.

set service "udp_5060_sip" protocol udp src-port 0-65535 dst-port 5060-5060
set service "udp_7078_rtp" protocol udp src-port 0-65535 dst-port 7078-7078
set service "udp_7079_rtp" protocol udp src-port 0-65535 dst-port 7079-7079
set service "udp_7080_rtp" protocol udp src-port 0-65535 dst-port 7080-7080
set service "udp_7081_rtp" protocol udp src-port 0-65535 dst-port 7081-7081
set service "udp_7082_rtp" protocol udp src-port 0-65535 dst-port 7082-7082
set service "udp_7083_rtp" protocol udp src-port 0-65535 dst-port 7083-7083
set service "udp_7084_rtp" protocol udp src-port 0-65535 dst-port 7084-7084
set service "udp_7085_rtp" protocol udp src-port 0-65535 dst-port 7085-7085
set service "udp_7086_rtp" protocol udp src-port 0-65535 dst-port 7086-7086
set service "udp_7087_rtp" protocol udp src-port 0-65535 dst-port 7087-7087
set service "udp_7088_rtp" protocol udp src-port 0-65535 dst-port 7088-7088
set service "udp_7089_rtp" protocol udp src-port 0-65535 dst-port 7089-7089
set service "udp_7090_rtp" protocol udp src-port 0-65535 dst-port 7090-7090
set service "udp_7091_rtp" protocol udp src-port 0-65535 dst-port 7091-7091
set service "udp_7092_rtp" protocol udp src-port 0-65535 dst-port 7092-7092
set service "udp_7093_rtp" protocol udp src-port 0-65535 dst-port 7093-7093
set service "udp_7094_rtp" protocol udp src-port 0-65535 dst-port 7094-7094
set service "udp_7095_rtp" protocol udp src-port 0-65535 dst-port 7095-7095
set service "udp_7096_rtp" protocol udp src-port 0-65535 dst-port 7096-7096
set service "udp_7097_rtp" protocol udp src-port 0-65535 dst-port 7097-7097
set service "udp_7078-7097_rtp" protocol udp src-port 0-65535 dst-port 7078-7097
set interface ethernet0/0 vip interface-ip 5060 "udp_5060_sip" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7078 "udp_7078_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7079 "udp_7079_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7080 "udp_7080_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7081 "udp_7081_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7082 "udp_7082_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7083 "udp_7083_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7084 "udp_7084_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7085 "udp_7085_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7086 "udp_7086_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7087 "udp_7087_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7088 "udp_7088_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7089 "udp_7089_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7090 "udp_7090_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7091 "udp_7091_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7092 "udp_7092_rtp" 192.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7093 "udp_7093_rtp" 193.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7094 "udp_7094_rtp" 194.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7095 "udp_7095_rtp" 195.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7096 "udp_7096_rtp" 196.168.86.2 manual
set interface ethernet0/0 vip interface-ip 7097 "udp_7097_rtp" 197.168.86.2 manual
set policy id 26 from "Untrust" to "Trust"  "Any-IPv4" "VIP(ethernet0/0)" "udp_5060_sip" permit log
set policy id 26
exit
set policy id 27 from "Untrust" to "Trust"  "Any-IPv4" "VIP(ethernet0/0)" "udp_7078-7097_rtp" permit log
set policy id 27
exit
set policy id 24 from "Trust" to "Untrust"  "Any-IPv4" "Any-IPv4" "SIP" nat src permit log count
set policy id 24
exit
set policy id 28 from "Trust" to "Untrust"  "Any-IPv4" "Any-IPv4" "udp_7078-7097_rtp" nat src permit log count
set policy id 28
exit

 


Viewing all articles
Browse latest Browse all 253

Trending Articles