Linux can';无法在来宾vm上从tomcat获取http(nat连接)

Linux can';无法在来宾vm上从tomcat获取http(nat连接),linux,tomcat,nat,Linux,Tomcat,Nat,我在客户机上运行centos(使用virtualbox,通过nat连接)。 这台机器的8080端口上运行着tomcat <Connector port="8080" protocol="HTTP/1.1" address="0.0.0.0" connectionTimeout="20000" redirectPort="8443" /> 如果我尝试在主机(telnet localhost 40001)上使用telnet,则连接正常 如果我

我在客户机上运行centos(使用virtualbox,通过nat连接)。 这台机器的8080端口上运行着tomcat

<Connector port="8080" protocol="HTTP/1.1" address="0.0.0.0"
           connectionTimeout="20000"
           redirectPort="8443" />
如果我尝试在主机(telnet localhost 40001)上使用telnet,则连接正常

如果我试图在guest上获取一个netstat,我会得到这个

[aegis@localhost ~]$ netstat -an | grep LISTEN | grep tcp
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN

我不明白为什么主机的telnet可以工作,但我无法通过浏览器获取页面。您能帮我一下吗,我在配置中犯了一个错误吗?

起初,我因为在主机上使用“telnet localhost 40001”而受到批评。
但是22个端口和8080个端口之间存在差异。 默认情况下打开22端口。
8080端口不可用。
如果遇到这样的问题,应该允许通过8080端口进行防火墙连接。

例如,您可以执行以下语句:

iptables -I INPUT 1 -i eth0 -p tcp --dport 8080 -j ACCEPT

您看到来宾netstat上的telnet会话了吗?你好,alnet。不,如果我问netstat-an | grep8080,我只得到tcp 0.0.0.0:8080 0.0.0.0:*列出了您在virtualbox中定义的端口转发规则?ssh主机-->客户机工作吗?有两条规则:tcp 2222->22(ssh),它工作。tcp 40001->8080不工作能否在来宾上运行tcpdump并检查是否在该端口上收到任何数据包?试着了解你是否根本没有把数据包送到客户机,或者数据包从客户机返回到主机的问题。
iptables -I INPUT 1 -i eth0 -p tcp --dport 8080 -j ACCEPT