01 NAT简介
功能介绍:
NAT:网络地址转换。正常数据转发时,IP头部的源和目的地址以及端口号是不会被更改的,而使用了NAT技术后,它将更改报文头部内容,实现隐藏内外部主机真实地址、多台主机共享少量IP访问内外部网络、解决IP地址空间重叠、服务器负载均衡等功能。
PAT:端口地址转换,又叫网络地址端口转换(NAPT)或NAT的端口复用(用IP地址+端口号来对应和区别各个数据流进行网络地址转换,以达到多内部主机通过一个或少量合法IP地址来访问外部网络)
NAT的术语:
Inside:内部
Outside:外部
Inside local:内部本地地址(内部主机的实际地址,一般为私有地址)
Inside global:内部全局地址(内部主机经NAT转换后去往外部的地址,是ISP分配的合法IP地址)
Outside local:外部本地地址(外部主机由NAT设备转换后的地址,一般为私有地址,内部主机访问该外部主机时,认为它是一个内部的主机而非外部主机)
Outside global:外部全局地址(外部主机的真实地址,互联网上的合法IP地址)
02 源地址转换
2.1 上网配置-ADSL拨号(PPPoE)出口
**功能介绍: **
我司产品支持在以太网口上运行PPP(PPPOE,PPP over Ethernet),进行DDR按需拨号。其特性如DDR拨号,有数据通信则刺激拨号,空闲指定时间以后,自动挂断线路。
我司产品的PPPOE实现类似于高级DDR( DDR Profiles),将以太网口绑定至逻辑拨号接口,具体协商使用逻辑接口进行。
应用场景
企业通过租用运营商的宽带拨号线路来访问互联网的资源。
一、组网需求
内网使用RG-RSR路由器上网,外网线路是ADSL拨号线路。
二、组网拓扑
三、配置要点
1、配置拨号
2、配置NAT上网
3、配置默认路由
四、配置步骤
1、物理接口下开启pppoe
Ruijie>enable
Ruijie#configure terminal
Ruijie(config)#interface FastEthernet 0/0
Ruijie(config-if-FastEthernet 0/0)#pppoe enable//打开pppoe功能
Ruijie(config-if-FastEthernet 0/0)# pppoe-client dial-pool-number 5 no-ddr //绑定以太网口到拨号池5
Ruijie(config-if-FastEthernet 0/0)# ip ref//开启路由器流转发,如果命令不识别,表示该路由器已经默认开启
Ruijie(config-if-FastEthernet 0/0)#exit
2、配置拨号逻辑接口
Ruijie(config)#interface dialer 0
Ruijie(config-if-dialer 0)# ip ref//开启路由器流转发,如果命令不识别,表示该路由器已经默认开启
Ruijie(config-if-dialer 0)#encapsulation ppp//封装ppp
Ruijie(config-if-dialer 0)#ppp chap hostname pppoe//配置chap加密的用户名:pppoe
Ruijie(config-if-dialer 0)#ppp chap password pppoe//配置chap加密的密码:pppoe
Ruijie(config-if-dialer 0)#ppp pap sent-username pppoe password pppoe//配置pap加密的用户名和密码
Ruijie(config-if-dialer 0)#ip address negotiate//地址协商获取
Ruijie(config-if-dialer 0)#dialer pool 5//关联拨号池5
Ruijie(config-if-dialer 0)#dialer-group 1 //刺激拨号的规则
Ruijie(config-if-dialer 0)#dialer idle-timeout 300//300s没有流量后,拨号断开
Ruijie(config-if-dialer 0)#mtu 1492
Ruijie(config-if-dialer 0)#exit
Ruijie(config)#access-list 1 permit any
Ruijie(config)#dialer-list 1 protocol ip permit//全局的拨号规则列表
3、配置NAT
Ruijie(config)#access-list 100 permit ip any any //定义要执行NAT的数据流,此处定义的是所有。
Ruijie(config)#ip nat pool ruijie prefix-length 24//配置nat地址池名为ruijie 匹配掩码24位
Ruijie(config-ipnat-pool)#address interface dialer 0 match interface dialer 0 //配置nat转换ip,数据从dialer 0转发,那么 使用dialer 0上的地址做NAT
Ruijie(config-nat-pool)#exit
Ruijie(config)#ip nat inside source list 100 pool ruijie overload // 配置NAT策略,100表示access-list 100 ;ruijie 表示NAT地址池
Ruijie(config)#interface dialer 0
Ruijie(config-if-dialer 0)#ip nat outside //定义为NAT外网接口
Ruijie(config-if-dialer 0)#interface fastEthernet 0/1
Ruijie(config-if-FastEthernet 0/1)#ip nat inside//定义为NAT内网接口
Ruijie(config-if-FastEthernet 0/1)#ip address 192.168.1.1 255.255.255.0//配置内网的地址,作为内网网关
Ruijie(config-if-FastEthernet 0/1)#ip ref
4、配置默认路由
Ruijie(config)#ip route 0.0.0.0 0.0.0.0 dialer 0
五、配置验证
1、检查是否拨号成功
Ruijie#show ip interface brief
InterfaceIP-Address(Pri)OK?Status
FastEthernet 0/0no addressYESDOWN
FastEthernet 0/1192.168.1.1/24YESUP
dialer 0 222.168.1.2YESUP
说明:如果配置无误,查看接口ip线路的时候可以看到dialer 0 后面可以获取到ip地址。
2、内网的电脑配置192.168.1.x的ip地址,掩码255.255.255.0 ,网关配置为192.168.1.1,配置正确DNS,即可正常上网
2.2 上网配置——无交换口路由器
章节介绍:
该章节主要介绍,针对无交换口路由器的基本上网配置,这些路由器型号包含RSR1002,RSR20-04,RSR20-14,RSR20-18,RSR20-24,RSR30-44(无搭配NMX-24ESW卡),RSR30-X,RSR50系列,RSR77系列。这些设备的共同特点为设备都为路由接口,并不存在交换接口,如有多台PC需要上网,需要在内网使用交换机配合。通过该章节,可以实现通过NAT上网以及内网服务器映射功能。
功能介绍:
PAT:端口地址转换,又叫网络地址端口转换(NAPT),通过 外网接口的IP地址+端口号来对应和区别各个数据流进行网络地址转换,以达到多内部主机通过外网接口的IP地址来访问外部网络的目的。通常用在只有一个公网地址时的场景。
地址池转换:公网地址池的IP地址+端口号来对应和区别各个数据流进行网络地址转换,以达到多内部主机通过少量公网IP地址来访问外部网络的目的。通常用在有多个1个出口有多个公网ip地址的情况
静态NAT:把内部主机的ip地址一对一的映射成公网ip地址,或者 内部主机的ip地址+端口 一对一的映射成 公网ip地址+端口。通常用在需要将内部主机映射成公网地址,或者内部服务器的某个端口映射成公网地址的某个端口,达到通过访问公网地址或者公网地址+端口号来访问内部服务器的目的。
应用场景
企业通过租用运营商的专线上网,分别介绍以下三个场景的应用,实现相应的功能。
场景一:当只有一个公网IP地址的时候,需要把内网用户的地址全部转换成外网接口的IP地址,使内网用户能够访问外网。
场景二:当有一个公网IP地址段的时候,需要把内网用户的地址全部转换成公网地址段的IP地址,使内网能够访问外网。
场景三:将内网服务器映射到某一公网IP,使外网用户能够通过访问该公网IP来访问内网服务器的资源。
一、组网需求
RSR路由器做因特网出口,内部PC网关均在路由器上,通过路由器访问外网,同时内网有一台服务器,需将服务器地址(端口)映射到公网地址(端口),为外界提供服务。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、基本的ip路由配置
3、DHCP服务器配置
4、定义nat的内网口和外网口
5、在R1上配置ACL,把内网需要进行NAT转换的流量匹配出来
6、配置场景一NAT转换策略
7、配置场景二NAT转换策略
8、配置场景三NAT转换策略
四、配置步骤
1、基本ip地址配置
Ruijie(config)#hostname R1
R1(config)#interface gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip address 172.168.1.254 255.255.255.0
R1(config-GigabitEthernet 0/0)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip address 192.168.2.1 255.255.255.0
R1(config-GigabitEthernet 0/1)#exit
2、基本的ip路由配置
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2 // 出口路由配置到英特网的默认路由
3、DHCP服务器配置
Ruijie(conf)#service dhcp //开启DHCP服务
Ruijie(conf)#ip dhcp pool ruijie //ruijie是dhcp地址池的名字,可以随便取
Ruijie(dhcp-config)#netw 172.16.1.0 255.255.255.0 //电脑需要获得的ip地址的网段
Ruijie(dhcp-config)#default-router 172.16.1.254 //电脑连接在f0/1下的网关地址,即使f0/1接口的ip地址
Ruijie(dhcp-config)#dns-server 202.96.113.34 202.96.13.35 // 电脑的DNS,前面一个是主的dns,后面一个是备dns
4、定义nat的内网口和外网口
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip nat outside //配置nat的外网口
R1(config-GigabitEthernet 0/1)#exit
R1(config)#int gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip nat inside//配置nat的内网口
R1(config-GigabitEthernet 0/0)#exit
5、在R1上配置ACL,把内网需要进行NAT转换的流量匹配出来
R1(config)#ip access-list standard 10
R1(config-std-nacl)#10 permit 172.16.1.0 0.0.0.255
R1(config-std-nacl)#exit
6、配置场景一nat转换策略
R1(config)#ip nat inside source list 10 interface gigabitEthernet 0/1 overload //将acl 10匹配的流量,执行nat转换,转换成gigabitEthernet 0/1口的地址
7、配置场景二nat转换策略
1)配置公网地址池
R1(config)#ip nat pool ruijie netmask 255.255.255.0 //配置一个名字为ruijie的公网地址池
R1(config-ipnat-pool)#address 192.168.2.10 192.168.2.11 //公网地址的起始ip地址,结束ip地址
R1(config-ipnat-pool)#address 192.168.2.15 192.168.2.15//若有多个公网地址,但是不连续,可以配置多个公网地址段
R1(config-ipnat-pool)#exit
**注意:**
1)公网地址池的地址,不一定要跟外网口的地址在同一个网段,只要是外网分配的可用ip地址就可以。
2)公网地址的起始ip地址和结束ip地址可以不连续
** 2)配置nat转换策略**
R1(config)#ip nat inside source list 10 pool ruijie overload //将acl 10匹配的流量,执行nat转换,转换成地址池ruijie里面的地址
**注意:** overload参数是执行nat重载的含义,若不加overload是执行动态的ip一对一映射,不会执行端口转换,不能解决公网地址不够的问题。若是在网络出口执行NAT,是为了解决公网地址不够的问题,必须要加overload参数。
8、配置场景三nat转换策略
将内网服务器172.16.1.100 映射成公网地址192.168.2.168;或者将内网172.16.1.100 tcp 80端口 映射成公网的192.168.2.168 的80端口。
如下分别为基于ip地址的一对一映射及基于TCP、UDP协议的端口映射的配置示例:
1)基于ip地址的一对一映射
R1(config)#ip nat inside source static 172.16.1.100 192.168.2.168 permit-inside //把内网172.16.1.100 映射成公网的192.168.2.168
2)基于TCP、UDP协议的端口映射
R1(config)#ip nat inside source static tcp 172.16.1.100 80 192.168.2.168 80 permit-inside //把内网172.16.1.100 tcp 23端口 映射成公网的192.168.2.168 的23端口
注意:
1)静态nat转换,可以进行ip地址一对一的转换,也可以基于TCP、UDP协议进行端口转换。
2)
permit-inside功能:当有内网服务器静态映射成公网地址时,内网PC若需要通过该公网地址访问服务器,就必须配置permit-inside参数,在配置静态nat时,建议都配置permit-inside参数。
五、配置验证
场景一验证:测试内网能否正常访问外网,若内网PC可以正常访问外网,则NAT配置正确。在出口路由器上查看NAT转换表项如下:
场景二验证:测试内网能否正常访问外网,若内网PC可以正常访问外网,则NAT配置正确。在出口路由器上查看NAT转换表项如下:
2.3 上网配置——固化交换模块路由器
章节介绍:
该章节主要介绍携带有二层交换模块路由器设备的基本上网、端口映射等NAT配置,这些路由器型号包含RSR10-02E、RSR20-04E、RSR20-14E/F、RSR20-X系列、RSR10-X系列和使用扩展交换卡(比如NMX-24ESW)的设备。由于设备本身携带或扩展了交换口实现了多台PC直接连接到交换口接入网络进行上网。
功能介绍:
PAT:端口地址转换,又叫网络地址端口转换(NAPT),通过 外网接口的IP地址+端口号来对应和区别各个数据流进行网络地址转换,以达到多内部主机通过外网接口的IP地址来访问外部网络的目的。通常用在只有一个公网地址时的场景。
地址池转换:公网地址池的IP地址+端口号来对应和区别各个数据流进行网络地址转换,以达到多内部主机通过少量公网IP地址来访问外部网络的目的。通常用在有多个1个出口有多个公网ip地址的情况
静态NAT:把内部主机的ip地址一对一的映射成公网ip地址,或者 内部主机的ip地址+端口 一对一的映射成 公网ip地址+端口。通常用在需要将内部主机映射成公网地址,或者内部服务器的某个端口映射成公网地址的某个端口,达到通过访问公网地址或者公网地址+端口号来访问内部服务器的目的。
应用场景
企业通过租用运营商的专线上网,分别介绍以下三个场景的应用,实现相应的功能。
场景一:当只有一个公网IP地址的时候,需要把内网用户的地址全部转换成外网接口的IP地址,使内网用户能够访问外网。
场景二:当有一个公网IP地址段的时候,需要把内网用户的地址全部转换成公网地址段的IP地址,使内网能够访问外网。
场景三:将内网服务器映射到某一公网IP,使外网用户能够通过访问该公网IP来访问内网服务器的资源。
一、组网需求
RSR路由器做因特网出口,内部PC和服务器网关均在路由器上,通过路由器访问外网,同时内网有一台服务器,需将服务器地址(端口)映射到公网地址(端口),为外界提供服务。注,内网pc属于vlan10网段,内网服务器属于vlan20网段。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、内网终端划分到相应的vlan中
3、基本的ip路由配置
4、DHCP服务器配置
5、定义nat的内网口和外网口
6、在R1上配置ACL,把内网需要进行NAT转换的流量匹配出来
7、配置场景一NAT转换策略
8、配置场景二NAT转换策略
9、配置场景三NAT转换策略
四、配置步骤
1、基本ip地址配置
Ruijie(config)#hostname R1
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip address 192.168.2.1 255.255.255.0
R1(config-GigabitEthernet 0/1)#exit
R1(config)#vlan 10
R1(config-vlan)#exit
R1(config)#vlan 20
R1(config-vlan)#exit
R1(config)#inter vlan 10
R1(config-if-VLAN 10)#ip add 172.16.1.254 255.255.255.0
R1(config-if-VLAN 10)#exit
R1(config)#inter vlan 20
R1(config-if-VLAN 20)#ip add 172.16.2.254 255.255.255.0
2、内网终端划分到相应的vlan中
R1(config)#inter fastEthernet 1/2
R1(config-if-FastEthernet 1/2)#switchport access vlan 10// 划分内网pc接口属于vlan10
R1(config)#inter fastEthernet 1/13
R1(config-if-FastEthernet 1/13)#switchport access vlan 20 // 划分服务器接口属于vlan20
3、配置出口路由器路由
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2 // 出口路由配置到英特网的默认路由
4、DHCP服务器配置
R1(conf)#service dhcp//开启DHCP服务
R1(conf)#ip dhcp pool ruijie//ruijie是dhcp地址池的名字,可以随便取
R1(dhcp-config)#netw 172.16.1.0 255.255.255.0//电脑需要获得的ip地址的网段
R1(dhcp-config)#default-router 172.16.1.254//电脑属于VLAN 10下的网关地址,即使vlan10的接口的ip地址
R1(dhcp-config)#dns-server 202.96.113.34 202.96.13.35 // 电脑的DNS,前面一个是主的dns,后面一个是备dns
R1(conf)#ip dhcp pool ruijie2//ruijie2是dhcp地址池的名字,可以随便取
R1(dhcp-config)#netw 172.16.2.0 255.255.255.0//电脑需要获得的ip地址的网段
R1(dhcp-config)#default-router 172.16.2.254//电脑属于VLAN 10下的网关地址,即使vlan10的接口的ip地址
R1(dhcp-config)#dns-server 202.96.113.34 202.96.13.35 // 电脑的DNS,前面一个是主的dns,后面一个是
5、定义nat的内网口和外网口
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip nat outside //配置nat的外网口
R1(config-GigabitEthernet 0/1)#exit
R1(config)#inter vlan 10
R1(config-if-VLAN 10)#ip nat inside
R1(config-if-VLAN 10)#exit
R1(config)#inter vlan 20
R1(config-if-VLAN 20)#ip nat inside
6、在R1上配置ACL,把内网需要进行NAT转换的流量匹配出来
R1(config)#ip access-list standard 10
R1(config-std-nacl)#10 permit 172.16.1.0 0.0.0.255
R1(config-std-nacl)#10 permit 172.16.2.0 0.0.0.255
R1(config-std-nacl)#exit
7、配置场景一nat转换策略
R1(config)#ip nat inside source list 10 interface gigabitEthernet 0/1 overload //将acl 10匹配的流量,执行nat转换,转换成gigabitEthernet 0/1口的地址
8、配置场景二nat转换策略
1)配置公网地址池
R1(config)#ip nat pool ruijie netmask 255.255.255.0 //配置一个名字为ruijie的公网地址池
R1(config-ipnat-pool)#address 192.168.2.10 192.168.2.11 //公网地址的起始ip地址,结束ip地址
R1(config-ipnat-pool)#address 192.168.2.15 192.168.2.15//若有多个公网地址,但是不连续,可以配置多个公网地址段
R1(config-ipnat-pool)#exit
注意:
1)公网地址池的地址,不一定要跟外网口的地址在同一个网段,只要是外网分配的可用ip地址就可以。
2)公网地址的起始ip地址和结束ip地址可以不连续
** 2)配置nat转换策略**
R1(config)#ip nat inside source list 10 pool ruijie overload //将acl 10匹配的流量,执行nat转换,转换成地址池ruijie里面的地址
注意:
overload参数是执行nat重载的含义,若不加overload是执行动态的ip一对一映射,不会执行端口转换,不能解决公网地址不够的问题。若是在网络出口执行NAT,是为了解决公网地址不够的问题,必须要加overload参数。
9、配置场景三nat转换策略
将内网服务器172.16.2.100 映射成公网地址192.168.2.168;或者将内网172.16.1.100 tcp 80端口 映射成公网的192.168.2.168 的80端口。
如下分别为基于ip地址的一对一映射及基于TCP、UDP协议的端口映射的配置示例:
1)基于ip地址的一对一映射
R1(config)#ip nat inside source static 172.16.2.100 192.168.2.168 permit-inside //把内网172.16.1.100 映射成公网的192.168.2.168
2)基于TCP、UDP协议的端口映射
R1(config)#ip nat inside source static tcp 172.16.2.100 80 192.168.2.168 80 permit-inside //把内网172.16.1.100 tcp 23端口 映射成公网的192.168.2.168 的23端口
注意:
1)静态nat转换,可以进行ip地址一对一的转换,也可以基于TCP、UDP协议进行端口转换。
2)permit-inside功能:当有内网服务器静态映射成公网地址时,内网PC若需要通过该公网地址访问服务器,就必须配置permit-inside参数,在配置静态nat时,建议都配置permit-inside参数。
五、配置验证
场景一验证:测试内网能否正常访问外网,若内网PC可以正常访问外网,则NAT配置正确。在出口路由器上查看NAT转换表项如下:
场景二验证:测试内网能否正常访问外网,若内网PC可以正常访问外网,则NAT配置正确。在出口路由器上查看NAT转换表项如下:
2.4 上网配置——多出口及permit-inside功能
功能介绍:
在外网有多出口存在的情况下,数据包从不同的外网口转发时,将内外的数据流转化成不同的ip地址+端口。同时permit-inside功能可以实现内网主机通过公网地址访问内部的服务器。
应用场景:
企业租用多个不同运营商的专线上网,内网有一台服务器需要映射到两个外网口上,让外网的用户也能访问到服务器上的资源,若要想实现内网用户也能用外网口的IP地址访问内网的服务器(有时候需要用域名来访问服务器,而通常域名解析后对应的都是公网的IP地址),此时可以使用NAT转换的permit-inside功能,实现内外网用户均能用公网地址访问服务器。
一、组网需求
如下网络拓扑,R1到外网有2个出口 R3和R4,需要实现内网 172.16.1.0/24 访问外网走R3出口,并转换成该出口的公网地址;内网 172.16.2.0/24 访问外网走R4出口,并转换成该出口的公网地址。内网一台服务器172.16.1.100,转换成公网地址 192.168.2.168,内外网PC都需要通过该公网地址访问服务器。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、基本的ip路由配置
3、定义nat的内网口和外网口
4、在R1上配置ACL,把内网需要进行NAT转换的流量匹配出来
5、配置公网地址池
6、配置nat转换策略
7、配置静态nat
8、在R1上配置ACL,把内网的流量匹配出来
9、配置策略路由
10、应用策略路由
四、配置步骤
1、基本ip地址配置
Ruijie(config)#hostname R1
R1(config)#interface gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip address 192.168.1.1 255.255.255.0
R1(config-GigabitEthernet 0/0)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip address 192.168.2.1 255.255.255.0
R1(config-GigabitEthernet 0/1)#exit
R1(config)#interface gigabitEthernet 0/2
R1(config-GigabitEthernet 0/2)#ip address 192.168.3.1 255.255.255.0
R1(config-GigabitEthernet 0/2)#exit
Ruijie(config)#hostname R2
R2(config)#interface gigabitEthernet 0/0
R2(config-GigabitEthernet 0/0)#ip address 192.168.1.2 255.255.255.0
R2(config-GigabitEthernet 0/0)#exit
R2(config)#interface gigabitEthernet 0/1
R2(config-GigabitEthernet 0/1)#ip address 172.16.1.1 255.255.255.0
R2(config-GigabitEthernet 0/1)#exit
R2(config)#interface gigabitEthernet 0/2
R2(config-GigabitEthernet 0/2)#ip address 172.16.2.1 255.255.255.0
R2(config-GigabitEthernet 0/2)#exit
Ruijie(config)#hostname R3
R3(config)#interface fastEthernet 0/0
R3(config-if-FastEthernet 0/0)#ip address 192.168.2.2 255.255.255.0
R3(config-if-FastEthernet 0/0)#exit
Ruijie(config)#hostname R4
R4(config)#interface fastEthernet 0/0
R4(config-if-FastEthernet 0/0)#ip address 192.168.3.2 255.255.255.0
R4(config-if-FastEthernet 0/0)#exit
2、基本的ip路由配置,使全网可达
R1(config)#ip route 172.16.0.0 255.255.0.0 192.168.1.2
R2(config)#ip route 100.1.1.0 255.255.255.0 192.168.1.1
R2(config)#ip route 192.168.0.0 255.255.0.0 192.168.1.1
3、定义nat的内网口和外网口
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip nat outside //配置第1个nat的外网口
R1(config-GigabitEthernet 0/1)#exit
R1(config)#interface gigabitEthernet 0/2
R1(config-GigabitEthernet 0/1)#ip nat outside //配置第2个nat的外网口
R1(config-GigabitEthernet 0/1)#exit
R1(config)#int gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip nat inside //配置nat的内网口
R1(config-GigabitEthernet 0/0)#exit
4、在R1上配置ACL,把内网需要进行NAT转换的流量匹配出来
R1(config)#ip access-list standard 10
R1(config-std-nacl)#10 permit 172.16.1.0 0.0.0.255
R1(config-std-nacl)#20 permit 172.16.2.0 0.0.0.255
R1(config-std-nacl)#exit
5、配置公网地址池
注意:
当有多个公网出口时,从不同出口转发数据包,需要nat成对应出口的可用公网地址。我司设备是使用nat地址池下的 match interface 参数来匹配数据包的出接口,把数据包源地址nat成该出接口可用的公网地址。
R1(config)#ip nat pool nat_ruijie netmask 255.255.255.0 //配置nat公网地址池 nat_ruijie
R1(config-ipnat-pool)#address 192.168.2.10 192.168.2.11 match interface GigabitEthernet 0/1 //当数据包从GigabitEthernet 0/1口转发出去时,nat成地址 192.168.2.10 - 192.168.2.11
R1(config-ipnat-pool)#address 192.168.3.10 192.168.3.11 match interface GigabitEthernet 0/2 //当数据包从GigabitEthernet 0/2口转发出去时,nat成地址 192.168.3.10 - 192.168.3.11
R1(config-ipnat-pool)#exit
6、配置nat源地址池转换
R1(config)#ip nat inside source list 10 pool nat_ruijie overload //将acl 10匹配的流量,转换成 nat_ruijie 地址池的地址,并做nat重载
注意:
overload参数是执行nat重载的含义,若不加overload是执行动态的ip一对一映射,不会执行端口转换,不能解决公网地址不够的问题。若是在网络出口执行NAT,是为了解决公网地址不够的问题,必须要加overload参数。
7、配置静态nat
注意:
1)静态nat转换,可以进行ip地址一对一的转换,也可以基于TCP、UDP协议进行端口转换。
2)permit-inside功能:当有内网服务器静态映射成公网地址时,内网PC若需要通过该公网地址访问服务器,就必须配置permit-inside参数,在配置静态nat时,建议都配置permit-inside参数。
如下分别为基于ip地址的一对一映射及基于TCP、UDP协议的端口映射的配置示例:
1)基于ip地址的一对一映射
R1(config)#ip nat inside source static 172.16.1.100 192.168.2.168 permit-inside //把内网172.16.1.100 映射成公网的192.168.2.168
2)基于TCP、UDP协议的端口映射
R1(config)#ip nat inside source static tcp 172.16.1.100 23 192.168.2.168 23 permit-inside //把内网172.16.1.100 tcp 23端口 映射成公网的192.168.2.168 tcp 23端口
8、在R1上配置策略路由匹配的ACL,把内网的流量匹配出来
注意:
基于我司流表的处理机制限制,nat的permit-inside功能和策略路由有冲突,需要在策略路由中ACL中将内网用户到服务器的网段流量deny掉,当内网访问服务器互访时,不执行策略路由,因此配置如下:
R1(config)#ip access-list extended 110 //配置ACL 110,匹配内网172.16.1.0/24 访问外网的流量
R1(config-ext-nacl)#10 deny ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
R1(config-ext-nacl)#20 permit ip 172.16.1.0 0.0.0.255 any
R1(config)#ip access-list extended 120 //配置ACL 120,匹配内网172.16.2.0/24 访问外网的流量
R1(config-ext-nacl)#10 deny ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255
R1(config-ext-nacl)#20 permit ip 172.16.2.0 0.0.0.255 any
R1(config-ext-nacl)#exit
如果不配置内网服务器与用户之间的deny 则数据转换情况分析如下:
内网中有一台PC 172.16.2.10 通过192.168.2.168来访问该服务器,那么有以下转换过程:
基于我司的流表处理机制,当进行以上源、目IP地址转换后,将会认为这是一条源地址为172.16.2.10,目的地址为172.16.1.100的数据流。因此在策略路由ACL的配置中,需要注意首先要将该类流量丢弃(即所有内网网段到服务器所在网段的流量),否则将导致该类流量被策略路由重定向到指定的外网口下一跳。另外由于服务器所在网段172.16.1.0也做了策略路由,也存在该问题。
9、配置策略路由
R1(config)#route-map ruijiepermit 10 //配置route-map ruijie
R1(config-route-map)#match ip address 110 //匹配内网acl 110的流量
R1(config-route-map)#set ip next-hop *192.168.2.2 * //强制设置ip报文的下一跳为 192.168.2.2,走R3出口
R1(config-route-map)#exit
R1(config)#route-map ruijie permit 20
R1(config-route-map)#match ip address 120
R1(config-route-map)#set ip next-hop 192.168.3.2
R1(config-route-map)#exit
10、应用策略路由
R1(config)#interface gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip policy route-map ruijie //应用策略路由
R1(config-GigabitEthernet 0/0)#exit
五、配置验证
1、测试内网PC能否正常访问外网,并且查看是否按照策略路由选路。若172.16.1.0/24可用正常访问外网并且走R3出口;172.16.2.0/24可用正常访问外网并且走R4出口,则多出口NAT及策略路由配置正确。
R2#traceroute 100.1.1.1 source 172.16.1.1
< press Ctrl+C to break >
Tracing the route to 100.1.1.1
1 192.168.1.1 0 msec 0 msec 0 msec
2 192.168.2.2 10 msec 0 msec 10 msec //172.16.1.0/24 访问外网走R3出口
其它路径省略
2、测试内外网PC通过公网ip,能否正常访问服务器,若内网PC通过公网ip,都可以正常访问服务器,则静态nat配置正确。内网PC通过公网地址访问服务器,nat映射表如下:
03 外部源地址转换
功能介绍:
当内部主机需要访问外部网络,但是不想引入外部路由时,可以使用外部源地址转换,将外部主机的ip地址+端口,转换成内部网络的ip地址+端口。
一、组网需求
内网有相应的安全策略,只允许内网PC之间的互访, 但是又需要访问外网的服务器,通过nat的外部源地址转换功能,把外网服务器的公网地址转换成内网地址,使内网用户在访问外网的时候,感知不到自己已经访问了外网。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、基本的ip路由配置
3、定义nat的内网口和外网口
4、配置nat外网源地址转换
四、配置步骤
1、基本ip地址配置
Ruijie(config)#hostname R1
R1(config)#interface gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip address 192.168.1.1 255.255.255.0
R1(config-GigabitEthernet 0/0)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip address 192.168.2.1 255.255.255.0
R1(config-GigabitEthernet 0/1)#exit
Ruijie(config)#hostname R2
R2(config)#interface gigabitEthernet 0/0
R2(config-GigabitEthernet 0/0)#ip address 192.168.1.2 255.255.255.0
R2(config-GigabitEthernet 0/0)#exit
R2(config)#interface gigabitEthernet 0/1
R2(config-GigabitEthernet 0/1)#ip address 172.16.1.1 255.255.255.0
R2(config-GigabitEthernet 0/1)#exit
R2(config)#interface gigabitEthernet 0/2
R2(config-GigabitEthernet 0/2)#ip address 172.16.2.1 255.255.255.0
R2(config-GigabitEthernet 0/2)#exit
Ruijie(config)#hostname R3
R3(config)#interface fastEthernet 0/0
R3(config-if-FastEthernet 0/0)#ip address 192.168.2.2 255.255.255.0
R3(config-if-FastEthernet 0/0)#exit
2、基本的ip路由配置
R1(config)#ip route 172.16.0.0 255.255.0.0 192.168.1.2
R1(config)#ip route 100.1.1.0 255.255.255.0 192.168.2.2
R2(config)#ip route 192.168.0.0 255.255.0.0 192.168.1.1
R3(config)#ip route 172.16.0.0 255.255.0.0 192.168.2.1 //配置外网到内网的回程路由(若外网没有内网的回程路由,还需在出口路由器做内部源地址转换)
3、定义nat的内网口和外网口
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip nat outside //配置nat的外网口
R1(config-GigabitEthernet 0/1)#exit
R1(config)#int gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip nat inside //配置nat的内网口
R1(config-GigabitEthernet 0/0)#exit
4、配置nat外网源地址转换
注意:
1)外部源地址转换,可以进行ip地址一对一的转换,也可以基于TCP、UDP协议进行端口转换。
2)外部源地址转换,外网服务器的内部本地地址,该地址不需要一定是出口路由器上的网段,只要内网路由可达,能够把内网PC访问该服务器的报文路由到出口路由器就可以。
如下分别为基于ip地址的一对一映射及基于TCP、UDP协议的端口映射的配置示例:
1、基于ip地址的一对一映射
R1(config)#ip nat outside source static 100.1.1.1 192.168.1.168 //当内网访问192.168.1.168时,将目的ip地址转换成 100.1.1.1
2、基于TCP、UDP协议的端口映射
R1(config)#ip nat outside source static tcp 100.1.1.1 23 192.168.1.168 23 //当内网访问192.168.1.168 的tcp 23端口时,将目的ip地址转换成 100.1.1.1 的23端口
五、配置验证
测试内网能否通过外网服务器在本网络可见的私网地址,正常访问,若可以正常访问外网的服务器,则外部源地址转换NAT配置正确。在出口路由器上查看NAT转换表项如下:
04 NAT实现TCP负载均衡
功能介绍:
当我们内部有几台提供相同服务的服务器时,我们可以用NAT来做到负载均衡;该功能也称为TCP负载均衡技术。
一、组网需求
内网服务器的地址通过静态NAT,转换成相同的外网的地址,外网访问该服务器时,可以通过NAT实现负载均衡。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、基本的ip路由配置
3、定义nat的内网口和外网口
4、通过ACL匹配外网访问内网服务器的流量
5、配置服务器的地址池
6、配置目的地址转换
四、配置步骤
1、基本ip地址配置
Ruijie(config)#hostname R1
R1(config)#interface gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip address 192.168.1.1 255.255.255.0
R1(config-GigabitEthernet 0/0)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/2)#ip address 192.168.2.1 255.255.255.0
R1(config-GigabitEthernet 0/2)#exit
Ruijie(config)#hostname R2
R2(config)#interface fastEthernet 0/0
R2(config-if-FastEthernet 0/0)#ip address 192.168.2.2 255.255.255.0
R2(config-if-FastEthernet 0/0)#exit
2、基本的ip路由配置
R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.2.1 //配置外网到服务器公网地址的路由
3、定义nat的内网口和外网口
R1(config)#interface gigabitEthernet 0/1
R1(config-GigabitEthernet 0/1)#ip nat outside //配置nat的外网口
R1(config-GigabitEthernet 0/1)#exit
R1(config)#int gigabitEthernet 0/0
R1(config-GigabitEthernet 0/0)#ip nat inside //配置nat的内网口
R1(config-GigabitEthernet 0/0)#exit
4、通过ACL匹配外网访问内网服务器的流量
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#10 permit ip any host 192.168.10.168 //外网到服务器公网地址(192.168.10.168)的流量
R1(config-ext-nacl)#exit
注意:
1)我司的TCP负载均衡中只支持扩展ACL配置,不支持标准ACL配置。
2)服务器外网IP地址选择
在TCP负载均衡的配置中,假如服务器映射的外网IP选择与外网口IP同网段的其它IP地址,会由于设备不对该IP地址的ARP请求进行回应而导致映射失效(设备会认为这是一台与本出口在同一网段的其它设备地址,而不是自身的地址,因此不对该IP地址的ARP请求进行回应);因此TCP负载均衡只支持映射为外网口出口IP地址或其它网段的IP地址,不能映射为与出接口同网段的其它IP地址。如以上例子中,可以将两台服务器映射至192.168.2.1,或其它网段地址(如192.168.10.0/24);但无法映射为192.168.2.0/24(与出口同网段的其它地址)。
5、配置服务器的地址池
R1(config)#ip nat pool server 192.168.1.100 192.168.1.101 netmask 255.255.255.0 type rotary //定义名为server的地址池,地址池类型为rotary(循环),在做目的nat转换时,循环转换为内网服务器的地址
6、配置目的地址转换
R1(config)#ip nat inside destination list 100 pool *server * //将acl 100的流量,报文的目的地址转换成server地址池的地址
注意:
1)路由器不检测内网服务器的可用性
如果内网服务器群里有一台或多台、甚至是全部服务器都不工作了,由于路由器上没有相关检测服务器是否正常工作的功能,因此路由器是无法判断内网服务器的可用性,依旧会将流量进行负载均衡,而不管服务器能否应答。
2)只对TCP流量进行转换
只对TCP流量进行转换,不会对ICMP等其它协议进行转换。
3)我司设备进行TCP负载均衡时,是基于源ip地址的hash值进行负载均衡,若外网2个ip访问没有实现负载均衡,是由于这2个ip地址的hash值一样,可以尝试变更外网ip地址做测试。
五、配置验证
分别测试多个外网PC访问服务器的公网地址,若第一PC访问该服务器时转换成192.168.1.100的内网地址,第二PC访问该服务器时转换成192.168.1.101的内网地址,则NAT复杂均衡配置正确。
第一个PC访问服务器时,访问到server-1,查看nat转换表如下
R2#telnet 192.168.10.168
Trying 192.168.10.168, 23...
server-1>
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 192.168.10.168:23 192.168.1.100:23 192.168.2.2:1052 192.168.2.2:1052
第二个PC访问服务器时,访问到server-2,查看nat转换表如下
R4#telnet 192.168.10.168
Trying 192.168.10.168, 23...
server-2>
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 192.168.10.168:23 192.168.1.101:23 192.168.2.3:1053 192.168.2.3:1053
05 双向NAT转换
功能介绍:
双向nat转换,可以同时转换数据包的源ip、目的ip、源端口、目的端口。金融行业外联网中,内部服务器地址不能直接被外联单位访问,需要转换成外网的地址,且不希望外联单位的路由引入内网,避免外联单位地址重叠,需要实现外联单位的源地址转换。
一、组网需求
如下网络拓扑,外联单位 100.1.1.1 需要访问内网服务器 172.16.1.100,内网服务器静态映射成外网地址 192.168.2.168,同时对外网 100.1.1.1 进行外部源地址转换,转换成内网地址 172.16.10.168,从而实现内网无需引入外网的路由。
二、组网拓扑
三、配置要点
1、基本ip地址配置
2、基本的ip路由配置
3、定义nat的内网口和外网口
4、配置内部服务器静态nat映射成外网地址
5、配置nat外网源地址转换
四、配置步骤
1、基本ip地址配置
Ruijie(config)#hostname R1
R1(config)#interface fastEthernet 0/0
R1(config-if-FastEthernet 0/0)#ip address 192.168.2.1 255.255.255.0
R1(config-if-FastEthernet 0/0)#exit
R1(config)#interface fastEthernet 0/1
R1(config-if-FastEthernet 0/1)#ip address 192.168.1.1 255.255.255.0
R1(config-if-FastEthernet 0/1)#exit
Ruijie(config)#hostname R2
R2(config)#interface gigabitEthernet 0/0
R2(config-GigabitEthernet 0/0)#ip address 192.168.1.2 255.255.255.0
R2(config-GigabitEthernet 0/0)#exit
R2(config)#interface gigabitEthernet 0/1
R2(config-GigabitEthernet 0/0)#ip address 172.16.1.1 255.255.255.0
R2(config-GigabitEthernet 0/0)#exit
Ruijie(config)#hostname R3
R3(config)#interface gigabitEthernet 0/0
R3(config-GigabitEthernet 0/0)#ip address 192.168.2.2 255.255.255.0
R3(config-GigabitEthernet 0/0)#exit
2、基本的ip路由配置
R1(config)#ip route 100.1.1.0 255.255.255.0 192.168.2.2 //到外网目的网段的路由
R1(config)#ip route 172.16.1.0 255.255.255.0 192.168.1.2 //到内网服务器的路由
R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.1.1 //R2到外部本地地址的路由,把内网发给外部本地地址的数据包,送到出口路由器
3、定义nat的内网口和外网口
R1(config)#interface fastEthernet 0/0
R1(config-if-FastEthernet 0/0)#ip nat outside
R1(config-if-FastEthernet 0/0)#exit
R1(config)#interface fastEthernet 0/1
R1(config-if-FastEthernet 0/1)#ip nat inside
R1(config-if-FastEthernet 0/1)#exit
4、配置内部服务器静态nat映射成外网地址
注意:
静态nat转换,可以进行ip地址一对一的转换,也可以基于TCP、UDP协议进行端口转换。
如下分别为基于ip地址的一对一映射及基于TCP、UDP协议的端口映射的配置示例:
1)基于ip地址的一对一映射
R1(config)#ip nat inside source static 172.16.1.100 192.168.2.168 //把内网172.16.1.100 映射成公网的192.168.2.168
2)基于TCP、UDP协议的端口映射
R1(config)#ip nat inside source static tcp 172.16.1.100 23 192.168.2.168 23 //把内网172.16.1.100 tcp 23端口 映射成公网的192.168.2.168 的23端口
5、配置nat外网源地址转换
注意:
1)外部源地址转换,可以进行ip地址一对一的转换,也可以基于TCP、UDP协议进行端口转换。
2)外部源地址转换,外网PC的内部本地地址,该地址不需要一定是出口路由器上的网段,只要内网路由可达,能够把内网服务器到外网PC的回程报文路由到出口路由器就可以。若外网PC的源端口号不固定,那么外部源地址转换,只能是做基于ip地址的一对一映射。
如下分别为基于ip地址的一对一映射及基于TCP、UDP协议的端口映射的配置示例:
1)基于ip地址的一对一映射
R1(config)#ip nat outside source static 100.1.1.1 172.16.10.168 //当内网访问172.16.10.168时,将目的ip地址转换成 100.1.1.1
2)基于TCP、UDP协议的端口映射
R1(config)#ip nat outside source static tcp 100.1.1.1 1025 172.16.10.168 1025 //外部全局地址的100.1.1.1 tcp 源端口 1025,转换成外部本地地址172.16.10.168 tcp 源端口 1025
五、配置验证
若外网能够通过内部服务器的外网地址正常访问,且内部网络无需引入外网路由,则双向nat配置正确。
06 VRF NAT
**功能介绍: **
MPLS VPN(后面简称VPN)环境中,MCE接入是通过VRF来区分不同的VPN隧道,各个网络通过不同的VPN隧道互访,达到网络互访的效果。
随着MPLS网络发展,不同的网络互访的需求出现。由于在网络规划初期,并非按照全局考虑规划网络,很多网络中存在IP地址冲突。当这些用户需要访问公共资源的时候或者互相访问的时候就会出现地址冲突。在不改变原有网络规划的前提下,要实现网络互访,提供技术解决方案来解决地址冲突的问。NAT是解决地址冲突的最简单方式。
VRF下的NAT命令解释:
ip nat inside [vrf vrf_name] source list access-list-number pool address-pool [vrf vrf_name]
//前一个VRF是指定该条转换命令在哪个VRF内生效;如果不配置,说明全局生效,即对所有VRF都生效。
//后一个VRF是指定该条转换命令进行地址转换后,属于那个VRF,即跳转到该VRF,按该VRF路由表路由。
一、组网需求
实施VRF NAT前,请先阅读”跨VRF路由“章节。(典型配置--->IP路由--->跨VRF路由)
在”跨VRF路由“案例基础上,新增加需求,在PE1设备上完成NAT转换
二、组网拓扑
三、配置要点
数据传输是双向的,我们需要同时考虑PC1到INTERNET、INTERNET到PC1双向的路由联通性
PC1到INTERNET方向:
需求是:PC1需要访问INTERNET,但除PC1以外的非VPN业务不能访问INTERNET。因此需要在PE1的GI3/1/0入口方向实施跨VRF的策略路由。只允许PC1网段跨VRF转发,其他网段屏蔽。
同时需要在PE1上全局路由表引入默认路由,使得公网非VPN业务路由器能学到去往INTERNET的默认路由。
INTERNET到PC1方向:
不需要额外的路由配置,因为RSR路由器基于流表机制,在正向NAT转换流表形成后,自动实现VRF跳转
四、配置步骤
跨VRF路由一般应用在MPLS-VPN网络的PE设备上,但其本质是VRF间的跳转,和MPLS无关。因此本案例中不涉及MPLS-VPN配置。
PE1配置:
1、基本路由连通性配置:
ip vrf vpn1
interface GigabitEthernet 3/1/0
ip address 12.0.0.2 255.255.255.0
interface GigabitEthernet 3/1/1
ip vrf forwarding vpn1
ip address 23.0.0.2 255.255.255.0
interface Loopback 0
ip address 2.2.2.2 255.255.255.255
router ospf 1
network 2.2.2.2 0.0.0.0 area 0
network 12.0.0.2 0.0.0.0 area 0
default-information originate always
router ospf 10 vrf vpn1
redistribute static subnets
network 23.0.0.2 0.0.0.0 area 0
2、PC1到INTERNET方向路由策略(使用策略路由):
route-map internet permit 10
match ip address 100
set vrf vpn1
ip access-list extended 100
10 permit ip 10.0.0.0 0.255.255.255 any
interface GigabitEthernet 3/1/0
ip policy route-map internet
3、跨VRF NAT:
access-list 1 permit host 10.0.0.1
ip nat inside source list 1 interface gigabitEthernet 3/1/1 vrf vpn1
PE2配置:
interface GigabitEthernet 0/0
ip ref
ip address 12.0.0.1 255.255.255.0
interface GigabitEthernet 0/1
ip ref
ip address 10.0.0.254 255.255.255.0
interface Loopback 0
ip ref
ip address 1.1.1.1 255.255.255.255
router ospf 1
network 1.1.1.1 0.0.0.0 area 0
network 10.0.0.0 0.0.0.255 area 0
network 12.0.0.1 0.0.0.0 area 0
INTERNET出口路由器配置:
interface GigabitEthernet 0/0
ip ref
ip address 23.0.0.3 255.255.255.0
interface Loopback 0
ip ref
ip address 3.3.3.3 255.255.255.255
router ospf 1
redistribute static subnets
network 23.0.0.3 0.0.0.0 area 0
default-information originate
ip route 0.0.0.0 0.0.0.0 Loopback 0
五、配置验证
1、****PC1可以PING通INTERNET出口路由器3.3.3.3
PC1#ping 3.3.3.3
Sending 5, 100-byte ICMP Echoes to 3.3.3.3, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/12/20 ms
2、通过show ip nat translations确认NAT映射是否成功。
07 常见问题和故障
7.1 常见问题
1、什么是NAT功能
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
2、RSR系列路由器是否支持在VRF下做NAT
支持
3、NAT地址池是否可以配置为出接口地址范围之外的一个地址段
可以
4、RSR系列路由器始发于本地的流量能否NAT
不支持对始发于本地的流量进行NAT
5、RSR77路由器为什么show ip nat translation看不到任何转换表项
RSR77路由器是分布式路由器,需要登录到outside接口对应的线卡,然后show ip nat translation 查看,也可使用命令show ip nat translation slot x/y来查看
6、****RSR系列路由器nat地址池配置多个发现其中有一些不生效
RSR系列路由器 nat匹配规则的时候使用访问列表作为首要条件,地址池配置中只对一个地址池下面的多条规则逐一查找,不查找多个地址池配置。地址池匹配中可以针对出接口查找,但不支持针对路由下一跳查找。
7、什么是permit-inside功能
若内网有一台服务器映射成为一个公网IP地址,并且将该公网IP注册至一个域名中。此时内网用户通过直接输入域名访问该服务器,域名服务器将该服务器的地址解析为已经注册的公网IP地址。默认情况下,当内网用户通过公网地址来访问该服务器时,路由器将认为该流量为正常的穿越流量,因此将为该流量做正常的源地址转换;而在做源地址转换之前,由于检查到该公网IP与外网口在同一网段,因此在做源地址转换前需要预先发送ARP请求来解析该公网IP的MAC地址;但由于实际外网口网段中不存在一台配置为该IP的终端,ARP请求将始终得不到响应,因此源地址转换也将失败。最终,内网用户访问该服务器公网地址的现象为:路由器上无相关转换表项,只在出口发出ARP请求,并且内网用户得不到任何数据应答。此时就需要配置permit-inside功能。
当路由器上配置了permit-inside功能,如下:
ip nat inside source static tcp 192.168.1.254 23 10.0.0.1 23 permit-inside
此时,在内网192.168.1.2上telnet 10.0.0.1,在路由器上查看转换表项如下:
RSR50-40#sh ip nat tran
Pro Inside globalInside local Outside localOutside global
tcp 10.0.0.1:1046192.168.1.2:104610.0.0.1:23192.168.1.254:23
当配置了permit-inside功能后,路由器对相应数据包的源、目IP都进行了转换:
源IP地址
目的IP地址
转换前
192.168.1.2:1046
10.0.0.1:23
转换后
10.0.0.1:1046
192.168.1.254:23
8、NAT应用案例----TCP负载均衡
当我们内部有几台提供相同服务的服务器时,我们可以用NAT来做到负载均衡;该功能也称为TCP负载均衡技术。
配置案例:
如下图所示,内网有两台相同的服务器192.168.1.253、192.168.1.254共同为外部提供相同的服务(对外提供WWW服务)。为了达到两台服务器负载均衡的效果、我们将两台服务器共同映射至一个相同的外网地址,并且将外部访问的流量均衡地分配至两台不同的服务器上。
图例:NAT应用实例----TCP负载均衡
路由器配置:
ip access-list extended 100
10 permit ip any host 10.0.0.1
!
interface GigabitEthernet 0/0
ip nat outside
ip ref
ip address 10.0.0.1 255.255.255.0
!
interface GigabitEthernet 0/1
ip nat inside
ip ref
ip address 192.168.1.1 255.255.255.0
!
ip nat pool server 192.168.1.253 192.168.1.254 netmask 255.255.255.0 type rotary
ip nat inside destination list 100 pool server
9、配置TCP负载均衡时,能否支持对内网的多个服务器可达性进行检测
不支持
10、ip nat outside source list与ip nat outside source static的区别
ip nat outside source list命令(动态nat) 与ip nat outside source static 命令(静态nat)区别在于,必须有外部主机主动先发起与内部网络的连接后,路由器才会建立相应转换条目;此时内部主机才能够与外部主机通信。
11、ip nat inside source与ip nat outside source的区别
命令
对数据包的操作
ip nat outside source
转换IP包的源,这些IP包正在从外部传输到内部
转换IP包的目的地,这些IP包正在从内部传输到外部
ip nat inside source
转换IP包的源,这些IP包正在从内部传输到外部
转换IP包的目的地,这些IP包正在从外部传输到内部
7.2 常见故障
1、配置NAT负载均衡时,发现负载均衡功能不生效
1)我司的TCP负载均衡中只支持扩展ACL配置,不支持标准ACL配置。如将以上实例中的配置:
ip access-list extended 100
10 permit ip any host 10.0.0.1
ip nat inside destination list 100 pool server
修改为:
ip access-list standard 10
10 permit host 10.0.0.1
ip nat inside destination list 10 pool server
2)外网IP地址的选择
TCP负载均衡只支持将服务器映射为外网口出口IP地址或其它网段的IP地址,不能映射为与出接口同网段的其它IP地址。如以上例子中,出品的IP地址为10.0.0.1/24,则可以将两台服务器映射至10.0.0.1,或其它网段地址(如20.0.0.1);但无法映射为10.0.0.10(与出口同网段的其它地址)。
2、elog无法采集到设备NAT流量信息的故障排查思路
1)测试路由器到elog服务器的连通性,确认ping包及elog报文是否被中间的网络设备过滤掉
2)检查路由器对应的elog配置以及elog服务器的设置是否正确
3)确实无法定位问题,可以在路由器的出接口以及elog服务器上进行抓包,确认具体的问题点
** 3、出口NAT路由器内网PC无法通过域名访问内部服务器的故障排查思路**
1)测试域名的对应的公网地址能否正常访问,域名能否正确解析到对应的公网地址,确认是否域名解析这块的问题
2)检查出口NAT路由器上是否配置permit-inside功能
3)测试内网PC通过内部地址是否能够访问内部服务器,确认是否内网或者服务器问题
4)检查NAT路由器的内网口是否应用策略路由,若有策略路由,需要将内网PC访问内部服务器的流量在策略路由的ACL里面拒绝掉,不走策略路由。具体配置细节可以参考路由器实施一本通的如下章节“锐捷路由器产品实施一本通 >> 典型配置 >> 安全 >>NAT >> 源地址转换 >> 上网配置-多出口及permit-inside功能 >> ”
版权归原作者 你可知这世上再难遇我 所有, 如有侵权,请联系我们删除。