Ip6tables DNAT на openwrt не работает
Я настраиваю ipv6 dnat, используя ip6tables на моем маршрутизаторе openwrt:
ip6tables -t nat -I PREROUTING -p udp --dport 5100 -j DNAT --to-destination fdca:3aae:fe2e::1:53 # fdca:3aae:fe2e::1 is my router address
Затем протестируйте его на другом сервере Linux, копая так:
dig -6 www.google.com @fdca:3aae:fe2e::1 -p5100
Копать не удалось, время соединения истекло через несколько секунд. Но счетчик pkts ip6tables добавил 1 после выполнения команды dig. И tcpdump показывает, что маршрутизатор получил пакет udp, но без ответа. Я проверил IPv4, как это и добился успеха. Так почему же провалился ipv6?
Пакеты TCPDUMP:
16: 29: 16.914206 IP6 fdca: 3aae: fe2e: 0: 5054: ff: fe32: 8d8b.48898> fdca: 3aae: fe2e:: 1.5100: UDP, длина 43
ip6tables -t nat -L -x -n -v show:
Цепное ПРЕДУПРЕЖДЕНИЕ (политика ПРИНИМАЕТ 1 пакет, 91 байт) pkts bytes target prot opt in out source destination 8 728 DNAT udp * *:: / 0:: / 0 udp dpt: 5100 to: fdca: 3aae: fe2e:: 1: 53
cat / proc / net / nf_conntrack | grep 5100 показать:
ipv6 10 udp 17 56 src = fdca: 3aae: fe2e: 0000: 5054: 00ff: fe32: 8d8b dst = fdca: 3aae: fe2e: 0000: 0000: 0000: 0000: 0001 sport = 47169 dport = 5100 пакетов = 1 байт =91 [UNREPLIED] src=fdca:3aae:fe2e:0000:0000:0000:0001:00dst=fdca:3aae:fe2e:0000:5054:00ff:fe32:8d8b sport=5100 dport=47169 пакетов = 0 байт = 0 отметка = 0 зона = 0 использование = 2
1 ответ
Я думаю, вам нужно защитить адрес IPv6 с []
:
ip6tables -t nat -I PREROUTING -p udp --dport 5100 -j DNAT --to-destination [fdca:3aae:fe2e::1]:53 # fdca:3aae:fe2e::1 is my router address
Это также должно работать и проще:
ip6tables -t nat -I PREROUTING -p udp --dport 5100 -j REDIRECT --to-ports 53