![在 Linux Mandriva 上为 Apache Tomcat-7.0.32 打开端口](https://linux22.com/image/598626/%E5%9C%A8%20Linux%20Mandriva%20%E4%B8%8A%E4%B8%BA%20Apache%20Tomcat-7.0.32%20%E6%89%93%E5%BC%80%E7%AB%AF%E5%8F%A3.png)
我安装了Apache Tomcat-7.0.32在Linux的Mandriva并且我想让它可以访问。为此我需要打开端口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