
Я хочу изменить порт назначения пакета ipv6 на уровне INPUT.
Поэтому я попытался использовать ip6tables с nat на уровне INPUT.
но похоже эта команда не работает
# ip6tables -t nat -I INPUT ! -i br0 -p TCP --dport 8080 -j REDIRECT --to-ports 80
ip6tables v1.2.7a: Unknown arg `--to-ports'
Try `ip6tables -h' or 'ip6tables --help' for more information.
Я думаю, что помимо ошибки, возвращаемой iptable, nat не работает на уровне INPUT.
Так есть ли решение изменить порт назначения пакета ipv6 на уровне INPUT?
Я не хочу менять его на уровне PREROUTING, так как не хочу менять пакет ipv6, который будет пересылаться (не для локального процесса)
решение1
NAT не работает в цепочке INPUT. Изhttp://www.karlrupp.net/en/computer/nat_tutorial:
REDIRECT — перенаправление пакетов на локальную машину
Частным случаем DNAT является REDIRECT. Пакеты перенаправляются на локальный порт маршрутизатора, что позволяет, например, осуществлять прозрачное проксирование. Что касается DNAT, REDIRECT действует в цепочке PREROUTING и OUTPUT соответственно.
Если вы хотите перенаправлять пакеты только на свой сервер, добавьте в правило ограничение IP-адреса назначения (1.2.3.4 — ваш локальный IP-адрес):
ip6tables -t nat -I PREROUTING ! -i br0 -p TCP -d 1.2.3.4 --dport 8080 -j REDIRECT --to-ports 80