经典案例分析:内网环流

资料: 路由器外网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请求的地址与收到的响应的地址不相同,则丢弃。

解决方案: 一、不解决。如果内网用户足够少,比如只有网管一人使用则不必解决。 二、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