内网不能通过外网来访问内网的服务器原因分析(外网可以)

环境如下:

外网IP:218.94.2.137

局域网:A机器192.168.1.100  B机器192.168.1.101
A机器作为服务器,通过88端口提供了一个WEB服务,路由器上也设置了88端口映射到A这台机器。

B机器作为一般的内网客户端。

 

现在:

B上的浏览器通过外网IP访问A上的WEB服务 222.188.91.252:88,路由器通过端口映射转发给A服务器,这时候A服务器收到的IP包的源地址是192.168.1.101,他们采用的协议是TCP,TCP建立连接需要三次握手,这时候A服务器收到连接请求,回复一个应答包,目的IP是192.168.1.101,源IP是192.168.1.100,因为两个IP都是局域网的,所以路由器不经过封装,而是直接转发。

所以,B服务器收到的应答包源IP跟B服务器发送的请求包目的IP不一样,所以包被丢弃了。

A服务器一直等B机器再次应答,但B机器丢弃了那个包,所以一直等不到,结果连接失败了。

转载于:https://www.cnblogs.com/datasky/archive/2010/10/09/1846365.html

你可能感兴趣的:(内网不能通过外网来访问内网的服务器原因分析(外网可以))