Port 8080 und 22 Redirect 2222 funktioniert nicht

Port 8080 und 22 Redirect 2222 funktioniert nicht

Ich versuche, einige Ports 8080 und 22 zu öffnen und auf 2222 umzuleiten. Ich habe Selinux deaktiviert /etc/sysconfig/selinux.

Ich verwende 8080 für den Zugriff auf Tomcat und Port 22, um eine Umleitung auf 2222 zu veranlassen. Dabei verwende ich die folgenden Befehle:

[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

Und dann iptables neu starten, ich kann nicht auf meine Webseite zugreifenhttp://localhost:8080/

Wenn ich netstat ausführe, sehe ich, dass die Ports geöffnet sind:

[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

Ich erhalte immer die Meldung: „Diese Seite kann im Webbrowser nicht angezeigt werden. Hat jemand Vorschläge, wie ich die Webseite barrierefreier gestalten kann?“

Antwort1

Aushttps://askubuntu.com/questions/444729/redirect-port-80-to-8080-and-make-it-work-on-local-machine:

Loopback-Verkehr wird nicht von PREROUTING, sondern nur von OUTPUT weitergeleitet.

Sie sollten also hinzufügen: iptables -t nat -A OUTPUT -o lo -p tcp --dport 22 -j REDIRECT --to-port 2222

Antwort2

Ich musste ESTABLISHED zu meiner iptables-Regel hinzufügen:

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

verwandte Informationen