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