Порт 8080 и 22 Перенаправление 2222 не работает

Порт 8080 и 22 Перенаправление 2222 не работает

Я пытаюсь открыть несколько портов 8080 и 22, перенаправив их на 2222. У меня отключен selinux в /etc/sysconfig/selinux.

Я использую 8080 для доступа к Tomcat и порт 22, чтобы перенаправить его на 2222. Когда я использую следующие команды:

[root@tomcat7test bin]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
[root@tomcat7test bin]# iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

А затем перезапускаю iptables, я не могу получить доступ к своей веб-страницеhttp://localhost:8080/

Когда я запускаю netstat, я вижу, что порты открыты:

[root@tomcat7test ~]$ netstat -an | grep '22'
tcp        0      0 0.0.0.0:2222                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
unix  2      [ ACC ]     STREAM     LISTENING     9922   private/smtp
unix  3      [ ]         STREAM     CONNECTED     3848226 /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     3848225
[rkahil@tomcat7test ~]$ netstat -an | grep '8080'
tcp        0      0 :::8080                     :::*                        LISTEN

Я всегда получаю: Эта страница не может быть отображена в веб-браузере. Есть ли у кого-нибудь предложения, как сделать веб-страницу более доступной?

решение1

Отhttps://askubuntu.com/questions/444729/перенаправить-порт-80-на-8080-и-заставить-его-работать-на-локальной-машине:

Трафик обратной связи не проходит от PREROUTING, а только от OUTPUT.

поэтому вам следует добавить: iptables -t nat -A OUTPUT -o lo -p tcp --dport 22 -j REDIRECT --to-port 2222

решение2

Мне пришлось добавить ESTABLISHED в правило iptables:

iptables -I INPUT -i eth0 -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT

Связанный контент