1.77. M0n0wall & SIP
M0n0wall ist eine umfangreiche und einfach zu konfigurierende Firewall-Distribution von FreeBSD.
Das Protokoll VoIP verträgt sich sehr schlecht mit NAT-Firewalls, welche jedoch stark verbreitet sind und z.B. auch eine der Hauptfunktionen von M0n0wall darstellt.
In den folgenden Varianten wird gezeigt, wie man ein VoIP-Device hinter einer NAT-Firewall wie M0n0wall zum Laufen bekommen kann.
1.77.1. Variante: Port-Forward
Mit folgenden statischen Portforwards auf direkt auf die Fritzbox ist VoIP zum Laufen zu bekommen. Die Konfiguration ist getestet mit GMX (bzw. United-Internet) und iptel.org .
1.77.1.1. NAT-Regeln
Entsprechend den folgenden NAT-Regeln muss auch zusätzlich eine Firewall-Regel angelegt werden, was bei m0n0wall aber automatisch gemacht werden kann.
fritzbox = IP der Fritzbox
If |
Proto |
Ext.port range |
NAT IP |
Int.port range |
---|---|---|---|---|
WAN |
UDP |
3478 |
fritzbox |
3478 |
WAN |
UDP |
3479 |
fritzbox |
3479 |
WAN |
UDP |
5060 |
fritzbox |
5060 |
WAN |
UDP |
5062 |
fritzbox |
5062 |
WAN |
UDP |
5070-5079 |
fritzbox |
5070-5079 |
WAN |
UDP |
7077-7081 |
fritzbox |
7077-7081 |
WAN |
UDP |
30000-30019 |
fritzbox |
30000-30019 |
1.77.1.2. Nachteile
Der deutliche Nachteil hierbei ist, dass die Registrierung beim Provider-Registrar z.B. nach der 24-Stunden DSL-Trennung nicht zuverlässig auf die neue IP-Adresse korrigiert wird. Es ist nicht unüblich, dass man für Stunden nicht erreichbar ist. Außerdem ist diese Konfiguration aufwändig und eben sehr statisch, so dass dies nicht praktisch ist, wenn man mehrere VoIP-Telefone oder Softphonse wie Twinkle, KPhone oder Linphone im Einsatz hat.
1.77.2. Variante: SIP-Proxy
Seit der Version 1.3b7 enthält M0n0wall einen funktionierenden SIP-proxy (siproxd), welcher die Problematik deutlich vereinfachen kann.
1.77.2.1. aktivieren des SIP-Proxys
In dem Webinterface wird dieser unter dem Menü Services–>**SIP Proxy** aktiviert. Die folgenden Standardeinstellungen sollten für die meisten Fälle korrekt sein:
Enable SIP Proxy |
[x] |
---|---|
Interface |
LAN |
SID UDP port |
5060 |
RTP UDP port range |
7010 bis 7019 |
1.77.2.2. Firewall-Regeln anlegen
Damit der SIP-Proxy von außen erreichbar ist, müssen für das WAN-Interface zwei Regeln angelegt werden. Dies geschieht anders als in dem Hilfetext beschrieben nicht automatisch:
Proto |
Source |
Port |
Destination |
Port |
Description |
---|---|---|---|---|---|
UDP |
* |
* |
WAN address |
5060 |
SIProxd UDP-Port |
UDP |
* |
* |
WAN address |
7010 - 7019 |
RTP UDP port Range |
NAT-Regeln sind nicht weiter notwendig, da der siproxd dies auf Applikationsebene als Gateway regelt.
1.77.2.3. Telefon konfigurieren
Benutzername |
Anmeldename/Telefonummer des VoIP-Providers |
---|---|
Passwort |
dito |
Domain |
die Domäne des VoIP-Providers (z.B. gmx.de oder iptel.org) |
Registrar |
ip oder hostname der m0n0wall, nicht registrar des Providers |
Outbound-Proxy |
ip oder hostname der m0n0wall |
NAT-Durchtunnelung oder STUN bzw. STUN-Server abschalten.
1.77.2.4. Einschränkungen
Diese Konfiguration funktioniert mit Softphones wie Twinkle - jedoch bisher nicht mit einer Fritzbox, da man dort die Domain und den Registrar nicht getrennt angeben kann. FIXME
Zuletzt geändert: 2023-07-22