Подмена Firewalld CentOS 7

Я пытаюсь сделать эквивалент этого правила iptables в firewalld

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Как я могу сделать это?

7
задан 22 August 2014 в 15:21
3 ответа

Для настройки маскировки внешней зоны, введите:

# firewall-cmd --zone=external --add-masquerade

внешняя : Для использования на внешних сетях с включенной маскировкой специально для маршрутизаторов. Вы не доверяете другим компьютерам в сети, чтобы не навредить вашему компьютеру. Принимаются только выбранные входящие соединения.

internal: Для использования во внутренних сетях. В основном вы доверяете другим компьютерам в сети, чтобы не навредить вашему компьютеру. Принимаются только выбранные входящие соединения.

Для справки:

http://www.certdepot.net/rhel7-get-started-firewalld/

6
ответ дан 2 December 2019 в 23:35

Или вы можете добавить правило к своему: /etc/firewalld/direct.xml файл, например:

firewall-cmd --reload
1
ответ дан 2 December 2019 в 23:35

Вы не используете такие правила напрямую. Вы просто помещаете свой интерфейс (eth0) во внешнюю зону , которая уже предварительно настроена в RHEL7 / CentOS7 и для нее включен маскарад, или вы можете включить маскарад в зоне, в которой находится ваш интерфейс. По умолчанию она общедоступна . Итак, правильный ответ будет либо:

# firewall-cmd --zone=public --add-masquerade

, либо

# firewall-cmd --change-zone=eth0 --zone=external

Это действительно все, что вам нужно сделать. Чтобы включить NAT только для определенной подсети или диапазона, вам потребуется Rich Rule или Direct rule. Это немного сложнее. Вы также можете просто отказаться от пакетов для других, что тоже вариант.

1
ответ дан 2 December 2019 в 23:35

Теги

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