Порт форвардинг я включил, я не могу назвать себя нубом, в таких мелочах разбираюсь ) Но вот с iptables, как выяснилось, не очень дружу в нетривиальных моментах.
В этой схеме нет никаких плюсов и в этом я с вами полностью согласен. Но, к сожалению, нет возможности поменять порт у веб-вервера на какой-либо другой. Задача именно решить это средствами iptables. Сейчас попробую вариант, который вы написали.
Если закрыть инпут, то работать перестаёт. Смотрите, задача такая:
Нужно оставить открытыми только 22 и 8080 порты, веб сервер слушает порт 80. Чтобы работал веб-сервер нужно перенаправить трафик с 8080 порта на 80 порт.
Так тут не нужен форвардинг, трафик же ходит локально, если просто включить редирект в прероутинге, то всё работает, но продолжает так же работать и на 80 порту.
То есть вот так сделать? Если да, то нее работает.
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP
Веб-сервер висит на 80 порту, этот порт должен быть закрыт, как и все остальные кроме 8080. Нужно средствами iptables реализовать перенаправление трафика с 8080 на 80
Да, клиент локальный. Это веб-сервер, который слушает 80 порт. Мне нужно закрыть доступ к нему по 80 порту через iptables и сделать через тот же iptables перенаправление с 8080 порта на 80 порт.