前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除
一、相关知识
网络地址转换(Network Address Translation,NAT)的基本作用是实现内网 IP 地址与外网 IP 地址的转换。NAT 不仅能解决 IP 地址不足的问题,而且能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机
1、NAT的关键点
- 地址重用:NAT允许多个设备共享一个或少量的公网IP地址。这在IPv4地址日益紧张的情况下非常有用。
- 地址隐藏:通过NAT,内部网络的设备可以隐藏其真实的IP地址,从而提高网络安全性。外部网络只能看到NAT设备的公网IP地址,而无法直接访问内部网络的设备。
- 流量管理:NAT可以用于管理网络流量,例如通过限制某些类型的流量或实现负载均衡。
- 协议兼容性:NAT可以处理不同协议的地址转换,包括TCP、UDP和其他基于IP的协议。
- 简化网络设计:NAT简化了网络设计,因为它允许网络管理员在不更改内部网络结构的情况下扩展网络。
2、NAT的工作原理:
-
当内部网络的设备发送数据到外部网络时,NAT设备会将源IP地址替换为NAT设备的公网IP地址。
-
当外部网络的设备发送数据到内部网络时,NAT设备会将目的IP地址替换为内部网络设备的私有IP地址。
3、NAT的类型:
- 静态NAT:手动配置每个IP地址的映射关系。
- 动态NAT:自动为内部网络的设备分配公网IP地址,但映射关系是临时的。
- 端口地址转换(PAT):也称为NAT Overload,允许多个内部设备通过一个公网IP地址的不同端口与外部网络通信。
4、相关CLI命令:
(1)为路由器配置静态NAT
在接口视图下建立公网 IP 地址与内网 IP 地址之间的一对一映射,有多少对映射就设置多少条命令
[R1-GigabitEthernet0/0/1]nat static global 210.1.1.1 inside 192.168.1.1
(2)为路由器配置动态NAT
先为 NAT 创建地址池;一个地址池是连续 IP 地址的集合。地址池的起始地址必须小于或等于结束地址,并且地址数量不能超过 255 个
[R1]nat address-group 1 210.138.10.101 210.138.10.200
然后,为 NAT 配置访问控制列表 ACL,控制允许进行地址转换的内部网络
# 例如,创建 ACL 2000,允许内网 192.168.1.0/24 进行地址转换
[R1]acl 2000 #基本 ACL,2000~2999
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
最后,在接口视图下配置出网地址转换(NAT Outbound),建立 ACL 与公网地址池之间的关联;
# 例如,在该路由器的 GE 0/0/1 接口使用 ACL 2000 和地址池 1 进行出网地址转换,并且不使用 NAPT(在华为设备中将 NAPT 称为端口地址转换 PAT)方式
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
no-pat 表示不使用 NAPT,内网地址和公网地址只能进行一对一转换,而不是多对一 转换
(3)NAPT 配置
内网共享路由器公网接口 IP 地址的配置方法:该方法无须配置地址 池,只需要创建 ACL 并指定需要 NAPT 的内部网络
[R1]acl 2000 #基本 ACL,2000~2999
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[R1-acl-basic-2000]quit
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000
二、NAT
1、建立网络拓扑
2、配置与分析
PC1:
192.168.1.1 24 192.168.1.254
AR4:AR220
sys
un in e
int g0/0/0
ip add 192.168.1.254 24
int g0/0/1
ip add 64.1.1.1 24
q
acl name a bas # 创建名为a的基础访问控制列表(ACL)
rule permit source 192.168.0.0 0.0.255.255 # 为ACL添加一条规则:允许192.168.0.0到192.168.255.255之间的流量通过
q
dis acl all # 显示所有访问控制列表
nat address-group 1 64.1.1.2 64.1.1.6 # 创建一个网络地址转换(NAT)地址组,名称为1
int g0/0/1
nat outbound 2999 address-group 1 # 配置出站NAT规则,将流量映射到地址组1中的IP地址
AR2:
sys
un in e
int g0/0/0
ip add 64.1.1.100
三、动态NAT-内网访问外网
1、建立网络拓扑
2、配置与分析
实现内网中的PC1、PC2H和PC3访问到外网连接的PC5;
PC1、PC2、PC3使用DHCP自动分配IP
PC5:8.8.8.1 24 8.8.8.254
AR1:
sys
un in e
dhcp enable # 启用DHCP功能
int g0/0/0
ip add 192.168.1.254 24
dhcp select interface # 选择此节点为DHCP接口
int g0/0/1
ip add 12.1.1.1 24
ip route-static 0.0.0.0 0 12.1.1.2
AR2
sys
un in e
int g0/0/0
ip add 12.1.1.2 24
int g0/0/1
ip add 23.1.1.1 24
q
ip route-static 192.168.1.0 24 12.1.1.1
ip route-static 0.0.0.0 0 23.1.1.2
nat address-group 1 23.1.1.4 23.1.1.6 # 创建地址组
acl 2000 # 创建ACL
rule 1 permit source 192.168.1.0 0.0.0.255 允许从192.168.1.0/24这个子网中发出的所有流量通过
int g0/0/1
nat outbound 2000 address-group 1 # 为接口添加ACL规则
AR3:
sys
un in e
int g0/0/0
ip add 23.1.1.2 24
int g0/0/1
ip add 8.8.8.254 2
四、动态NAT-外网访问内网
1、建立网络拓扑
2、配置与分析
实现外网PC2访问119.1.1.123IP从而直接访问到内网PC1(172.16.0.1)
AR3:
sys
un in e
int g0/0/0
ip add 172.16.0.254 24
int g0/0/1
ip add 119.1.1.1 24
q
ip route-static 200.200.200.0 24 119.1.1.2
int g0/0/1
nat server global 119.1.1.123 inside 172.16.0.1
AR2:
sys
un in e
int g0/0/0
ip add 119.1.1.2 24
int g0/0/1
ip add 200.200.200.254 24
五、总结
- 静态NAT,其内网 IP 地址与外网 IP 地址之间是一对一固定转换,即内部可以访问外部,外部也可以访问内部。
- 动态NAT,其内网 IP 地址与外网 IP 地址之间的转换关系是随机的,只能内部访问外部,外部不能访问内部(除非增加其他机制)。当内网地址转换需求大于外网地址数量时,需要等待地址释放,这会影响访问性能。
- NAPT实现内部网络的多个进程(可能分布在不同主机或同一主机上)可共享同一个外网 IP 地址,实现对外部网络的访问,从而可以最大限度地节
致谢
在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。
学习永无止境,让我们共同进步!!