AntiZapret и pfSense
Большая статья по настройке VPN соединения Antizapret и pfSense. Я постараюсь рассказать максимально подробно, это будет не пошаговый туториал, а осмысленные действия с проверками на каждом ключевом шаге.
Поехали...
Что имеем:
настроенный удаленный сервер с установленным AntiZapret, как это сделать читайте тут: https://itscience.pro/all/antizapret-na-oracle-cloud-i-padavan/
pfSence сервер, с подключенными двумя провайдерами на уровне балансировки.
Для начала добавим сертификаты, их можно посмотреть в файле конфигурации client-tcp.ovpn
открываем «System -> Certificate Manager -> CAs»

во кладке «CAs» жмем «+ add»
Descriptive name — указываем как нам нравится, например «Antizapret-CA»
Method — Import an existing Certificate Authority
Certificate data — вставляем значение ... из файла конфигурации
сохраняем

во кладке «Certificates» жмем добавить
Descriptive name — так же указываем как нам нравится, например «Antizapret-Certificate»
Method — Import an existing Certificate Authority
Certificate data — вставляем значение ... из файла конфигурации
Private key data — вставляем значение ... из файла конфигурации
сохраняем
теперь добавим OpenVPN клиент
открываем «VPN -> OpenVPN -> Clients»
жмем «+ add»
Далее заполняем как на картинках


обязательно указываем свои сертификаты, я отметил те места, где нужно менять настройки
Если что-то непонятно, есть много статей, как настроить OpenVPN клиент в pfsense.
В Custom options пропишите следующее:
remote-cert-tls server;
resolv-retry infinite;
persist-tun;
persist-key;
nice 0;
verb 0;
mute 10;
сохраняем
теперь добавляем интерфейс для нашего канала, переходим «Interfaces -> Assignments»

выбираем добавить интерфейс ovpnc1 (), сохраняем
потом жмем на нем и в поле «Description» указываем имя, какое хотите, а так же а так же ставим галочку «Enable»
не забывайте нажимать кнопку «Apply Changes», после сохранения, когда это требуется
теперь идем «System -> Routing -> Gateways» и добавляем шлюз, как на картинке

поле Monitor IP заполним потом, когда узнаем ip адрес шлюза OpenVPN сервера.
После всех манипуляций у нас должно подняться соединение, смотрим «Status -> Interfaces»

В моём случае Gateway IPv4 192.168.104.1, этот адрес прописываем в поле Monitor IP, см. пункт выше.
Если всё получилось как у меня — отлично... переходим к заворачиванию трафика в тоннель.
для начала, зайдём настройки «Firewall -> Rules» и разрешим весь трафик для гейта и тоннеля

затем в «Firewall -> Rules -> LAN» создадим правило, разрешающее трафик между локальными адресами и VPN

сделайте правило как можно выше, это важно
теперь проверим, работают ли наши DNS запросы
выполните команду
nslookup 4pda.ru 192.168.104.1
где укажите ip адрес вашего openvpn шлюза
должны получить такой результат

Если будут идти ошибки timeout — смотрите правила Firewall. Если возвращаются ip адреса не из приватной сети, значит у вас неверно работает VPN AntiZapret.
Обратите внимание, что ресолвятся ip адреса из 10 подсети. Это подсказка к следующему шагу, ведь нам надо в тоннель завернуть не весь трафик, а только ту часть, которая пойдёт к этой приватной 10 подсети. Для этого создаем еще одно правило там же «Firewall -> Rules -> LAN» (по уровню выше предыдущего).
определяем только для удаленной сети 10.0.0.0/8

и самое важное! в Advanced Options указываем Gateway наш шлюз OpenVPN

и последнее, настроим основным DNS наш шлюз из OpenVPN
переходим «Services -> DHCP Server -> LAN» и в настройках DNS прописываем наш шлюз OpenVPN

теперь всё...
на клиентах обновляем сетевые настройки и наслаждаемся интернетом без ограничений!