![](https://i-blog.csdnimg.cn/blog_migrate/bc45045735a35ba27ea2aace1f0f2005.jpeg)
正常情况下如果想访问192.168.1.3。从主机A是不会走路由的。因为根据判断B会认为是子 网内的主机。发送ARP广播来查找。这就是地址重叠带来的问题。如果希望能够在不重新编址的情况下进行互访。就必须有DNS服务器的存在。访问也不能直接采用IP。而只能采用域名的方式来访问。
![](https://i-blog.csdnimg.cn/blog_migrate/34df65f6d1bcf0dd5e09b071d5645117.jpeg)
主机A访问主机B。只能访问B的域名。向网络上的DNS 发出请求。解析域名的IP地址。
![](https://i-blog.csdnimg.cn/blog_migrate/d7f7a76c27f2442a816f940ad8f03ca8.jpeg)
DNS 给出了回应。显示查找域名的IP为192.168.1.3。并回应172.2.2.2。这个地址不是192.168.1.2。这是因为192.168.1.2地址在出去时被NAT转换为内部全局地址172.2.2.2才能在网上被使用。这是inside地址池中的地址。
![](https://i-blog.csdnimg.cn/blog_migrate/d0975f1b2df71274cc17df1ae69e4391.jpeg)
当目的地址经过路由器172.2.2.2被转换为内部局部地址192.168.1.2。将DNS 给出的192.168.1.3变更为外部局部地址172.3.3.2。否则主机A还是会认为目的主机是一个子网内的主机。
![](https://i-blog.csdnimg.cn/blog_migrate/1a2c04503d9823e873da3a8272e74451.jpeg)
主机A现在知道访问对方主机B的目的地址为172.3.3.2。这样就会将数据包发给网关。也就是路由器来处理。
![](https://i-blog.csdnimg.cn/blog_migrate/dace434160a75fcdda1fb081f842becc.jpeg)
当数据包经由路由器转发时。192.168.1.2 变为172.2.2.2。172.3.3.2 变成 192.168.1.3 。这样B就可以接受到主机A的数据包。
router>en
router#conf t
router(config)#int f 0/0
router(config-if)#ip add 192.168.1.254 255.255.255.0
rotuer(config-if)#ip nat inside
router(config-if)#des inside network port
router(config-if)#no shut
router(config-if)#int s 1/0
router(config-if)#ip add 172.16.25.24 255.255.255.0
router(config-if)#ip nat outside
router(config-if)#des outside network port
router(config-if)#no shut
router(config-if)#exit
router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
router(config)#ip nat pool in 172.2.2.1 172.2.2.254 prefix-length 24
router(config)#ip nat pool out 172.3.3.1 172.3.3.254 perfix-length 24
router(config)#ip nat inside source list 1 pool in
router(config)#ip nat outside source list 1 pool out
router#conf t
router(config)#int f 0/0
router(config-if)#ip add 192.168.1.254 255.255.255.0
rotuer(config-if)#ip nat inside
router(config-if)#des inside network port
router(config-if)#no shut
router(config-if)#int s 1/0
router(config-if)#ip add 172.16.25.24 255.255.255.0
router(config-if)#ip nat outside
router(config-if)#des outside network port
router(config-if)#no shut
router(config-if)#exit
router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
router(config)#ip nat pool in 172.2.2.1 172.2.2.254 prefix-length 24
router(config)#ip nat pool out 172.3.3.1 172.3.3.254 perfix-length 24
router(config)#ip nat inside source list 1 pool in
router(config)#ip nat outside source list 1 pool out
这样的做法虽然解决了地址重叠的问题。但是不断的改变数据包的源地址和目的地址。势必会增加延时。只是部门在合并过程中的一个权宜之计。
转载于:https://blog.51cto.com/3layer/19161