IPTables от источника NAT (SNAT) к /etc/ufw/before.rules

Мне необходимо передать трафик NAT (SNAT) между двумя интерфейсами в сервер Ubuntu 18.04. Я пытался использовать файл '/etc/ufw/before.rules' для реализации моих различных потребностей NAT, и пока все хорошо ... до сих пор.

Следующая команда iptables, похоже, делает именно то, что мне нужно это в:

iptables -j SNAT -t nat -I POSTROUTING 1 -o eth0 -d 192.168.1.0/24 -s 172.18.0.0/16 --to-source 10.136.0.2

Может ли это правило быть легко переведены в конфигурацию в файле /etc/ufw/before.rules? Страницы руководства для конфигов UFW NAT кажутся немного недостаточными по сравнению с более распространенными правилами фильтрации.

Предпосылки: Я использую NAT для отправки некоторого трафика докеров / контейнеров для отправки через туннель политики IPSec с помощью StrongSwan. Без ранее упомянутого правила iptables я могу получить трафик для маршрутизации В контейнер из VPN, но трафик, полученный ИЗ контейнера, не работает.

eth0 - это мой «общедоступный» IP-адрес интерфейса 1.2.3.4, а eth1 - мой «частный» IP-интерфейс 10.136.0.2

Вот конфигурация * nat, которая у меня уже есть в файле '/etc/ufw/before.rules', чтобы получить поток трафика (за вычетом трафика из докеров):

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24  -d 10.136.0.0/16 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24  -d 172.18.0.0/16 -j MASQUERADE
COMMIT
#
0
задан 19 August 2020 в 03:40
1 ответ

Если вы уже добавили это правило iptables вручную, вы можете найти его правильный формат и позицию для добавления в before.rules, выполнив:

# sudo iptables -t nat -S
...
-A POSTROUTING -s 172.18.0.0/16 -d 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.136.0.2
...
0
ответ дан 19 August 2020 в 01:04

Теги

Похожие вопросы