Настройка сетевого экрана pfSense для работы с 3CX

Введение

В этом руководстве описывается настройка сетевого экрана pfSense v2.5.2+ для работы с системой 3CX. Руководство предназначено для администраторов АТС и предполагает локальную сеть с одним WAN IP (или основным WAN IP, используемым 3CX). В руководстве, для примера, сервер 3CX имеет внутренний IP-адрес 192.168.3.155, а pfSense - 192.168.3.1. Также на скриншотах для раздела Split Brain публичный IP-адрес 1.2.3.4 и FQDN "service.tigunia.com".

Шаг 1: Настройка публикации портов (NAT)

Настройка сетевого экрана pfSense для работы с 3CX Настройка публикации портов (NAT)

Зайдите в веб-интерфейс управления pfSense:

  1. Перейдите в раздел “Firewall” > “NAT”.
  2. Нажмите кнопку Add” справа, чтобы добавить новое правило.
  1. Создайте правила NAT для портов, которые должны быть опубликованы. Список портов.
  1. “Protocol”: Установите тип протокола в зависимости от публикуемого порта (портов).
  2. “Destination port range”: Выберите порт (диапазон портов) для правила NAT. Если порт не предопределен заранее, как показано для SIP, введите номера пользовательских портов.
  3. “Redirect target IP”: Введите внутренний IP-адрес сервера 3CX
  4. “Redirect target port”: Введите локальный порт, обычно совпадающий с внешним портом.
  5. “Description”: Дайте метку правилу для легкой идентификации.
  6. “NAT reflection”: Используйте значение по умолчанию.
  7. “Filter rule association”: Добавьте связанное правило фильтра.
  8. Нажмите кнопки "Save" и "Apply" для активации конфигурации. Повторите эти шаги для каждой записи NAT.
  1. Повторите шаг 3 для каждого публикуемого порта.
  2. После добавления всех правил публикации таблица должна выглядеть примерно так, как показано ниже.

Настройка сетевого экрана pfSense для работы с 3CX После добавления всех правил публикации таблица должна выглядеть примерно так, как показано ниже.

Шаг 2: Сохранение номеров портов (Full Cone NAT)

Настройка сетевого экрана pfSense для работы с 3CX Сохранение номеров портов (Full Cone NAT)

  1. Перейдите к “Firewall” > “NAT” > “Outbound”.
  2. Измените значение с automatic на “Hybrid” и нажмите “Save”.

Настройка сетевого экрана pfSense для работы с 3CX Создайте "Mapping Rule", как в примере:
<b>“Source”</b> для локального IP сервера 3CX, например, 192.168.3.155.
<b>“Port or Range”</b> - включите <b>“Static Port”</b>.

  1. Создайте "Mapping Rule", как в примере выше:
  1. “Source” для локального IP сервера 3CX, например, 192.168.3.155.
  2. “Port or Range” - включите “Static Port”.
  1. Для успешной работы правила переместите его в первую строку таблицы "Mappings NAT table", как показано на первом скриншоте в этом разделе.
  2. Убедитесь, что применили настройки на страницах "Port Forward" и "Outbound".

Шаг 3: Управление FQDN

На следующем этапе следует выбрать способ настройки FQDN 3CX в вашей сети. Существует два варианта - Split Brain DNS или Hairpin NAT. Преимущество Split Brain DNS в том, что трафик 3CX остается внутри сети и не проходит через WAN-интерфейс. Однако настройка этой конфигурации более трудоемка. Hairpin NAT проще в настройке, но создает WAN-трафик, что в некоторых ситуациях приводит к ухудшению качества связи. Мы рекомендуем использовать Split Brain DNS, если это возможно.

