Наш сервер подключен только к IPv6, и приложения слушают порт 8080 в частной сети, но нам нужен порт 80 в общедоступном Интернете.
В целях тестирования при открытии брандмауэра для порта 8080 доступ к IPv6: адрес 8080 работает нормально (постоянного решения нет, в конце порт должен быть закрыт)
Итак, нам нужен вид переадресации портов, как предлагается ip6tables TPROXY, на другой локальный порт, как предлагается Вот. Но следующее не работает:
ip6tables -t mangle -A PREROUTING -i eth0 -p tcp --dport 80 -j TPROXY --on-port 8080
Он просто не возвращает никаких данных. (Даже при удалении всех других правил из ip6tables доступно только это) При просмотре пакетов с "ip6tables -t mangle -vL" я вижу, что количество пакетов растет в строке правила TPROXY. При открытии «conntrack -E» я вижу только одну строку с пометкой [DESTROY]. При просмотре "netstat -anp --tcp" я не вижу новый порт 80, только порт 8080 для приложений.
Та же проблема, если временно перенастроить приложение на порт 80 и использовать "-j TPROXY --on-port 80" или "-j TPROXY --on-port 0", поэтому в основном тестируем переадресацию порта на тот же порт - безуспешно . Та же проблема, если используется расширенная маршрутизация путем маркировки заголовка с помощью:
ip6tables -t mangle -R PREROUTING 1 -i eth0 -p tcp --dport 80 -j TPROXY --on-port 8080 --tproxy-mark 0x2/0x3
ip -6 rule add fwmark 2 lookup 6
ip -6 route add local ::/0 dev eth0 table 6
Я загрузил "modprobe xt_TPROXY" и "echo 1> / proc / sys / net / ipv6 / conf / all / forwarding"
Есть идеи, почему это вообще не работает на Debian Wheezy с ip6tables v1.4.14? Я забыл некоторые очень простые шаги настройки (это мои первые шаги с ip6tables и IPv6 вообще)?
Спасибо Ахим
PS: Некоторые другие возможные решения заключались бы в использовании IPv6 DNAT / SNAT с Ubuntu 12.04 LTS, как предлагается Вот или используйте NAT66, как предлагается Вот, но обе технологии не выглядят конфиденциальными, рабочих примеров я тоже не нашел ...