Konfigurieren einer pfSense-Firewall für die 3CX Telefonanlage

Einführung

In diesem Dokument erfahren Sie, wie Sie eine pfSense-Firewall Version 2.5.2 und höher zur gemeinsamen Nutzung mit der 3CX Telefonanlage konfigurieren. Die Anleitung gilt für den Einsatz der 3CX Anlage in Netzwerken mit nur einer WAN-IP-Adresse oder wenn die primäre WAN-IP-Adresse für die 3CX Lösung verwendet wird. Nachfolgend soll beispielhaft 192.168.3.155 als interne IP-Adresse des 3CX Servers gelten, während die pfSense-Firewall auf 192.168.3.1 lauscht. Als öffentliche IP-Adresse wird 1.2.3.4 gewählt, der FQDN lautet 'service.tigunia.com' (siehe Screenshots zum Split Brain DNS).

Schritt 1: Konfigurieren des Port Forwarding (NAT)

Bearbeitung des NAT-Eintrags in der pfSense-Firewall

Melden Sie sich an der Web-Verwaltungskonsole von pfSense an, und führen Sie die folgenden Schritte durch:

  1. Navigieren Sie zu 'Firewall' > 'NAT'.
  2. Klicken Sie auf die Schaltfläche 'Add' rechts auf dem Bildschirm, um neue NAT-Regeln zur Port-Weiterleitung hinzuzufügen.
  3. Erstellen Sie NAT-Regeln für alle von der 3CX Telefonanlage benötigten und somit weiterzuleitenden Ports, die in dieser Anleitung zu finden sind.
  1. Protocol – Wählen Sie den Protokolltyp abhängig von den weiterzuleitenden Ports aus.
  2. Destination port range – Wählen Sie den Port/Port-Bereich für den NAT-Eintrag aus. Ist für SIP kein Port vorgegeben, geben Sie den/die für Ihr System gültigen Port(s) an.
  3. Redirect target IP – Geben Sie die interne IP-Adresse der 3CX Telefonanlage an.
  4. Redirect target port – Geben Sie den internen Port an, der für gewöhnlich mit dem externen Port übereinstimmt.
  5. Description – Geben Sie der NAT-Regel einen leicht verständlichen Namen.
  6. NAT reflection – Behalten Sie den vorgegebenen Standardwert bei.
  7. Filter rule association – Wählen Sie die Option 'Add associated filter rule' aus, um die zugehörige Filterregel hinzuzufügen.
  8. Klicken Sie auf 'Save' > 'Apply', um die Einstellungen zu speichern und zu aktivieren. Wiederholen Sie diese Schritte für jeden erforderlichen NAT-Eintrag.
  1. Wiederholen Sie Schritt 3 für jeden weitergeleiteten Port.
  2. Wenn Sie alle Regeln zur Port-Weiterleitung hinzugefügt haben, sind diese wie in folgendem Beispiel gezeigt unter 'Port Forward' aufgeführt..

In der pfSense-Firewall weitergeleitete Ports

Schritt 2: Zuweisen eines statischen Ports (Full Cone NAT)

Full Cone NAT in der pfSense-Firewall

  1. Navigieren Sie zu 'Firewall' > 'NAT' > 'Outbound'.
  2. Ändern Sie den 'Mode' von 'Automatic' in 'Hybrid', und klicken Sie auf 'Save'..

Bearbeitung der erweiterten Einstellungen für ausgehendes NAT in der pfSense-Firewall

  1. Erstellen Sie eine neue Zuweisungsregel wie im obigen Beispiel gezeigt, um folgende Einstellungen  festzulegen:
  1. 'Source' – die LAN-IP-Adresse des 3CX Hosts, z. B. 192.168.3.155.
  2. 'Port or Range' – aktivieren Sie 'Static Port'..
  1. Positionieren Sie die Regel an erster Stelle der Tabelle 'Mappings', damit eine korrekte Funktion sichergestellt ist (siehe ersten Screenshot in diesem Abschnitt).
  2. Stellen Sie sicher, dass Einstellungen sowohl unter dem Reiter 'Port Forward' als auch unter dem Reiter 'Outbound' übernommen wurden.

Schritt 3: Verwalten des FQDN

Bei diesem Schritt müssen Sie entscheiden, wie der 3CX FQDN in Ihrem Netzwerk verwaltet werden soll: per Split Brain DNS oder Hairpin NAT. Split Brain DNS hat den Vorteil, dass 3CX-spezifischer Traffic in Ihrem Netzwerk verbleibt und nicht an die WAN-Schnittstelle gesendet wird. Die Konfiguration ist jedoch aufwendiger. Beim Hairpin NAT gestaltet sie sich einfacher, jedoch entsteht ein höherer WAN-Traffic, der in Einzelfällen die Sprachqualität beeinträchtigen kann. Wir empfehlen Ihnen daher die Nutzung von Split Brain DNS, sofern möglich.

