icmp怎么通过PAT的

icmp怎么通过PAT的,第1张

PAT的端口转换是为了区分inside local地址,对于有端口的应用来说,一般转换为较大的端口号从而避免和常用端口冲突,而对于一些没有端口号的应用(比如ICMP)来说,所谓端口号仅仅是为了区分不同ICMP包,可以理解为就是特定的数字标记,不具有任何其他意义,你不断的PING下去端口号会一直增加,一个echo_request的端口数字和对应一个echo_replay端口数字,和四层包头的端口号没有任何关系。楼上说ICMP是三层协议没错,路由器在做PAT的时候如果发现ip包头中协议号为1就知道是ICMP的包,根本不用考虑四层端口号,直接用一个端口数字标记转换即可

如图中所示,R1和R2模拟成两台服务器并且提供相同的服务(地址分别为1721611 ,1721612),R3是交换机,R4是边界路由器也就是内部服务器的网关所在路由器(内网口地址为172161254 ),R5充当公网并且有环回口5555,在R4上的E0/0(地址为2222222221) 接口开启PAT,使得内网服务器可以访问外网R5的 5555
如图:
这时就进入关键性阶段了,1:写一条ACL来匹配公网路由,access-list 2 permit 2222222221
2:定义一个以内部服务器为地址的池:ip nat pool ccna 1721611 1721612 netmask 2552552550 type rotary (最后这两个一定要有意思就是让这些地址轮循)
3:将ACL跟地址池关连起来:ip nat inside destination (注意这个不是source) list 2 pool ccna
最后就是在R1,R2的line vty 0 4 下打no login 允许外网的登陆。
这时可以检验结果了,,在R5上telnet 2222222221 可以发现第一次时进入R1,第二次就进入R2了,
这 样就达到了两个服务器的负载均衡了。。当然这种情况是在多个服务器提供相同的服务的前提下才好用。
但是对于内部有多台服务器要同时开放一个相同的端口但是又只有一个公网IP时该怎么办呢?
图中标出了拓扑的详细结构,服务器地址分别为1721612 和1721613 ,网关为1721611 ,然后同样的跟上边一个实验一样,在边界路由器做基于接口的PAT转换,使得服务器可以访问公网,然后我们就开始在边界路由器上配置端口跟ip地址的映射,通常情况下我们都认为映射是这样写: ip nat inside source static tcp 1721612 80 2222222221 80 然后会发现下一台服务器没法再做相同端口的映射了,,因此我们就必需改变上面的命令来使得另一台服务器也可以基于80端口的映射:这进命令就可以改成:ip nat inside source static tcp 1721612 80 2222222221 100 与
ip nat inside source static tcp 1721613 80 2222222221 101 这样的两条映射。。那么这样写的映射是否真的可行呢?那就让我们一起来检验下成果,首先必需在两台服务器上面的>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13437642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-06
下一篇 2023-08-06

发表评论

登录后才能评论

评论列表(0条)

保存