HCIA NAT实验

公网地址的由来

个人/企业–>ISP运营商–>CNNIC中国互联网络信息中心–>APNIC(Asia Pacific Network Information Centre)亚太地址网络信息中心–>IANA互联网数字分配机构 (早在2012年IP地址就已经分配完了)

NAT好处

  • 有效避免了来自外网的攻击,大大提高了网络安全性
  • 控制内网访问外网,同时也控制了外网访问内网,解决了内网和外网通信的问题

01

静态NAT配置(一对一)

  • 如果希望一台主机专用某个公网地址,或者想要外网访问内网服务器时,可以使用静态NAT

  • 静态NAT不能有效缓解公网地址短缺的问题

命令 备注
nat static enable 开启NAT静态功能
nat static global 公网地址 inside 私网地址 创建静态NAT
display nat static 查看静态NAT的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#OFFICE
sys
sys OFFICE
dhcp enable
int g0/0/1
ip a 192.168.100.254 24
dhcp select interface
int g0/0/0
ip a 12.0.0.1 24
nat static enable
nat static global 12.0.0.10 inside 192.168.100.253 netmask 255.255.255.255
nat static global 12.0.0.20 inside 192.168.100.252 netmask 255.255.255.255
ip route-s 0.0.0.0 0.0.0.0 12.0.0.2
################################################
#ISP
sys
sys ISP
int g0/0/0
ip a 12.0.0.2 24
int g0/0/1
ip a 2.0.0.254 24

查看静态NAT配置

01

使用pc1 ping pc4

01

在OFFICE路由g0/0/0口抓包,可以看到从192.168.100.253发过来的包已经转换为12.0.0.10 发送给2.0.0.1

01

动态NAT和PAT配置

动态NAT(多对多)

动态NAT基于地址池来实现私有地址和公有地址的转换

  • 动态NAT定义了地址池,规定一个范围的地址可以供主机转换
  • 动态NAT地址池中的地址用尽后,只能等待被占用的地址被释放,其他主机才能使用它来访问公网
  • 动态NAT也不能有效缓解公网地址短缺的问题
命令 备注
acl 2000 创建一个基本ACL
rule 5 deny/permit source 192.168.1.0 0.0.0.255 配置ACL的规则:拒绝或允许源地址为192.168.1.0/24网段内的所有流量
acl 3000 创建一个高级ACL
rule 5 deny/permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq 80 配置ACL的规则:拒绝或允许源地址为192.168.1.0/24网段内到8.8.8.8 的http流量
traffic-fifter inbound/outbound acl 2000 在接口调用ACL过滤流量
display acl 2000 验证ACL
display traffic-filter applied-record 查看设备上所有基于ACL调用情况
命令 备注
nat address-group 编号 公网地址范围 配置NAT地址池
nat outbound acl 编号
address-group 编号 [no-pat]
关联一个ACL和一个NAT地址池
ACL用来匹配能够转换的源地址
no-pat 只转换地址而不转换端口
display nat address-group 查看NAT地址池配置信息
display nat outbound 查看动态NAT配置信息
dis nat session all 查看NAT转换表

动态NAT配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#OFFICE
sys
sys OFFICE
dhcp enable
nat address-group 1 12.0.0.11 12.0.0.15
acl 2000
rule 1 permit source 192.168.100.0 0.0.0.255
int g0/0/1
ip a 192.168.100.254 24
dhcp select interface
int g0/0/0
ip a 12.0.0.1 24
nat outbound 2000 address-group 1 no-pat
ip route-s 0.0.0.0 0.0.0.0 12.0.0.2
#ISP
sys
sys ISP
int g0/0/0
ip a 12.0.0.2 24
int g0/0/1
ip a 2.0.0.254 24

01

01

由于动态NAT地址池中的地址用尽后,只能等待被占用的地址被释放,其他主机才能使用它来访问公网,所以我们地址池里5个地址用完了后就会看到有丢包的现象,有地址被释放后才能用于用于转换

PS:使用ICMP时地址会变换,是没有端口的,但是有标识,可以根据标识来分辨,如下图

