思科路由器的双向NAT

目的:通过双向NAT来更深的理解NAT在思科IOS中的数据包处理顺序

前提:在真实环境中不会出现

环境:

将R1和R3模拟成PC,在不加网关的情况下,使两者能够正常通信。

定义R2的f0/0为ip nat inside;f1/0为ip nat outside。

我先贴出思科IOS的数据包处理的顺序


NAT Overview


In this table, when NAT performs the global to local, or local to global, translation is different in each flow.


Inside-to-Outside


Outside-to-Inside


If IPSec then check input access list


If IPSec then check input access list


decryption - for CET (Cisco Encryption Technology) or IPSec


decryption - for CET or IPSec


check input access list


check input access list


check input rate limits


check input rate limits


input accounting


input accounting


redirect to web cache


redirect to web cache


policy routing


NAT outside to inside (global to local translation)


routing


policy routing


NAT inside to outside (local to global translation)


routing


crypto (check map and mark for encryption)


crypto (check map and mark for encryption)


check output access list


check output access list


inspect (Context-based Access Control (CBAC))


inspect CBAC


TCP intercept


TCP intercept


encryption


encryption


Queueing


Queueing

可以看到在不同方向上的NAT是有区别的:1、inside source static是要先路由,然后才能NAT

2、outside source static是要先NAT,然后才路由

我们先来配置R2:

当R1的数据从inside去往outside的时候会首先检查路由表,然后查看NAT条目,转换成172.16.1.101这个ip地址

试想一下,如果要访问R3的ip地址:172.16.1.1肯定要找网关,因为没有网关,所以,我们将172.16.1.1这个ip地址转换成192.168.1.101,这时候R1区访问的就不是172.16.1.1而是192.168.1.101

这时候我们看看arp缓存表

如果是在juniper或者check point防火墙上就需要配置proxy-arp,手动添加ARP条目

这时候让R1如访问192.168.1.101,因为要从R2的接口上获取到了ARP条目,所以将源:192.168.1.1目的:192.168.1.101的数据包丢给了R2的f0/0,R2会首先查看是否有到192.168.1.101的路由,但是因为有一条直连路由192.168.1.0直连在f0/0上的,R2会认为这是“无理取闹”的数据丢弃。因为丢弃了所以不进行下一步将192.168.1.1转换成172.16.1.101;将192.168.1.101转换成172.16.1.1。

可以看到R2的f0/0因为有ARP条目回应了R1但是却没有将数据转换,没有让telnet通过

正好我们来看看R3访问172.16.1.101的时候是不是先进行NAT转换的

可以看到172.16.1.1访问172.16.1.101的时候转换成192.168.1.101,之后172.16.1.101转换成了192.168.1.1,同时R2也将该数据包转发给了R1,但是因为R1回数据的时候没有路由,也不能进行转换,所以回话没有成立。

所以,让回话没有成立的根源就在于,R2上没有没有到192.168.1.101的路由,那么我们在R2上添加192.168.1.101的路由,下一跳从f1/0转发出去。

这时候我们再从R1发送数据到192.168.1.101

可以看到收到了192.168.1.101的回包,并且成功telnet

再看看R2上的转换

192.168.1.1去访问192.168.1.101,R2看到有路由是通往f1/0的,然后查看NAT条目

192.168.1.1转换成172.16.1.101,然后目的192.168.1.101转换成172.16.1.1,就变成了源地址:172.16.1.101,目的地址:172.16.1.1,接着从f1/0转发出去。

172.16.1.1收到了包,看到源地址是:172.16.1.101,然后回包给172.16.1.101,转换成192.168.1.101,再将172.16.1.101转换成192.168.1.1,就变成了源地址:192.168.1.101,目的地址:192.168.1.1,然后从f0/0转发出去。

时间: 2024-10-05 05:46:06

思科路由器的双向NAT的相关文章

思科路由器PPOE client+NAT解决地址回流问题测试

一.测试拓扑: 二.测试思路: 三.基本配置:A.R1:interface Ethernet0/0 ip address 202.100.1.1 255.255.255.0 no shutdownip route 0.0.0.0 0.0.0.0 202.100.1.2 B.R2:1.接口配置:interface Ethernet0/0 ip address 202.100.1.2 255.255.255.0 no shutdown interface Ethernet0/1 no ip addr

