Konfiguracja zapory pfSense z 3CX

Wprowadzenie

Ten przewodnik opisuje konfigurację pfSense w wersji 2.5.2+ do współpracy z 3CX. Jest przeznaczony dla administratorów PBX działających w sieciach z pojedynczym adresem WAN lub używających głównego adresu WAN dla 3CX. W przykładzie serwer 3CX ma adres wewnętrzny 192.168.3.155, a pfSense nasłuchuje na 192.168.3.1. W zrzutach ekranu dotyczących Split Brain DNS użyto publicznego IP 1.2.3.4 oraz FQDN „service.tigunia.com”.

Krok 1: Konfiguracja przekierowania portów (NAT)

Edycja wpisu NAT w zaporze sieciowej pfSense

Zaloguj się do internetowej konsoli zarządzania pfSense i:

  1. Przejdź do „Firewall” (Zapora) > „NAT”.
  2. Użyj przycisku „Add” (Dodaj) po prawej stronie, aby dodać nową regułę.
  1. Utwórz reguły NAT dla wszystkich wymaganych portów, które należy przekierować, na podstawie tej listy.
  1. Protocol” (Protokół): Ustaw typ protokołu w zależności od portu/portów, które przekierowujesz.
  2. Destination port range” (Zakres portów docelowych): Wybierz port lub zakres portów dla wpisu NAT. Jeśli port nie jest zdefiniowany z góry (jak w przypadku SIP), wprowadź niestandardowy numer portu.
  3. Redirect target IP” (Adres IP docelowy przekierowania): Wprowadź wewnętrzny adres IP systemu telefonicznego 3CX.
  4. Redirect target port” (Port docelowy przekierowania): Wprowadź wewnętrzny port, zazwyczaj taki sam jak port zewnętrzny.
  5. Description” (Opis): Oznacz regułę dla łatwiejszej identyfikacji.
  6. NAT reflection” (Odbicie NAT): Użyj domyślnych ustawień systemu.
  7. Filter rule association” (Powiązanie z regułą filtrowania): Dodaj powiązaną regułę filtrowania.
  8. Kliknij „Save” (Zapisz), a następnie „Apply” (Zastosuj), aby aktywować konfigurację, i powtórz te kroki dla każdego wymaganego wpisu NAT.
  1. Powtórz krok 3 dla każdego przekierowywanego portu.
  2. Po dodaniu wszystkich reguł przekierowania portów, powinny one wyglądać podobnie do poniższego przykładu.

Przekierowane porty w zaporze sieciowej pfSense

Krok 2: Zachowanie portów (Full Cone NAT)

Full Cone NAT w zaporze sieciowej pfSense

  1. Przejdź do „Firewall” (Zapora) > „NAT” > „Outbound” (Ruch wychodzący).
  2. Zmień tryb z automatycznego na „Hybrid” (Hybrydowy) i kliknij „Save” (Zapisz).

Edycja wpisu Advanced Outbound NAT w zaporze sieciowej pfSense

  1. Następnie utwórz nową „Mapping Rule” (Regułę mapowania) zgodnie z powyższym przykładem, ustawiając:
  1. Source” (Źródło) na adres IP LAN hosta 3CX, np. 192.168.3.155.
  2. Port or Range” (Port lub zakres) – zaznacz opcję „Static Port” (Port statyczny).
  1. Przenieś regułę na pierwszą pozycję w tabeli „Mappings NAT” (Mapowania NAT), aby zapewnić jej działanie, jak pokazano na pierwszym zrzucie ekranu w tej sekcji.
  2. Upewnij się, że zastosowałeś ustawienia zarówno na stronach „Port Forward” (Przekierowanie portów), jak i „Outbound” (Ruch wychodzący).

Krok 3: Zarządzanie FQDN

W kolejnym kroku tego przewodnika należy zdecydować, w jaki sposób chcesz obsługiwać zarządzanie FQDN systemu 3CX w swojej sieci. Istnieją dwie opcje – Split Brain DNS lub Hairpin NAT. Split Brain DNS ma tę zaletę, że ruch sieciowy 3CX pozostaje wewnątrz Twojej sieci i nie jest przesyłany przez interfejs WAN, ale jego konfiguracja jest bardziej złożona. Hairpin NAT jest łatwiejszy do skonfigurowania, ale zużywa więcej ruchu WAN i w niektórych sytuacjach może powodować pogorszenie jakości połączeń. Zalecamy korzystanie ze Split Brain DNS, jeśli to możliwe.

