Гораздо лучшая версия теперь: Это минимальная конфигурация config.gateway.json, которая позволяет делать NAT для нескольких IP-адресов на моём USG Pro 4. Что нужно знать вначале: eth2 — это также WAN-подключение с DHCP, настроенным через GUI (я использую его как основной исходящий интернет). eth3 имеет 5 статических IP-адресов, при этом 50.50.50.21 назначен интерфейсу через GUI с указанием IP-адреса, маски подсети, маршрутизатора и основного DNS, как обычно (Devices, USG PRO 4, Configuration, WAN 2). Балансировка нагрузки включена, eth3 имеет взвешенный процент нагрузки 1 (Devices, USG PRO 4, Configuration, WAN 2). Правила файервола и группы настроены в GUI так, чтобы разрешить определённый трафик к интернету на IP-адресах, указанных в config.gateway.json. Правила файервола настроены через Settings, Router & Firewall, Firewall, Rules. Группы файервола — через Settings, Router & Firewall, Groups. Я использую правила назначения, указывающие на группы, которым назначены внутренние IP-адреса, проброшенные NAT в config.gateway.json. В группах у меня по две на каждое правило файервола. Одна группа — внутренние IP-адреса, на которые указывает внешний NAT IP. Другая — все порты, которые хочу открыть для конкретного IP-адреса. NAT, описанный в config.gateway.json, пропускает ВСЕ потоки трафика. Как раз правила файервола в GUI и блокируют лишний трафик. Обязательно переименуйте вложенный файл в config.gateway.json перед загрузкой. Я использую SecureFX для загрузки через SCP. Загружаю файл в /usr/lib/unifi/data/sites/default на моём Cloud Key. Затем перезагружаю и USG Pro 4, и модем, который предоставляет статические IP-адреса. USG Pro 4 не показывает состояние provisioning. Он показывает connected, и любые изменения в GUI, например в правилах файервола, применяются мгновенно.
{
"interfaces": {
"ethernet": {
"eth3": {
"address": [
"50.50.50.21/29",
"50.50.50.22/29",
"50.50.50.23/29",
"50.50.50.24/29",
"50.50.50.25/29"
],
"duplex": "auto",
"firewall": {
"in": {
"name": "WAN_IN"
},
"local": {
"name": "WAN_LOCAL"
},
"out": {
"name": "WAN_OUT"
}
},
"speed": "auto"
}
}
},
"service": {
"nat": {
"rule": {
"1001": {
"description": "WEB2",
"destination": {
"address": "50.50.50.22"
},
"inbound-interface": "eth3",
"inside-address": {
"address": "192.168.0.122"
},
"protocol": "all",
"type": "destination"
},
"1010": {
"description": "EMAIL",
"destination": {
"address": "50.50.50.23"
},
"inbound-interface": "eth3",
"inside-address": {
"address": "192.168.0.123"
},
"protocol": "all",
"type": "destination"
},
"1020": {
"description": "WEB",
"destination": {
"address": "50.50.50.24"
},
"inbound-interface": "eth3",
"inside-address": {
"address": "192.168.0.124"
},
"protocol": "all",
"type": "destination"
}
}
}
}
}