思科路由器做端口映射&动态NAT

一,如图: 思科路由器做端口映射&动态NAT

思科路由器配合域内Radius服务器完成VPN用户身份认证

背景介绍: 公司有一个域环境,路由器Wan地址为:a.b.c.d,Lan地址为:192.168.30.1,其余服务器地址如图所示,其中VPN服务器需要2块网卡,第2块网卡的地址为172.16.0.1使用NAT转换通过192.168.30.5访问外网,给使用VPN登陆的客户端指定IP地址为10.0.0.1-10.0.0.100,为了方便管理,实现账号的单一登陆,搭建了Radius服务器,下面就来介绍如何使用思科路由器配合域内Radius服务器完成VPN用户身份认证. 路由器设置: 登陆路由器,首先

实现一个做双向NAT的虚拟网卡

问题描述与解决方案 还是老问题,Linux系统中通过iptables配置的NAT无法在双向通信环境中使用,你无法配置一条NAT规则实现对两个方向主动发起的流量做NAT,解决这个问题的方案有好几种: 1.配置两条NAT规则 iptables的NAT配置本身就是先match再执行一个target,因此一条规则只能表示一种转换策略,要想实现"来自x的数据包的源地址转换为y,去往y的数据包的目标地址转为x"这样的逻辑,必须使用两条规则.那么为何不使用两条规则呢?因为iptables的nat配置

思科路由器基础

思科IOS是一个专用内核,提供路由选择.交换.网络互联和远程通信功能.大多数思科路由器都运行IOS,越来越多的思科Catalyst交换机也运行它,其中包括Catalyst2960和Catalyst3560系列交换机. 思科路由器IOS软件负责的一些重要方面: 运行网络协议并提供功能: 在设备之间高速传输数据: 控制访问和禁止未授权的网络使用,从而提高安全性: 提供可扩展性(以方面网络扩容)和冗余性:提高连接网络资源的可靠性 OSI:        开放系统互联ISO:        国际标准化组

cacti监控思科路由器网卡流量

最近刚换工作,公司40多人共用一个20M带宽的无线网络,路由器为思科R2911.老大让我整一个cacti来监控思科路由网卡流量.整了几天都获取不了snmp数据,最后要了路由权限才发现,上任运维临走把路由snmp服务关了,留下的文档写的很详细的他怎么打开并配置的snmp,心中一万个草泥马奔腾而过啊.不过庆幸有文档,可以很快的上手配置路由器.cacti监控还是很好配置,也是很好用的,对于有监控路由器流量或硬件负载的,可以研究一下. cacti是一个基于LAMP,SNMP,以及RRDTool的服务,是

如果忘记思科路由器的特权密码,怎样在不损坏配置文件的前提下修改密码

第一步:假设我们忘记了特权模式的密码我们需要对思科路由器断电重启,如图所示: 在重新启动的过程中我们必须在重启完成之前输入ctril+c或者是ctril+break进入ROM模式. 第二步:我们要输入rommon1>confreg 0x2142 忽略NARAM中的配置文件. 第三步:输入rommon2>reset  重启系统. 第四步:Continue with configuration dialog?[yes/no]:no   手工配置系统. 第五步:Router>enable 进入

在思科路由器上部署EZVPN(PC Client)

1. 拓扑 1.1 逻辑拓扑 1.2 实验拓扑(GNS3+VMwareworkstation(Win7)) 2. 路由器配置 R3: hostname Internet interface FastEthernet0/0 ip address 192.168.100.3 255.255.255.0 no shutdown interface FastEthernet0/1 ip address 100.1.1.1 255.255.255.0 no shutdown R1: hostname GW

配置思科路由器以允许ping并禁止来自非指定用户的trace

说明: 使用本文介绍的方法,可在思科路由器上,放通用户的ping包,而不允许trace(不管是icmp.udp还是tcp类型的),并且放通特定用户的trace. 知识准备: 1.首先需要知道普通的trace是如何工作的.这部分内容就不再介绍了,有兴趣可以看附件.附件中的内容是从思科官网上截取的. 2.根据个人经验总结: ping功能一般是通过ICMP的echo request包来实现的. Windows平台的tracert也是ICMP的echo request包,它与普通ping包的不同点只在于