Я хочу отбросить определенный пакет, предназначенный для ip_address ПОСЛЕ того, как он достигнет цепочки POSTROUTING. Однако для iptables таблица "nat" не может использоваться для фильтрации, поэтому следующее не работает:
iptables -t nat -A POSTROUTING -d ip_address -j DROP
Так как это сделать? Если iptables не может этого сделать, есть ли альтернативы? Пожалуйста, порекомендуйте. Спасибо.
Маршрутизация завершается непосредственно перед выполнением цепочек постмаршрутизации (отсюда и название).
Я думаю, что то, как вы хотите выполнить любую задачу, которую вы пытаетесь выполнить, - неправильный, потому что это невозможно. Однако любые разумные предикаты фильтрации обычно должны существовать до постмаршрутизации. Вы должны иметь возможность применять те же критерии фильтрации, которые в противном случае привели бы к изменению постмаршрутизации, которую вы хотите отфильтровать, к правилу пересылки или вывода.
На этой диаграмме показано, как пакеты проходят через iptables:
Эта отличная диаграмма до сих пор сохраняется и происходит от http://xkr47.outerspace.dyndns.org/netfilter/packet_flow/.