Возникли проблемы с правильной маршрутизацией нескольких общедоступных IP-адресов.
Я хочу настроить следующую сеть:
public_ip1 (назначенный WAN IF) -> pfSense -> server 1,2,3 - 192.168.0.11, .12, .13
public_ip2 (назначенный IF WAN2) -> pfSense -> сервер 4 - 192.168.0.22
Я настраиваю второй интерфейс для public_ip2, я также добавил правило брандмауэра и NAT, согласно которому все, что находится на public_ip2, разрешено / перенаправлено на 192.168.0.22. Я добавил правило для исходящего трафика, согласно которому все из 192.168.0.22 отправляется в WAN2.
С сервера 192.168.0.22, когда я пытаюсь использовать что-то вроде curl http://ipecho.net/plain он возвращает public_ip1. Шлюз для моего public_ip2 установлен правильно в настройке интерфейса.
Я могу подключиться по ssh к серверу .22 на public_ip2, и все в порядке.
Что мне не хватает?
Итак, оказывается, порядок правил брандмауэра имеет значение. Я, конечно, знал об этом, но иногда посреди битвы это трудно увидеть.
Вот установка, которая отлично работает:
Физическая установка выглядит так:
Кабельный модем -> Переключатель DMZ -> Интерфейс LAN1 -> Интерфейс LAN2
Настройте интерфейсы LAN1 и LAN2 на pfSense.
208.xxx.xxx.xxx Gateway 208.xxx.xxx.1
66.xxx.xxx.xxx Gateway 66.xxx.xxx.1
Система-> Маршрутизация - должно отображаться два шлюза. Система-> Маршруты - ничего. Система-> Группы - ничего. Брандмауэр-> Виртуальный IP-адрес - ничего. Статус-> Шлюзы - оба должны работать.
Брандмауэр-> NAT - должно быть верхним правилом:
WAN2 TCP/UDP * * WAN2 address 1-65535 192.168.0.22
Firwall-> NAT - outbound - выберите ручной NAT для исходящего трафика
WAN2 192.168.0.22/32 * * * WAN2 Address
Firewall-> Rules LAN - должно быть первое правило
LAN 192.168.0.22 * * * WAN2GW
Firewall-> Rules WAN2– должно быть первым правилом
WAN2 * * 192.168.0.22 1-65535 *
Теперь, если я нахожусь на сервере 192.168.0.22 и проверяю свой IP-адрес, он показывает правильный адрес 208.xxx.xxx.xxx, что означает, что он использует шлюз LAN2. Если я нахожусь на другом сервере, он показывает адрес 66.xxx.xxx.xxx. У меня также есть полный доступ к серверу 192.168.0.22 по адресу 208.xxx.xxx.xxx. Обратите внимание, что весь трафик перенаправляется на сервер 192.168.0.22, на котором работает собственный брандмауэр iptables.
pfSense - это круто!
NAT определяет только трансляцию, но не направление трафика. Если вы хотите, чтобы этот NAT применялся, вам потребуется политический маршрут, который обслуживает вторую глобальную сеть. Это подробно задокументировано в книге 2.1 и записи о тусовке с несколькими глобальными сетями, сделанными ранее в этом году, обе из которых доступны для золотых подписчиков @ portal.pfsense.org.