Назад | Перейти на главную страницу

iptables: фильтровать перед DNAT

iptables -t filter -A OUTPUT -d 1.2.3.4 -j DROP
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner abc -j DNAT --to 127.0.0.1:121

Первое правило не работает, потому что оно обработано до фильтрации. Есть ли способ обойти это?

Вам не нужно ничего фильтровать перед DNAT. Вы задаете неправильный вопрос.

Вы должны взглянуть на человек iptables-extension особенно модуль conntrack со своими вариантами --ctstate DNAT, --ctorigdst, и --ctorigdstport.

iptables -t nat -A OUTPUT -d 1.2.3.4 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner abc -j DNAT --to 127.0.0.1:121