Хороший вопрос. Странно, что он работает тогда. В FORWARD mangle он попадает по идее после уменьшения TTL...
Тогда правильно должно быть так:
Code:
iptables -t mangle -I FORWARD -m ttl --ttl 127 -o \$1 -j TTL --ttl-set 128
iptables -t mangle -I PREROUTING -m ttl --ttl 1 -i \$1 -j TTL --ttl-set 2
Т.е. по хорошему обе д.б. в PREROUTING, но тогда нельзя использовать -о
Я не могу проверить, как ведут себя реально правила с TTL=1, т.к. мой провайдер такой ерундой не занимается.
Ваш точно проставляет TTL=1 для входящих пакетов?
С помощью команды
Code:
iptables -t mangle -L -vn
можно посмотреть счётчики пакетов, которые попали под действие, попробуйте оба варианта. Модифицировать пакеты по признаку пришёл из br0 не правильно, поскольку он может и уйти через него же...