经典案例分析:内网环流

简单但经典案例分析:内网环流_第1张图片

资料:
路由器外网IP地址:1.1.1.1
路由器内网IP地址:192.168.1.254
启用NAT网络地址转换,共享上网
WEB服务器IP地址:192.168.1.10
PC1的IP地址:192.168.1.11
路由器外网IP地址启用端口映射,将80端口映射给了WEB服务器。
公网地址解析将域名www.test.com解析给了1.1.1.1
WEB服务器允许通过域名和IP地址访问

问题:
PC2使用域名www.test.com和IP地址1.1.1.1访问WEB服务器没有问题。
PC1使用IP地址192.168.1.10访问WEB服务器没有问题。
PC1使用域名www.test.com访问WEB服务器显示打不开网页。

分析:
PC1访问过程:
PC1请求公网DNS解析WEB服务器地址。地址为1.1.1.1
PC1向1.1.1.1发出WEB访问请求。数据包为
源IP地址:192.168.1.11
目的IP地址:1.1.1.1
目的端口:80
路由器收到数据包后的行为:
1、进行NAT转换
2、转发数据包(发现目标IP地址是自己的公网IP)
3、NAT转换还原
4、将数据包发送给WEB服务器
数据包为:
源IP地址:192.168.1.11
目的IP地址:192.168.1.10
目的端口:80

WEB服务器收到请求后将响应发送给PC1
数据包为:
源IP地址:192.168.1.10
目的IP地址:192.168.1.11
源端口:80

PC1收到响应,但由于PC1请求的地址与收到的响应的地址不相同,则丢弃。

简单但经典案例分析:内网环流_第2张图片
解决方案:
一、不解决。如果内网用户足够少,比如只有网管一人使用则不必解决。
二、DNS劫持,比如修改HOSTS文件,或者内网有DNS中继的情况使用。
三、DNS控制。需要公网DNS支持,将本网络的DNS请求解析为内网的IP地址。
四、NAT转换。将内网访问WEB服务器的流将转换成路由器内网IP。

例:源IP:192.168.1.0/24 目的IP:192.168.1.10 转换为192.168.1.254
简单但经典案例分析:内网环流_第3张图片