Я открыл вопрос здесь , но поскольку я нашел некоторые новые элементы, я предпочитаю открывать новый.
Вот моя ситуация, которую можно воспроизвести.:
Свежая ОС Centos7. Конфигурация двух интерфейсов eth1 и eth2 с IP-адресами X и Y
-----------------> @X CENTOS @Y -----------------> @Z -------
dst_IP = A dst_IP = A
src_IP = B dst_IP = B
отредактируйте /etc/firewalld/zones/TEST.xml, добавьте два интерфейса, активируйте маскарад . По умолчанию для цели firewalld установлено значение «по умолчанию».
добавить маршрут следующим образом:
Destination Gateway GenMask
A Z 255.255.255.255
Затем активировать ip forward и деактивировать фильтр rp_:
sysctl net.ipv4.ip_forward=1
sysctl net.ipv4.conf.eth1.rp_filter=2
sysctl net.ipv4.conf.eth2.rp_filter=2
В этой ситуации, если я направлю пакет (@dest=A)в CentOS, пакет направляется на Z. -> Почему firewalld его не блокирует? так как нет правил для его принятия
Если я отключу masquerade, пакет больше не маршрутизируется. -> Почему?
При активированном маскараде, если я изменю цель со значения по умолчанию на DROP, пакет больше не маршрутизируется -> Таким образом, цель «по умолчанию» не является строго идентичной цели «DROP». В чем именно разница ? Я не смог найти никакой информации об этом
Больше точности:
В этой проблеме я учитываю только тот факт, что при прослушивании на интерфейсе Centos @Y пакеты маршрутизируются или отбрасываются . Я не принимаю во внимание ответ Z, который на самом деле не работает, если я активирую/деактивирую маскарад в CentOS без настройки конфигурации Z.
В этом контексте, что объясняет, что активация маскарада влияет на то, что маршрутизируемые пакеты будут отбрасываться или не отбрасываться firewalld до выхода на интерфейс @Y? Что касается цели «по умолчанию» в firewalld?
Мой набор правил firewalld совершенно пуст, я сделал эту настройку из новой CentOS для работы над этой проблемой. Никаких правил iptables или firewalld не добавлялось.
Вот результат iptables -L -n
иiptables -L -t nat -n
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
INPUT_direct all -- 0.0.0.0/0 0.0.0.0/0
INPUT_ZONES_SOURCE all -- 0.0.0.0/0 0.0.0.0/0
INPUT_ZONES all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
FORWARD_direct all -- 0.0.0.0/0 0.0.0.0/0
FORWARD_IN_ZONES_SOURCE all -- 0.0.0.0/0 0.0.0.0/0
FORWARD_IN_ZONES all -- 0.0.0.0/0 0.0.0.0/0
FORWARD_OUT_ZONES_SOURCE all -- 0.0.0.0/0 0.0.0.0/0
FORWARD_OUT_ZONES all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
OUTPUT_direct all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD_IN_ZONES (1 references)
target prot opt source destination
FWDI_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
FWDI_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
Chain FORWARD_IN_ZONES_SOURCE (1 references)
target prot opt source destination
Chain FORWARD_OUT_ZONES (1 references)
target prot opt source destination
FWDO_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
FWDO_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
Chain FORWARD_OUT_ZONES_SOURCE (1 references)
target prot opt source destination
Chain FORWARD_direct (1 references)
target prot opt source destination
Chain FWDI_TEST (2 references)
target prot opt source destination
FWDI_TEST_log all -- 0.0.0.0/0 0.0.0.0/0
FWDI_TEST_deny all -- 0.0.0.0/0 0.0.0.0/0
FWDI_TEST_allow all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
Chain FWDI_TEST_allow (1 references)
target prot opt source destination
Chain FWDI_TEST_deny (1 references)
target prot opt source destination
Chain FWDI_TEST_log (1 references)
target prot opt source destination
Chain FWDO_TEST (2 references)
target prot opt source destination
FWDO_TEST_log all -- 0.0.0.0/0 0.0.0.0/0
FWDO_TEST_deny all -- 0.0.0.0/0 0.0.0.0/0
FWDO_TEST_allow all -- 0.0.0.0/0 0.0.0.0/0
Chain FWDO_TEST_allow (1 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate NEW
Chain FWDO_TEST_deny (1 references)
target prot opt source destination
Chain FWDO_TEST_log (1 references)
target prot opt source destination
Chain INPUT_ZONES (1 references)
target prot opt source destination
IN_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
IN_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
Chain INPUT_ZONES_SOURCE (1 references)
target prot opt source destination
Chain INPUT_direct (1 references)
target prot opt source destination
Chain IN_TEST (2 references)
target prot opt source destination
IN_TEST_log all -- 0.0.0.0/0 0.0.0.0/0
IN_TEST_deny all -- 0.0.0.0/0 0.0.0.0/0
IN_TEST_allow all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
Chain IN_TEST_allow (1 references)
target prot opt source destination
Chain IN_TEST_deny (1 references)
target prot opt source destination
Chain IN_TEST_log (1 references)
target prot opt source destination
Chain OUTPUT_direct (1 references)
target prot opt source destination
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
PREROUTING_direct all -- 0.0.0.0/0 0.0.0.0/0
PREROUTING_ZONES_SOURCE all -- 0.0.0.0/0 0.0.0.0/0
PREROUTING_ZONES all -- 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
OUTPUT_direct all -- 0.0.0.0/0 0.0.0.0/0
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
POSTROUTING_direct all -- 0.0.0.0/0 0.0.0.0/0
POSTROUTING_ZONES_SOURCE all -- 0.0.0.0/0 0.0.0.0/0
POSTROUTING_ZONES all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT_direct (1 references)
target prot opt source destination
Chain POSTROUTING_ZONES (1 references)
target prot opt source destination
POST_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
POST_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
Chain POSTROUTING_ZONES_SOURCE (1 references)
target prot opt source destination
Chain POSTROUTING_direct (1 references)
target prot opt source destination
Chain POST_TEST (2 references)
target prot opt source destination
POST_TEST_log all -- 0.0.0.0/0 0.0.0.0/0
POST_TEST_deny all -- 0.0.0.0/0 0.0.0.0/0
POST_TEST_allow all -- 0.0.0.0/0 0.0.0.0/0
Chain POST_TEST_allow (1 references)
target prot opt source destination
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
Chain POST_TEST_deny (1 references)
target prot opt source destination
Chain POST_TEST_log (1 references)
target prot opt source destination
Chain PREROUTING_ZONES (1 references)
target prot opt source destination
PRE_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
PRE_TEST all -- 0.0.0.0/0 0.0.0.0/0 [goto]
Chain PREROUTING_ZONES_SOURCE (1 references)
target prot opt source destination
Chain PREROUTING_direct (1 references)
target prot opt source destination
Chain PRE_TEST (2 references)
target prot opt source destination
PRE_TEST_log all -- 0.0.0.0/0 0.0.0.0/0
PRE_TEST_deny all -- 0.0.0.0/0 0.0.0.0/0
PRE_TEST_allow all -- 0.0.0.0/0 0.0.0.0/0
Chain PRE_TEST_allow (1 references)
target prot opt source destination
Chain PRE_TEST_deny (1 references)
target prot opt source destination
Chain PRE_TEST_log (1 references)
target prot opt source destination