woainia004 发表于 2012-3-21 09:57:35

pat问题

请大家帮忙看看很奇怪不通,,R2只设置了IP

woainia004 发表于 2012-3-21 10:54:11

在R1和R2上都写静态路由后,,C1能ping通C2,C2不能ping通C1,,使用show ip nat translations能看到转换信息,,但是C2为什么ping不通,,另外配置了默认路由后pat到底起作用没,

lrb303 发表于 2012-3-21 14:03:11

本帖最后由 lrb303 于 2012-3-21 14:03 编辑

ip nat pool pule 172.168.1.2 172.168.1.2 net 255.255.255.0 C1 ping C2时回包终止在了R2的s0/0不会回到C1.因为C2icmp回包的dest地址是172.168.1.2。。。。。
改为ip nat pool pule 172.168.1.1 172.168.1.1 net 255.255.255.0或者其他除了1.2之外的地址。
在R1上数据包由里向外是先查看路由表后nat,由外向里是先nat后路由。

lin0131 发表于 2012-3-21 23:21:26

woainia004 发表于 2012-3-21 10:54 static/image/common/back.gif
在R1和R2上都写静态路由后,,C1能ping通C2,C2不能ping通C1,,使用show ip nat translations能看到转换信 ...

又看见楼主了~
插图党再次强势围观~
首先,我们要区别一下两种NAT对于内网IP的保护情况。
【前提 ip nat inside source xxxxxxx这个地址转换发生在outside接口】

一、静态NAT
      配置完之后,路由器的NAT表中就存在了一条固定的条目,如图
      
      这张表有什么用呢?
      有了这个:1.对于内网192.168.0.2来说,它访问外网时,数据包的源地址会在outside 发生【192.168.0.2→172.168.1.1】
                      2.但是对于外网,所有目的地为172.168.1.1的数据包在经过outside接口时会发生【172.168.1.1→192.168.0.2】
      乍一看可能没什么问题,但是发现没,外网只要访问172.168.1.1这个IP就会全都给PC1完全没有起到保护的作用。
      这是为什么呢?
      因为静态的NAT自动生成了固定的NAT转化条目,永不失效,而且它只会查看IP地址,所以R1就认为172.168.1.1这个IP就是内网中的PC1。
      测试截图R2 ping 172.168.1.1(R1与R2的直连接口)
      
      同时我们在开了Debug ip icmp 的PC1上看到了这些
      
      反而R1真实的IP上
   
   空空如也~~ 看来我们之前提到的没有太大的问题

———————————————码字很辛苦的~—————————————————————
      地址池NAT暂时就不去考虑,有空可以私下交流哈~
————————————————————————————————————————————

二、PAT
      配置完PAT老规矩,查NAT表
      
      可以发现地址转换表是空的~
      为啥呢?
      因为PAT需要内网流量的激活。
      那来试试,用PC2来ping 172.168.1.1
      
      赶紧R2上看看转换表(这玩意有有效期的,过期的话~~你懂的~)
      
      和静态的转换表类似,但是它多了一个 :5
      这货是什么~ 自然是端口号
      涉及到端口debug就不够用了,那我们用wireshark来抓包查看情况
      开始一样的,我们使用ping来发送数据包
      
      通过wireshark的抓包我们可以看到
      
      以及对应的回包
      
      这是成功的,那现在我们用PC2来ping PC1
      
      同样是Request 以及 Reply 包那我门仔细看看这个和前面的区别
      ping 的请求包
      
      ping 的回复包
      
      大家发现了没,这两个数据包,他们之间并不会像前面的测试中那样相互承认
      为什么呢?
      可以仔细看看我用红框标记的
      就是源地址和目的地址
      举个例子吧,三个人A,B,C
          A叫B B没回反而是C回应了下A
          这时候A是不是应该傻了心想:“C你个二货,哥又没叫你”
      对吧,ping也是这个原理,虽然有回应,但是不是我想访问的那人回应的,自然不承认回应包是有效的
      
那我们回头看看为什么PC1能ping通PC2
      测试能通,为什么呢,回来的时候不是也经过了NAT转化?
      继续抓包
      
      可以看见其实源地址和目的地址也是不匹配的
      那为什么可以呢?
      这个就是ping 机制的问题的,会出现特定的BUG
      至于是什么,暂时考虑是松散源路由,以及严格源路由的特性
      我们可以换个方式,使用TELNET
      
      是吧,还是无法到达的,ping通只是假象~

———————————————————————————————————————————
截图+码字   一个小时就这样没了~
不知道帮到楼主没
有需要可以加Q交流的哈~
一起学习~
--【纠结的插图党】
      

woainia004 发表于 2012-3-22 08:14:47

lin0131 发表于 2012-3-21 23:21 static/image/common/back.gif
又看见楼主了~
插图党再次强势围观~
首先,我们要区别一下两种NAT对于内网IP的保护情况。


感谢您的辛苦,正品味中

woainia004 发表于 2012-3-22 09:28:02

本帖最后由 woainia004 于 2012-3-22 09:35 编辑

我就是想知道,我的那张拓扑图R1 R2不写默认路由为什么通不了,

lin0131 发表于 2012-3-22 10:12:33

woainia004 发表于 2012-3-22 09:28 static/image/common/back.gif
我就是想知道,我的那张拓扑图R1 R2不写默认路由为什么通不了,

这个一定的呢
比如PC1 ping PC2 这时候数据包到达R1,R1上查看目的地址,是192.168.1.2不在路由表中,无法转发
PC2 ping PC1 也是一样的数据包到R2上也是找不到目的网段
至于配置了默认之后 PAT是否生效这个问题
NAT这个不会去考虑路由的问题的,只要能到达outside 接口就会发生转变

woainia004 发表于 2012-3-22 10:30:20

lin0131 发表于 2012-3-22 10:12 static/image/common/back.gif
这个一定的呢
比如PC1 ping PC2 这时候数据包到达R1,R1上查看目的地址,是192.168.1.2不在路由表中, ...

我也觉得是一定的,,没有路由包不知道往那发啊,,,
页: [1]
查看完整版本: pat问题