Opcja 1: Konfiguracja Split Brain DNS

  1. Przejdź do „Services” (Usługi) > „DNS Resolver”.
  2. W zakładce „General Settings” (Ustawienia ogólne) upewnij się, że DNS Resolver jest włączony.
    Włączenie DNS Resolver
  3. Upewnij się, że w polu „Network Interfaces” (Interfejsy sieciowe) wybrano „All” (Wszystkie) (lub dowolne konkretne interfejsy, na których DNS Resolver ma nasłuchiwać – zazwyczaj LAN).
    „Network Interfaces” > „All”
  4. Upewnij się, że „DNS Query Forwarding” (Przekazywanie zapytań DNS) jest włączone.
    DNS Query Forwarding
  5. Na dole strony, w sekcji „Host Overrides” (Nadpisania hostów), kliknij „Add” (Dodaj).
    „Host Overrides” > „Add”
  6. Dodaj hosta, domenę oraz adres IP zgodnie z wymaganiami, a następnie kliknij „Save” (Zapisz). Host to pierwsza część Twojego FQDN systemu 3CX, a domena to ostatnia część Twojego FQDN. Adres IP to wewnętrzny adres IP systemu telefonicznego 3CX.
    Opcje nadpisania hosta
  7. Upewnij się, że Twoje urządzenia używają pfSense do rozwiązywania nazw DNS (lub korzystają z urządzenia, które przekazuje zapytania do pfSense w przypadku nieznanych zapytań). Taka konfiguracja jest zazwyczaj realizowana przez serwer DHCP i przekazywane przez niego adresy serwerów DNS.

Opcja 2: Konfiguracja Hairpin NAT

  1. Przejdź do „System” > „Advanced” (Zaawansowane).
  2. Zmień „NAT Reflection mode for port forwards” (Tryb odbicia NAT dla przekierowań portów) na „Pure NAT”, zaznacz pole wyboru „Enable NAT Reflection for 1:1 NAT” (Włącz odbicie NAT dla NAT 1:1) oraz zaznacz pole „Enable automatic outbound NAT for Reflection” (Włącz automatyczny NAT wychodzący dla odbicia NAT).
    Translacja adresów sieciowych

Krok 4: Walidacja konfiguracji

Aby zweryfikować konfigurację NAT / przekierowania portów, przejdź do „Dashboard” (Panel sterowania) > „Firewall” (Zapora sieciowa) w konsoli zarządzania 3CX i uruchom narzędzie Firewall Checker, aby sprawdzić, czy zapora jest poprawnie skonfigurowana do współpracy z 3CX. Więcej informacji o Firewall Checker znajdziesz tutaj.

Aby sprawdzić konfigurację Split Brain DNS, możesz użyć narzędzia nslookup (wewnątrz sieci / za zaporą pfSense), aby sprawdzić sposób rozwiązywania nazw DNS. Wpisz polecenie:
nslookup <fqdn> <dns-server>
gdzie <fqdn> to FQDN systemu 3CX, a <dns-server> to adres IP serwera DNS, z którego chcesz uzyskać odpowiedź. Podczas zapytania do zewnętrznego serwera DNS powinien zostać zwrócony adres IP WAN, natomiast przy zapytaniu do wewnętrznego resolvera DNS pfSense powinien zostać zwrócony wewnętrzny adres IP systemu 3CX.

  1. Poniższy przykład pokazuje sprawdzenie zewnętrznego rozwiązywania adresu IP FQDN „service.tigunia.com” przy użyciu publicznych serwerów DNS Google (8.8.8.8):
    Sprawdzanie zewnętrznego rozwiązywania adresu IP FQDN
  2. Poniższy przykład pokazuje sprawdzenie wewnętrznego rozwiązywania adresu IP FQDN „service.tigunia.com” przy użyciu wewnętrznego resolvera pfSense (192.168.3.1):
    Sprawdzenie wewnętrznego rozwiązywania adresu IP FQDN

Aby zweryfikować konfigurację Hairpin NAT, spróbuj uzyskać dostęp do FQDN systemu 3CX z komputera wewnątrz sieci, wpisując FQDN. Jeżeli uda się załadować Web Client, oznacza to, że Hairpin NAT działa poprawnie.

W niektórych przypadkach może być konieczne ponowne uruchomienie zapory sieciowej, aby zmiany zaczęły obowiązywać.

Jeśli zdalne telefony lub Twój operator VoIP zazwyczaj działają, ale sporadycznie się rozłączają, rozważ zmianę tej opcji:

  1. Przejdź do „System” > „Advanced” (Zaawansowane).
  2. Ustaw „Firewall Optimization Options” (Opcje optymalizacji zapory) na „Conservative” (Zachowawcze).
  3. Kliknij „Save” (Zapisz).

Specjalne podziękowania dla partnera 3CX Titanium – Managed IT & Document Technologies of Arizona oraz Brentta Graeba za sekcje dotyczące NAT/przekierowania portów i zachowania portów. Podziękowania również dla partnera 3CX Gold – Tigunia oraz Martina Twerskiego za sekcje poświęcone Split Brain DNS i Hairpin NAT.

Zobacz również


Ostatnia aktualizacja
Ten dokument został ostatnio zaktualizowany 20 czerwca 2023
https://www.3cx.pl/docs/zapora-pfsense/