Я хочу изменить порт назначения пакета 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 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .