Ubuntu 12.04 Precise Pangolin
Möchte man mehrere SIP-Anwendungen (beispielsweise Ekiga oder Hardware-SIP-Telefone) hinter einem Router betreiben, so kann es vorkommen, dass Netzwerk-Ports speziell weitergeleitet werden müssen, da sonst die Verbindungen nicht so funktionieren, wie sie sollten.
Um dies zu vermeiden, kann man den speziellen Proxy-Server siproxd (SIP proxy/masquerading daemon) nutzen. Leider ist die aktuellste Version des Programmes nicht in den Ubuntu-Quellen verfügbar. Diese lässt sich jedoch bei Bedarf sehr leicht kompilieren, da sie nur wenige Abhängigkeiten benötigt.
Im Normalfall sollte auch die Version aus den offiziellen Paketquellen ihre Aufgabe wunderbar erfüllen.
sipproxyd nutzt nur was, wenn der Proxy auf dem Gateway ins Internet installiert ist!
Sipproxy ist in den offiziellen Paketquellen enthalten. Es muss das folgende Paket installiert [1] werden:
siproxd (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install siproxd
sudo aptitude install siproxd
Anschließend wird in der Konfigurationsdatei /etc/default/siproxd der Proxy aktiviert werden. Dies geschieht mit einem Editor mit Root-Rechten [4]. In der einzigen Zeile der Datei
ENABLED=1
muss aus der 0
eine 1
gemacht werden. Anschließend kann der Dienst über den Befehl
sudo /etc/init.d/siproxd start
sofort gestartet und benutzt werden. Mehr zum Thema kann im Artikel Dienste nachgelesen werden.
Um die Konfiguration von siproxd an die Gegebenheiten anzupassen, muss nun die /etc/siproxd.conf editiert werden [4] (Root-Rechte erforderlich).
Zuerst muss die Netzwerkkonfiguration angepasst werden. Falls siproxd auf einem Rechner läuft, der gleichzeitig als Router fungiert, so kann direkt die externe und die interne Netzwerkschnittstelle angegeben werden. Also zum Beispiel:
# The interface names of INBOUND and OUTBOUND interface. if_inbound = eth0 if_outbound = ppp0
Sollte siproxd auf einem Rechner hinter einem Router laufen, so definiert man die Netzwerkschnittstelle als Ein- und Ausgang und trägt zusätzlich die externe IP bzw. die Adresse eines DynDNS Dienstes ein.
# The interface names of INBOUND and OUTBOUND interface. if_inbound = eth0 if_outbound = eth0 host_outbound = rechnername.dnydns.org ## bzw. feste externe IP
Im nächsten Schritt kann festgelegt werden, wer mit dem siproxd Kontakt aufnehmen darf. Eigentlich reicht es hier, die Option hosts_allow_reg
zu setzen. Hier sollten die internen IPs erlaubt werden. Also zum Beispiel:
# Access control. hosts_allow_reg = 192.168.0.1/24 #hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16 #hosts_deny_sip = 10.0.0.0/8,11.0.0.0/8
Für den ersten Start ist es praktisch siproxd so einzurichten, dass er nicht im Hintergrund startet. So kann man leicht erkennen, dass der Dienst sein Werk korrekt verrichtet und die Clients sich auch anmelden. Daher trägt man
# Shall we daemonize? daemonize = 0
ein. Zusätzlich kann man auch festlegen, unter welchen Benutzerrechten der Dienst laufen soll. Die Voreinstellung nobody
ist jedoch schon sinnvoll gewählt und kann so belassen werden.
# Secure Enviroment settings: user = nobody
Um die erstellte Konfiguration zu testen, ist es ratsam, siproxd von Hand mit dem Befehl
siproxd -d -1 2
zu starten. Anschließend konfiguriert (s.u.) und startet man einen SIP-Client, der den siproxd anspricht. Erscheinen Meldungen wie
---BUFFER DUMP follows--- 52 45 47 49 53 54 45 52 20 73 69 70 3a 73 69 70 REGISTER sip:sip 67 61 74 65 2e 64 65 20 53 49 50 2f 32 2e 30 0d gate.de SIP/2.0. 0a 43 53 65 71 3a 20 32 20 52 45 47 49 53 54 45 .CSeq: 2 REGISTE 52 0d 0a 56 69 61 3a 20 53 49 50 2f 32 2e 30 2f R..Via: SIP/2.0/ ...
so ist der Server korrekt konfiguriert. Man sollte jetzt auch schon Gespräche über den SIP-Proxy-Dienst führen können.
Nach diesem ersten Test sollte man siproxd wieder so konfigurieren, dass es im Hintergrund startet. Dazu in der /etc/siproxd.conf wieder
daemonize = 1
eintragen. Danach kann man den Befehl
siproxd
beispielsweise in die rc.local eintragen, so dass der Proxy-Server automatisch startet.
SIP-Client-Programmen oder SIP-Hardware muss gesagt werden, den SIP-Proxy-Dienst zu nutzen. Am Beispiel Ekiga wird erklärt, wie dies einzurichten ist. Andere Anwendungen müssen ähnlich konfiguriert werden.
Nach dem Start von Ekiga geht man in die Einstellungen unter
"Bearbeiten -> Einstellungen"
und deaktiviert in den "Netzwerk-Einstellungen" NAT und den STUN-Server. Anschließend trägt man die interne IP des siproxd-Rechners in den "SIP-Einstellungen" als "Ausgangs-Proxy" ein.
Diese Revision wurde am 24. Mai 2015 20:17 von ubot erstellt.