由于私网连接外网时,虽然可以送达请求报文,但因为外网无法识别私网地址。有可能丢掉,或是转发给自己的私网。所以无法连接。


我们用内网请求外网的地址,与前面的博客的内外网一致。

我们用内网192.168.20.2 curl -I http://192.168.0.12/index1.html 请求首部。

在外网中查看httpd的访问日志中看到

用nat转换解决内网主机访问网络的问题_nat

访问源地址是192.168.20.2


然后我们使用nat 技术

    在网关主机centos7中,修改nat表的规则

        iptables -t nat -A POSTROUTING -s 192.168.20.0/24 ! -d 192.168.20.0/24 -j SNAT --to-source 192.168.0.110 

        如此以来我们内网192.168.20.2的主机发出的除了访问 192.168.20.0/24这个网络的所有报文,都会被改变源地址,变成192.168.0.110 .

用nat转换解决内网主机访问网络的问题_nat _02

这样就可以解决。内网正常访问外网。

例如ping www.baidu.com  就可以了!


PS: 因为我的主机使用的wifi,所以本身就是个局域网。我是在这个192.168.0.0/24中又自己建了局域网192.168.20.0/24 。