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