Вариант 1: Настройка Split Brain DNS

  1. Перейдите в “Services” > “DNS Resolver”
    Настройка сетевого экрана pfSense для работы с 3CX Настройка Split Brain DNS
  2. На вкладке General Settings включите опцию DNS Resolver
    Настройка сетевого экрана pfSense для работы с 3CX На вкладке General Settings включите опцию DNS Resolver
  3. Убедитесь, что в разделе “Network Interfaces” включено “All” (или выбранный интерфейс, на котором должен работать DNS Resolver, - обычно LAN)
    Настройка сетевого экрана pfSense для работы с 3CX Убедитесь, что в разделе <b>“Network Interfaces”</b> включено <b>“All”</b> (или выбранный интерфейс, на котором должен работать DNS Resolver, - обычно LAN)
  4. Убедитесь, что включена опция DNS Query Forwarding
    Настройка сетевого экрана pfSense для работы с 3CX Убедитесь, что включена опция DNS Query Forwarding
  5. Внизу страницы в разделе Host Overrides нажмите “Add”
    Настройка сетевого экрана pfSense для работы с 3CX Внизу страницы в разделе Host Overrides нажмите <b>“Add”</b>
  6. Добавьте имя хоста, домен, IP-адрес и нажмите "Save". Хост - первая часть FQDN 3CX, а домен - последняя часть FQDN 3CX. IP-адрес - локальный IP-адрес 3CX.
    Настройка сетевого экрана pfSense для работы с 3CX Добавьте имя хоста, домен, IP-адрес и нажмите "Save". Хост - первая часть FQDN 3CX, а домен - последняя часть FQDN 3CX. IP-адрес - локальный IP-адрес 3CX.
  7. Убедитесь, что устройства в сети используют pfSense для DNS-резолвинга (или форвардер, выполняющий переадресацию на pfSense неизвестных запросов). Эти настройки обычно делаются в вашем DHCP-сервере и DNS-серверах, с которыми он работает.

Вариант 2: Настройка Hairpin NAT

  1. Перейдите в “System” > “Advanced”.
  2. Измените NAT Reflection mode for port forwards” на “Pure NAT”, включите опции Enable NAT Reflection for 1:1 NAT и Enable automatic outbound NAT for Reflection”.

Настройка сетевого экрана pfSense для работы с 3CX Настройка Hairpin NAT

Шаг 4: Проверка корректности настройки

Войдите в интерфейс управления 3CX, перейдите в раздел "Dashboard" > "Firewall" и запустите программу Firewall Checker, чтобы убедиться, что ваш сетевой экран корректно настроен для работы с 3CX. Подробная информация о Firewall Checker доступна здесь.

Для проверки корректности настройки Split Brain DNS используйте nslookup (внутри сети / за сетевым экраном pfSense). Наберите  “nslookup <fqdn> <dns-server>”, где - это FQDN вашей 3CX, а - IP-адрес DNS-сервера, к которому обращаетесь. При запросе к внешнему DNS-серверу должен прийти ответ с вашим WAN IP. При запросе к внутреннему DNS-серверу pfSense - локальный IP-адрес сервера 3CX.

  1. В приведенном ниже примере показана проверка резолвинга внешнего IP-адреса FQDN "service.tigunia.com" на публичных DNS-серверах Google (8.8.8.8):
    Настройка сетевого экрана pfSense для работы с 3CX В приведенном ниже примере показана проверка резолвинга внешнего IP-адреса FQDN "service.tigunia.com" на публичных DNS-серверах Google (8.8.8.8):
  2. В приведенном ниже примере показана проверка резолвинга внутреннего IP-адреса FQDN "service.tigunia.com" на локальном DNS pfSense (192.168.3.1):
    Настройка сетевого экрана pfSense для работы с 3CX В приведенном ниже примере показана проверка резолвинга внутреннего IP-адреса FQDN "service.tigunia.com" на локальном DNS pfSense (192.168.3.1):

Чтобы проверить настройку NAT Hairpin, попробуйте обратиться к FQDN 3CX с компьютера в локальной сети. Если веб-клиент загружается, значит NAT Hairpin работает.

В некоторых случаях для того, чтобы изменения вступили в силу, необходимо перезагрузить сетевой экран.

Если удаленные телефоны или VoIP-провайдер в основном работают, но иногда отключаются, попробуйте изменить этот параметр:

  1. Перейдите в “System” > “Advanced”.
  2. Установите “Firewall Optimization Options” в “Conservative”.
  3. Нажмите “Save”.

Мы выражаем благодарность партнеру 3CX Titanium, компании Managed IT & Document Technologies of Arizona и Брентту Грэбу за разделы NAT/Port Forwarding и Port Preservation этого руководства. Мы также выражаем благодарность партнеру 3CX Gold Partner, компании Tigunia, и Мартину Тверски за разделы Split Brain DNS и Hairpin NAT этого руководства.

Дополнительная информация

Версия документа

Последнее обновление документа 8 марта 2023

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