LINUX.ORG.RU

Расскажите про iptables

 


1

1

Подменяю ip отправителя при обращении к порту 666 протокол UDP

# /sbin/iptables -t nat -A POSTROUTING -j SNAT --to-source 8.8.8.8 -p udp --dport 666

Перенаправляю все обращения к порту 666 на локальный интерфейс.

# /sbin/iptables -t nat -A PREROUTING -p udp --dport 666 -j REDIRECT --destination 127.0.0.1

Пытаюсь логировать все это

# /sbin/iptables -A INPUT -p udp --dport 666 -j LOG --log-prefix "iptabless: "
# /sbin/iptables -A OUTPUT -p udp --dport 666 -j LOG --log-prefix "iptabless: "
# /sbin/iptables -A FORWARD -p udp --dport 666 -j LOG --log-prefix "iptabless: "

# cat /var/log/messages | grep iptables

Ничего не работает и в логах пусто. Где я неправ?



Последнее исправление: leave (всего исправлений: 1)

Задача-то какая?

AnDoR ★★★★★
()

На сколько я помню, NAT трафик не попадает в цепочки INPUT и OUTPUT. По поводу FORWARD, по моему там все-таки должен транзитный трафик светиться.

Почитайте про архитектуру iptables.

samson_b
()

iptables -j REDIRECT --help говорит, что ты обманщик.

vel ★★★★★
()

Разбираюсь в iptables (равно как и в других вещах), но к маразматикам себя не отношу. Поэтому ни чем помочь не могу…

Netzschlange
()

Если счетчики правил для "-j LOG" не 0, а в логах тихо, то нужно убедиться, что оно включено

sysctl net.netfilter.nf_log.2=nf_log_ipv4
sysctl net.netfilter.nf_log_all_netns=1
Первая строка обязательно требуется.

Вторая нужна для дополнительных NETNS (контейнеры).

vel ★★★★★
()

Просто так внешний трафик на 127.0.0.0/8 не заворачивается, такие пакеты считаются «марсианскими» и убиваются. Для разрешения такого трафика есть sysctl-параметр net.ipv4.conf.*.route_localnet, попробуйте включить его:

sysctl net.ipv4.conf.all.route_localnet=1

В SNAT-е у вас указан –dport, может всё таки –sport ?

spirit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.