1.NAT快速配置
(1)配置终端的IP信息
PC 1:
PC 2:
PC 3:
Server2:
PC 4:
Server1:
(2)配置R1和R2的接口IP
R1:
sys
un in en
sysn R1
int g0/0/0
ip add 192.168.1.1 24
int g0/0/1
ip add 12.1.1.1 30
quit
R2:
sys
un in en
sysn R2
int g0/0/0
ip add 12.1.1.2 30
int g0/0/1
ip add 7.7.7.1 24
int g0/0/2
ip add 192.168.2.1 24
quit
(3)在R1上配置静态路由指向外网的12.1.1.2,接着配置ACL来匹配内网的地址范围,最后在边缘设备出口方向启用NAT调用ACL
ip route-static 0.0.0.0 0 12.1.1.2
acl 2000
rule permit source 192.168.1.0 0.0.0.255
quit
int g0/0/1
nat outbound 2000
quit
(4)验证测试
PC 1 ping Server1 访问成功,说明内网可以访问外网
PC 3通过HTTP访问Server1
(5)外网用户要访问Server2,需要R1的出口方向做nat server映射
通过公网地址映射内网Web服务器的IP地址
int g0/0/1
nat server protocol tcp global current-interface 80 inside 192.168.1.5 80
验证测试:
PC 4访问Server2 结果可以访问成功。
2.NAT概述
2.1前言
随着Internet的发展和网络应用的增多,有限的IPv4公有地址已经成为制约网络发展的瓶颈。为解决这个问题,NAT(Network Address Translation,网络地址转换)技术应需而生。
NAT技术主要用于实现内部网络的主机访问外部网络。一方面NAT缓解了IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性。
2.2 NAT产生背景
随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。
同时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。
为解决该问题,使用过渡技术解决IPv4公有地址短缺就显得尤为必要。
2.3私网IP地址
公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。
私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。
A、B、C类地址中各预留了一些地址专门作为私有IP地址:
▫ A类:10.0.0.0 ~ 10.255.255.255
▫ B类:172.16.0.0 ~ 172.31.255.255
▫ C类:192.168.0.0 ~ 192.168.255.255
2.4 NAT技术原理
NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。
NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。
通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。
3.静态NAT
3.1静态NAT原理
静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。
3.2静态NAT转换示例
3.3静态NAT配置介绍
(1)方式一:接口视图下配置静态NAT
[Huawei-GigabitEthernet0/0/0] nat static global { global-address} inside {host-address }
global参数用于配置外部公有地址,inside参数用于配置内部私有地址。
(2)方式二:系统视图下配置静态NAT
[Huawei] nat static global { global-address} inside {host-address }
配置命令相同,视图为系统视图,之后在具体的接口下开启静态NAT。
[Huawei-GigabitEthernet0/0/0] nat static enable
在接口下使能nat static功能。
(3)静态NAT配置示例
(1)设备的IP地址已经配置好;
(2)配置R1和R2的接口IP;
R1:
R2:
(3)在R1上配置缺省路由
(4)在R1上配置静态NAT将内网主机的私有地址一对一映射到公有地址。
方式一:
先创建ACL匹配规则允许192.168.1.0网段访问外网
acl 2000
rule permit source 192.168.1.0 0.0.0.255
int g0/0/1
nat static global 12.1.1.3 inside 192.168.1.2
nat static global 12.1.1.4 inside 192.168.1.3
nat static global 12.1.1.5 inside 192.168.1.4
方式一的验证测试:
PC 1访问Server
方式二:
nat static global 12.1.1.3 inside 192.168.1.2
nat static global 12.1.1.4 inside 192.168.1.3
nat static global 12.1.1.5 inside 192.168.1.4
int g0/0/1
nat static enable
方式二验证测试
PC 2通过HTTP访问Server
4. 动态NAT
4.1动态NAT原理
动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
4.2动态NAT转换示例
4.3动态NAT配置介绍
(1)创建地址池
[Huawei] nat address-group group-index start-address end-address
配置公有地址范围,其中group-index为地址池编号,start-address、end-address分别为地址池起始地址、结束地址。
(2)配置地址转换的ACL规则
[Huawei] acl number
[Huawei-acl-basic-number ] rule permit source source-address source-wildcard
配置基础ACL,匹配需要进行动态转换的源地址范围。
(3)接口视图下配置带地址池的NAT Outbound
[Huawei-GigabitEthernet0/0/0] nat outbound acl-number address-group group-index [ no-pat ]
接口下关联ACL与地址池进行动态地址转换,no-pat参数指定不进行端口转换。
4.4动态NAT配置示例
在R1上配置动态NAT将内网主机的私有地址动态映射到公有地址。
nat address-group 1 12.1.1.10 12.1.1.20
int g0/0/1
nat outbound 2000 address-group 1 no-pat
动态NAT模拟实验地址池IP放少会出现ping不通的情况
验证测试
放了10个的时候PC 1 ping 不通Server
修改地址范围,如果其它地址被使用,要先去接口下删除nat,然后再删除nat地址池,最后新建nat地址池,接口上启用nat
interface GigabitEthernet0/0/1
undo nat outbound 2000 address-group 1 no-pat
quit
undo nat address-group 1
nat address-group 1 12.1.1.10 12.1.1.30
int g0/0/1
nat outbound 2000 address-group 1 no-pat
quit
验证测试
PC 1 ping Server
模拟器的PC去ping会出现ID一直变,导致每一个报文都会占用一个IP地址,
可以在PC 1上长ping,在R1上通过命令display nat session all 查看nat的会话,
实际中是不会出现这种情况的。
5.NAPT
5.1NAPT原理
动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
5.2NAPT转换示例
5.3NAPT配置示例
在R1上配置NAPT让内网所有私有地址通过12.1.1.1访问公网。
nat address-group 1 12.1.1.10 12.1.1.20
int g0/0/1
nat outbound 2000 address-group 1
把上面步骤动态NAT的no-pat删除掉即可变为基于端口的NAT
通过端口+IP访问外网,地址池放一个地址也可以
验证测试:
PC 1 成功访问Server
PC 2 通过端口加公网的地址方式访问Server
6. Easy-IP
6.1 Easy-IP
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取公网地址,可以直接使用获取到的动态地址进行转换。
6.2 Easy IP配置示例
先删除掉步骤五中NAPT的配置--NAT地址池和G0/0/1接口NAT调用;
在R1上配置Easy-IP让内网所有私有地址通过12.1.1.1访问公网。
验证测试
PC 3成功访问Server
7. NAT Server
7.1 NAT Server使用场景
NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。
外网主机主动访问[公有地址:端口]实现对内网服务器的访问。
7.2 NAT Server转换示例
7.4 NAT Server配置示例
添加一个PC 5,网段设置为100.1.1.0/24
(1)配置PC 5
(2)配置R2:
(3)添加配置Server2
(4)验证测试PC 1 ping PC 5
(5)在R1上配置NAT Server将内网服务器192.168.1.5的80端口映射到公有地址12.1.1.1的80端口。
interface GigabitEthernet0/0/1
nat server protocol tcp global current-interface 80 inside 192.168.1.5 80
#映射要做在G0/0/1接口,
#如果命令写成nat server protocol tcp global 12.1.1.1 80 inside 192.168.1.5 80
它就会报错,说配置的IP地址与网络上已经存在的某个接口或ARP(地址解析协议)表中的IP地址发生了冲突。
(6)验证测试
PC 5访问Server2