help • 16 SIP-Verbindungen • Konfiguration der Firewall für einen SIP-Trunk
16.7 Konfiguration der Firewall für einen SIP-Trunk
Für die Anmeldung bei einem SIP-Provider, den SIP-Verbindungsaufbau und die Weiterleitung der Sprache von außen ist der SwyxLinkManager verantwortlich. Damit der SwyxLinkManager erfolgreich mit SIP-Providern und Gegenstellen im öffentlichen Internet kommunizieren kann, ist eine entsprechende Konfiguration der Firewall notwendig.
Die Konfiguration der Firewall wird an folgendem Beispiel erläutert:
Vorausgesetzt wird, dass SwyxLinkManager und SwyxServer auf dem gleichen Computer installiert sind.
Der SwyxServer befindet sich im lokalen Netzwerk und hat damit eine private IP-Adresse (z. B. 192.168.100.5). Außerdem befinden sich die Arbeitsstationen der Mitarbeiter mit Desktop Clients und die SwyxPhones innerhalb dieses privaten Adressbereiches (192.168.100.x). Der Weg vom privaten IP-Bereich in das Internet führt über einen NAT-Router (Network Address Translation), der auch gleichzeitig Firewall ist. Dieser NAT-Router steht also einerseits innerhalb des privaten IP-Adressbereiches (z. B. 192.168.100.1) und andrerseits innerhalb des öffentlichen Internet IP-Netzes (z. B. 217.194.238.2).
SwyxWare unterstützt die NAT-Typen „Full Cone NAT“, „Restricted Cone NAT“ und „Port Restricted Cone NAT“.
Grundsätzlich funktioniert die Kommunikation aus dem privaten IP-Adressbereich so, dass über den NAT-Router eine Verbindung in das Internet hergestellt wird und z. B. der angesurfte Webserver nur die öffentliche IP-Adresse des NAT-Routers (217.194.248.2) sieht und seine Antworten bzw. die Webseiteninhalte an diese öffentliche IP-Adresse zurücksendet. Der NAT-Router hält eine Tabelle bereit, in der er Verbindungen von Clients aus dem privaten IP-Bereich zum Internet hin verzeichnet und damit die Antworten aus dem öffentlichen Bereich wieder zurück an die Clients im privaten IP-Adressbereich leiten kann. Diese Tabelle besteht im Wesentlichen aus Einträgen in denen die private IP-Adresse und der Port eines Clients der öffentlichen IP-Adresse und der Port des NAT-Routers für eine Verbindung über den NAT-Router in das Internet zugeordnet wird. Damit können Antworten aus dem Internet an den NAT-Router und von diesem an den entsprechenden Client weitergeleitet werden. Diese Verbindung wird je nach Router nur wenige Sekunden aufrecht erhalten.
Die Verwendung von SIP in Verbindung mit Firewall oder NAT ist eher schwierig, da die meisten Firewall bzw. NAT-Router die dynamisch vergebenen Ports nicht der Signalisierungsverbindung zuordnen können. Hierbei kann das Netzwerkprotokoll STUN Abhilfe schaffen.
STUN
STUN ist ein Netzwerkprotokoll, welches das Vorhandensein und die Art von Firewalls und NAT-Routern erkennt und diese berücksichtigt. Es ermöglicht einen unkomplizierten Einsatz von Geräten (z. B. SIP-Telefonen) und Programmen in Netzwerken, welche Daten aus dem Internet empfangen möchten.
Mit Hilfe von STUN lässt sich die aktuelle öffentliche IP-Adresse des Anschlusses ermitteln. Dies ist nötig, damit die Gegenstelle ihre Gesprächsdaten korrekt adressieren und zurücksenden kann.
Für nähere Informationen über das STUN Protokoll, siehe entsprechenden RFC Standard (RFC 3489).
Abb. 16-3: SIP/STUN
Die STUN-Nachrichten werden mindestens alle 10 Sekunden vom SwyxLinkManager verschickt (sofern kein anderer Datenverkehr über den entsprechenden Port fließt), um sicherzustellen, dass die NAT (Masquerading) Tabelle des NAT-Routers nicht wieder zerstört wird und um potenzielle Änderungen der externen IP-Adresse des NAT-Routers zu ermitteln. Das heißt, die SIP-Links der SwyxWare können auch hinter einem DSL-Anschluss betrieben werden, der alle 24 Stunden vom IP-Provider zwangsweise getrennt wird und damit eine neue IP-Adresse enthält.
Über den NAT-Router werden also STUN-Nachrichten, die SIP-Anmeldung, der SIP-Verbindungsaufbau und die Sprachdaten selbst verschickt.
Ist nun eine Firewall vorhanden, so muss sie für genau diese Kommunikation freigeschaltet werden. Die hierfür notwendigen Regeln werden im Folgenden aufgeführt und müssen in Ihrer Firewall in der entsprechenden Syntax konfiguriert werden:
Der SwyxLinkManager versendet die STUN-Nachrichten von Port 65002 an den konfigurierten STUN-Server. Der Zielport für STUN-Nachrichten ist meistens der Port 3478, es gibt aber auch Ausnahmen, z. B. SIPGate verwendet den Port 10000.
Die STUN-Antwortnachrichten sollten natürlich auch zugelassen werden. Die SIP-Nachrichten werden vom SwyxLinkManager von Port 65002 an den SIP-Port des SIP-Providers geschickt. Der SIP-Port ist meistens der Well Known Port 5060. Auch der umgekehrte Weg für die Antworten sollte freigeschaltet werden.
Für den Versand und den Empfang der Sprachdaten in das Internet verwendet der SwyxLinkManager die Ports 55000 - 56000. Die Zieladresse und der Zielport lassen sich nicht im Voraus einschränken, da dies allein von der SIP-Gegenstelle abhängig ist, die nicht bekannt ist (z. B. X-Lite Client, GMX Netphone oder ähnliche).
Die umgekehrte Richtung muss auch freigegeben werden. Damit ergibt sich folgendes Regelwerk für die Firewall:
*Freigabe des Versands von UDP, STUN- und SIP-Nachrichten sowie Audiopaketen von der IP-Adresse und den Ports 55000 - 56000 und 65002 des SwyxLinkManager an den STUN-Port 3478 eines beliebigen STUN-Servers und den SIP-Port 5060 eines SIP-Providers (z. B. IP: 192.168.100.5, Port: 55000 - 56000, 65002=“>“ IP: [STUN-Server]/[Proxy-Server], Port: 3478, 5060).
*Freigabe des Empfangs von UDP, SIP- und STUN-Nachrichten an den Port 65002 des SwyxLinkManagers.
Beispiel:
IP: [STUN-Server]/[Proxy-Server], Port: beliebig = “>“ IP:192.168.100.5, Port: 65002
*Freigabe der ausgehenden Sprachdaten des SwyxLinkManager.
Beispiel:
IP:192.168.100.5, Port: 55000 - 56000 = “>“ IP: beliebig, Port: beliebig
*Freigabe der eingehenden Sprachdaten an den SwyxLinkManager.
Beispiel:
IP: beliebig, Port: beliebig = „>“, IP: 192.168.100.5, Port: 55000 - 56000
Natürlich können obige Regeln auch anders formuliert werden. Die Aufteilung bietet sich aber an, sofern Ihre Firewall QoS für die Audiodatenströme unterstützt (wie z. B. LANCOM Router/Firewall).