У меня есть Glassfish 6, работающий на VPS (одна машина), и он прослушивает порты http:8080 и https:8081. Включена унификация портов, чтобы 8080 направлялся на 8081.
На своем VPS я использую ufw и настроил переадресацию/перенаправление портов с 80 -> 8080 и 443 -> 8081:
# Перенаправление порта
-A PREROUTING -p tcp -m tcp --dport 80 -j ПЕРЕНАПРАВЛЕНИЕ --to-ports 8080
-A ПРЕДВАРИТЕЛЬНАЯ МАРШРУТИЗАЦИЯ -p udp -m udp --dport 80 -j ПЕРЕНАПРАВЛЕНИЕ --to-ports 8080
-A PREROUTING -p tcp -m tcp --dport 443 -j ПЕРЕНАПРАВЛЕНИЕ --to-ports 8081
-A ПРЕДВАРИТЕЛЬНАЯ МАРШРУТИЗАЦИЯ -p udp -m udp --dport 443 -j ПЕРЕНАПРАВЛЕНИЕ --to-ports 8081
Это работает только тогда, когда я открываю порты 8080 и 8081 на ufw.
Возможно ли иметь локальную переадресацию (удаленных пакетов) на мой порт 8080/8081, не открывая эти порты и в ufw? Снаружи должны быть видны/открыты только 80 и 443.
Я также пробовал это правило:
-A PREROUTING -i venet0:0 -p tcp --dport 443 -j DNAT --to-destination 127.0.0.1:8081
С вышеперечисленным перенаправление также работает, но порт 8081 должен быть открыт на ufw.
Я обнаружил, что это позволяет направлять удаленные пакеты и на локальные интерфейсы:
sysctl -w net.ipv4.conf.venet0.route_localnet=1
Это тоже не работает, когда 8080 и 8081 закрыты на ufw.