Option 1: Konfigurieren von Split Brain DNS

  1. Navigieren Sie zu 'Services' > 'DNS Resolver'.
    DNS Resolver in der pfSense-Firewall
  2. Stellen Sie sicher, dass unter dem Reiter 'General Settings' die Option 'DNS Resolver' ausgewählt ist.d
    Allgemeine Optionen des DNS Resolver in der pfSense-Firewall
  3. Stellen Sie sicher, dass unter 'Network Interfaces' (oder anderen Schnittstellen, auf denen der DNS Resolver lauschen soll, für gewöhnlich das LAN) die Option 'All' ausgewählt ist.
    Netzwerk-Schnittstellen in der pfSense-Firewall
  4. Stellen Sie sicher, dass die Option 'DNS Query Forwarding' ausgewählt ist.
    Weiterleitung von DNS-Abfagen in der o´pfSense-Firewall
  5. Klicken Sie unten auf der Seite im Bereich 'Host Overrides' auf die Schaltfläche 'Add'.'
    Host-Overrides in der pfSense-Firewall
  6. Fügen Sie Host, Domäne und IP-Adresse wie erforderlich hinzu, und klicken Sie zum Speichern auf 'Save'.
    Hinweis: Der Host ist der erste Teil Ihres 3CX FQDN, während die Domäne im zweiten Teil zu finden ist, gefolgt von der TLD (siehe folgenden Screenshot). Als IP-Adresse ist die interne IP-Adresse der 3CX Telefonanlage anzugeben.
    Angabe von Host, Domäne und IP-Adresse für den Host-Override in der pfSense-Firewall
  7. Stellen Sie sicher, dass Ihre Geräte pfSense zur DNS-Auflösung verwenden (oder dass ein Gerät genutzt wird, das bei unbekannten Abfragen für eine Weiterleitung an pfSense sorgt). Für diese Konfiguration sind für gewöhnlich Ihr DHCP-Server und die beteiligten DNS-Server zuständig.

Option 2: Konfigurieren des Hairpin NAT

  1. Navigieren Sie zu 'System' > 'Advanced'.
  2. Ändern Sie die Einstellung von 'NAT Reflection mode for port forwards' in 'Pure NAT', und wählen Sie sowohl 'Enable NAT Reflection for 1:1 NAT' aus als auch 'Enable automatic outbound NAT for Reflection'..
    Konfiguration des Hairpin NAT in der pfSense-Firewall

Schritt 4: Validieren der Konfiguration

Überprüfen Sie die NAT/-Port-Weiterleitungseinstellungen. Melden Sie sich hierfür an der 3CX Verwaltungskonsole an, und klicken Sie im Dashboard auf 'Firewall', um den Firewall-Checker zu starten und somit die für die 3CX Telefonanlage erforderliche Firewall-Konfiguration zu testen. Weiterführende Informationen zum Firewall-Checker finden Sie hier.

Zum Überprüfen einer Split Brain DNS-Konfiguration können Sie das Befehlszeilen-Tool nslookup verwenden (innerhalb Ihres Netzwerks/hinter Ihrer pfSense-Firewall), um die korrekte DNS-Auflösung zu überprüfen. Der Befehl hierfür lautet: nslookup <fqdn> <dns-server>

Hinweis: Geben Sie für <fqdn> Ihren 3CX FQDN an und für <dns-server> die IP-Adresse des DNS-Servers, den Sie abfragen möchten. Im Falle eines externen DNS-Servers sollte Ihre WAN-IP-Adresse zurückgegeben werden. Wird Ihr interner pfSense DNS Resolver abgefragt, sollte hingegen die interne IP-Adresse ihrer 3CX Telefonanlage angezeigt werden.

  1. Der folgende Screenshot zeigt die Überprüfung der Auflösung der externen IP-Adresse des FQDN 'service.tigunia.com' per öffentlichen DNS-Server von Google (8.8.8.8):
    Auflösung der externen IP-Adresse des FQDN per öffentlichen DNS-Server von Google
  2. Der folgende Screenshot zeigt die Überprüfung der Auflösung der internen IP-Adresse des FQDN 'service.tigunia.com' per internen pfSense DNS Resolver (192.168.3.1):):
    Auflösung der internen IP-Adresse des FQDN per internen pdSense DNS Resolver

Wenn Sie über einen Computer innerhalb Ihres Netzwerks auf den 3CX FQDN zugreifen und den 3CX Webclient erfolgreich starten können, war die Hairpin NAT-Konfiguration erfolgreich.

In Einzelfällen müssen Sie einen Neustart der Firewall durchführen, damit die Änderungen übernommen werden.

Sollten bei extern eingesetzten IP-Telefonen oder bei Nutzung der Dienste eines VoIP-Providers vereinzelt Verbindungsabbrüche auftreten, versuchen Sie mit Hilfe der folgenden Schritte das Problem zu lösen:.

  1. Klicken Sie auf 'System' > 'Advanced'.
  2. Wählen Sie unter 'Firewall Optimization Options' die Option 'Conservative' aus.
  3. Klicken Sie auf 'Save'..

Ein besonderer Dank gilt dem 3CX Titanium Partner 'Managed IT & Document Technologies of Arizona' und Brentt Graeb für die Mitarbeit am Kapitel zur NAT-/Port-Weiterleitung sowie zum Zuweisen eines statischen Ports sowie dem 3CX Gold Partner 'Tigunia' und Martin Twerski für die Mitarbeit am Kapitel zum Split Brain DNS sowie zum Hairpin NAT.

Weiterführende Informationen

Letztes Update

Dieses Dokument wurde zuletzt am 19. September 2023 aktualisiert.

https://www.3cx.de/docs/pfsense-firewall/