У меня есть iptables, работающий на хосте (действующем как брандмауэр) в пространстве имен Linux только с одним сетевым интерфейсом: h2-eth1 (имеет IP-адрес и MAC-адрес)
Я настроил свой коммутатор для пересылки всех пакетов в брандмауэр, а пакеты возвращаются из брандмауэра во внутреннюю сеть. Теперь я перехожу к простой проверке работоспособности, чтобы посмотреть, все ли работает. Я запускаю эти команды на брандмауэре:
$sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
$iptables -P INPUT ACCEPT
$iptables -P FORWARD DROP
$iptables -P OUTPUT ACCEPT
$iptables -F INPUT
$iptables -F FORWARD
$iptables -F OUTPUT
$iptables -F -t nat
$iptables -A FORWARD -i h2-eth1 -o h2-eth1 -j ACCEPT
Теперь я пингую внутренний хост снаружи. Я вижу, что ICMP-пакеты идут к брандмауэру, но от него не возвращаются Итак, я запустил iptables -nvL
на брандмауэре и вижу, что все таблицы (INPUT, OUTPUT и FORWARD) имеют количество пакетов 0. Итак, пакеты не достигают iptables, потому что они не соответствуют IP-адресу NIC? Как мне это исправить?