
我安裝了Apache Tomcat-7.0.32在Linux 曼德瑞瓦我想讓它變得易於訪問。為此我需要打開端口iptables。
我新增了以下規則-
iptables -A INPUT -p tcp -m tcp --dport 8081 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8010 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8444 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8006 --syn -j ACCEPT
然後儲存並重新啟動 iptables -
/etc/init.d/iptables save
/etc/init.d/iptables restart
驗證連接埠是否開啟 -
netstat -tulpn | less
我正在運行命令 -
netstat-ntpl | grep java
並看到-
當我停用防火牆時,我會根據請求看到伺服器的起始頁 -
http://server_ip:8081/
啟用時 - 無法從外部存取伺服器。
可能是什麼原因造成的?我將非常感謝您提供的資訊!
謝謝你!
答案1
此問題與 Tomcat 配置無關。確保在拒絕規則之前添加接受 iptables 規則
答案2
tomcat使用的連接埠應該在tomcat配置中。但是,如果有疑問,您可能需要使用 lsof 實用程式來尋找有關哪些程式使用哪些 TCP 或 UDP 連接埠以及本機套接字的詳細資訊。
lsof -Pni
lsof -Uni
要了解到底發生了什麼,以及哪些程式正在嘗試存取哪些端口,和/或被防火牆阻止,您還可以使用 tcpdump 實用程式。
tcpdump -i eth0
您可以 grep 這些程式的輸出或使用開關來過濾要顯示的資訊類型。你做錯的可能是,你在配置的末尾添加防火牆規則,而 iptables 配置(防火牆數據包處理)來自頂部/開頭 - 所以當你添加 ACCEPT 時,在開頭添加它可能是有意義的iptables 配置文件而不是最後。
這個問題可能應該轉移到 superuser.com