01

NAPT(多对一)

NAPT允许多个内部地址映射到统一个公有地址的不同端口

  • NPAT(Network Address Port Translation),也称为NAT-PT或PAT,网络地址端口转换,允许多个私网地址映射到同一个公网地址的不同端口。

  • 通常适用于大型企业网络(申请多个固定的公网地址)

  • NAPT需要定义地址池,不能直接使用出接口的地址

  • 有效的缓解了公网地址短缺的问题

命令 备注
nat address-group 编号 公网地址范围 配置NAT地址池
nat outbound acl 编号 address-group 编号 no-pat 配置调用ACL关联地址池
nat outbound acl 编号 address-group 编号 配置NAPT
display nat address-group 验证NAT地址池配置信息
display nat outbound 验证动态NAT配置信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#OFFICE
sys
sys OFFICE
dhcp enable
nat address-group 2 12.0.0.100 12.0.0.100
acl 2000
rule 1 permit source 192.168.100.0 0.0.0.255
int g0/0/1
ip a 192.168.100.254 24
dhcp select interface
int g0/0/0
ip a 12.0.0.1 24
nat outbound 2000 address-group 2 #主要说就是这里后边不加no-pat
ip route-s 0.0.0.0 0.0.0.0 12.0.0.2
#ISP
sys
sys ISP
int g0/0/0
ip a 12.0.0.2 24
int g0/0/1
ip a 2.0.0.254 24

01

可以看到我们用于NAT转换的只有12.0.0.100这一个地址,多台主机同时上网也不会丢包

01

Easy IP

Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口

  • 直接使用出接口的地址做转换
  • Easy IP适用于小规模居于网中的主机访问Internet的场景
  • 如:家庭、小型网吧、小型办公室中,这些地方内部主机不多,出接口可以通过拨号方式获取一个临时公网IP地址
  • 有效的缓解了公网地址紧缺和不固定的公网地址转换问题
命令 备注
nat outbound [acl 编号] 配置Easy IP 关联出站接口和ACL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# OFFICE
sys
sys OFFICE
dhcp enable
acl 2000
rule 1 permit source 192.168.100.0 0.0.0.255
int g0/0/1
ip a 192.168.100.254 24
dhcp select interface
int g0/0/0
ip a 12.0.0.1 24
nat outbound 2000
ip route-s 0.0.0.0 0.0.0.0 12.0.0.2
###########################################
# ISP
sys
sys ISP
int g0/0/0
ip a 12.0.0.2 24
int g0/0/1
ip a 2.0.0.254 24

NAT服务器(端口映射)

  • NAT具有“屏蔽”内部主机的作用,但有时内网需要向外网提供服务
  • 当外网用户访问内网服务器时,出口设备通过事先配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址和端口号”根据映射关系替换成对应的“私网IP地址+端口号”
  • NAT服务器的公网IP地址和端口中,端口可以更改,提供安全性
命令 备注
nat server protocol tcp/udp global current-interface/公网地址 端口 inside 私网地址 端口 配置NAT服务器
display nat server 验证NAT服务器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# OFFICE
sys
sys OFFICE
dhcp enable
acl 2000
rule 1 permit source 192.168.100.0 0.0.0.255
int g0/0/1
ip a 192.168.100.254 24
dhcp select interface
int g0/0/0
ip a 12.0.0.1 24
nat outbound 2000
nat server protocol tcp global current-interface 8888 inside 192.168.100.2 80
ip route-s 0.0.0.0 0.0.0.0 12.0.0.2
###########################################
# ISP
sys
sys ISP
int g0/0/0
ip a 12.0.0.2 24
int g0/0/1
ip a 2.0.0.254 24
  1. 配置拓扑图中的内网Server1,开启HttpServer服务
  2. 在OFFICE路由器出口将192.168.100.2:80 映射为出接口(12.0.0.1:8888)
  3. 在外网Client1中使用HttpClient访问http://12.0.0.1:8888

01

01

独学无友,孤陋寡闻;学习记录,欢迎拍砖!