设为首页收藏本站language 语言切换
查看: 1822|回复: 0
收起左侧

[求助] PAT实验,为什么PT可以通过,而GNS3不能通过

[复制链接]
发表于 2015-12-19 09:19:46 | 显示全部楼层 |阅读模式
本帖最后由 haierccc 于 2015-12-19 09:30 编辑

大多数的家用路由环境都是在NAT之下的
但我学到的课程说,这样的说法其实不准确,因为标准的NAT其实是1对1的,也就是1个私网地址对1个公网地址,其实并没有节省公网地址
只有PAT(也有叫NAPT的)才是多个私网地址躲在一个公网地址之下上网
然后我就在Cisco Packet 6.2上做实验,PAT和端口映射的实验都成功了。
但我发现几个问题:
在Cisco Packet上做实验,发现有顺序要求,拓扑如下:
01.png
这是PT的实验环境,左边天蓝色的是内网,右边粉红色的是外网。
配置端口映射已经成功了,外网可以访问内网的web服务了
但因为没有配置PAT,内网的pc和服务器都无法访问外网(哪怕服务器本身可以被外网访问)
于是我配置PAT,希望内网的2台电脑都可以访问外网,但发现PAT无效。
可是反过来,如果在全新的环境下,先配置PAT,再配置端口映射,就一切正常了,内网的2台PC可以访问外网服务器,外网也可以访问做了端口映射的内网服务器。
问题1:为什么会有这样的差别呢?


带着这个问题,我到了GNS3上做实验,因为GNS3更贴近于实际(配合虚拟机)。拓扑如下:
01.png
结果发现,在GNS3里居然无法配置PAT
也就是说,在一个全新的初始环境下,直接在R1上配PAT无效,内网PC无法访问外网服务器。代码反复检查,也没有错误:

R1(config)#access-list 10 permit 192.168.1.0 0.0.0.255      #定义内网地址范围
R1(config)#ip nat pool todd 202.96.64.68 202.96.64.68 netmask 0.0.0.255    #定义外网地址池
R1(config)#ip nat inside source list 10 pool todd overload    #配置PAT(NAPT)

R1(config)#int f1/0
R1(config-if)#ip nat outside      #定义外网接口
R1(config-if)#exit


R1(config)#int f0/0
R1(config-if)#ip nat inside        #定义内网接口
R1(config-if)#exit


配置PAT其实挺简单,就是以上5步,这是从GNS3里拷贝过来的代码
R1是C7200,R2是C3600
单独配置端口映射是有效的。
问题2:为什么在C7200上配置PAT无效?可在PT上配置有效,难道C7200还有哪些命令我没有输入么?
问题3:在GNS3里单独配置端口映射是有效的,我的想法是:
端口映射是从外向内的访问,于是外部的数据包可以进入内部了,但数据是“有来有回”的,所以内网的数据肯定要返回到公网PC。
问题是,R1本身并没有配置PAT,这个从私网发出的数据,怎么能跑到公网上去呢?
一个合理的想法是,要先配置PAT,再配置端口映射,这样才可以
但我肯定没有配置PAT,仅仅配置了端口映射,于是外网就可以访问内网服务器了。
难道配置了端口映射了以后,R1就针对内网的这个PC自动启用了PAT?
根据我用wireshark在内网和外网2边抓包,已经证明了内网IP被替换成了公网IP,PAT已经启用了
以上是我的3个问题,最高10分给出,请教高人了。
谢谢!








您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-9 01:47 , Processed in 0.061283 second(s), 14 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表