ubuntuusers.de

siproxd

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

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.

Hinweis:

sipproxyd nutzt nur was, wenn der Proxy auf dem Gateway ins Internet installiert ist!

Installation

Sipproxy ist in den offiziellen Paketquellen enthalten. Es muss das folgende Paket installiert [1] werden:

  • siproxd (universe)

Paketliste zum Kopieren:

sudo apt-get install siproxd 

Oder mit apturl installieren, Link: apt://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.

Benutzung

Um die Konfiguration von siproxd an die Gegebenheiten anzupassen, muss nun die /etc/siproxd.conf editiert werden [4] (Root-Rechte erforderlich).

Netzwerkkonfiguration

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

Zugangsrechte

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

Als Hintergrundprozess starten

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

Erster Test

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.

Automatischer Start

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.

Konfiguration der Clients

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 16. März 2018 19:54 von BillMaier erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: voip, Internet, Server, Kommunikation