关于--windows能ping通linux的ip,但是无法访问linux的tomcat首页 的解决办法

CentOS版本:6.8

Windows操作系统版本:Win10

Linux上的tomcat版本:7.0.65

linux是使用的NAT模式,及共享主机的IP地址。本来想使用windows本地访问linux上的tomcat首页,结果一直访问不成功;但在windows下能够ping通linux的ip,这很明显就是linux的端口没有开放,所以就在linux上设置了一下防火墙,将以下配置加入到了iptables里:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 

然后重启防火墙:

service iptables restart

就以为可以高高兴兴的在windows本地访问tomcat首页了。

结果,还是无法访问tomcat首页,后面又继续试了几次,都不行。

最后

发现了问题所在,是因为新加的8080端口配置信息位置放错了!所以,千万要注意,

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

上面这条配置信息必须放在下面这条配置信息之前,开放端口才能生效!

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

附上iptables:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

解释一下:

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

这两条的意思是在INPUT表和FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机。

 

然后重启防火墙,这样,就能在windows访问linux上的tomcat服务器了。

附上操作效果图:

 

总结:对于linux的iptables这一块的知识还是比较欠缺的,所以还是要系统的学一下linux的iptables。

你可能感兴趣的:(《Linux基础》)