連接埠 8080 和 22 重定向 2222 不起作用

連接埠 8080 和 22 重定向 2222 不起作用

我正在嘗試打開一些端口 8080 和 22 重定向到 2222 /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://本地主機: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/redirect-port-80-to-8080-and-make-it-work-on-local-machine:

環回流量不會從 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

相關內容