NAT地址转换
一、 ACL(Access Control List)访问控制列表
-
ACL就是一套规则组成的集合
- 设备可以通过这些规则对数据包进行分类
- 并对不同类型的报文进行不同的相应处理(动作:允许permit、拒绝deny)
-
应用于路由器的入口/接口
- 根据网络流向判断的出入口
-
根据ACL进行流量控制
- 可以通过定义规则来允许或拒绝流量的通过
-
根据ACL进行流量划分
- 可以划分范围,对划分的范围进行进一步的应用(减少路由器内存的使用)
-
可以被其他所有的应用程序所调用
-
实现对网络访问行为的控制、限制网络流量、提高网络性能防止网络攻击等等。
-
五元组:源IP、目的IP、协议、源端口、目的端口
加密:耗费路由器资源
1. 常见分类
-
基本ACL
- 在IP只能对源IP地址、分片标记、时间做限制
- ACL的表号范围:2000-2999
-
高级ACL
- 能匹配IP报文中的源IP地址、目的IP地址、协议、源端口、目的端口
- ACL的表号范围:3000-3999
- 控制更加精细,使用较多
-
二层ACL
- 匹配的是以太网帧中的源MAC、目的MAC、类型
- ACL的表号范围:4000-4999
-
FIB:转发信息表 ,快转表
- 相同流量匹配快速转发表,五元组为相同流量
- 过程转发:匹配路由表,计入快速转发表
2. 匹配顺序
-
配置顺序
- 按ACL规则编号(rule-id)从小到大的顺序进行匹配;步长默认为5
- 由上至下,上面的规则优先级高
- 一旦匹配上规则,终止匹配,停止检查
- 应该遵循具体到普遍的原则来编写ACL规则
-
设备如果都不匹配,默认动作
- 华为设备是允许
- Cisco设备是拒绝
-
方向性一定要把握正确
- 数据流量的方向决定了设备的入口和出口
- 在路由器同接口、同方向只能调用一个ACL
-
自动顺序
二、基本ACL
基本ACL语法
acl [ number ]
命令用来创建一个ACL,并进入ACL视图。rule [ rule-id ] { deny | permit } source { source-address sourcewildcard | any}
命令用来增加或修改ACL的规则。- deny用来指定拒绝符合条件的数据包,
- permit用来指定允许符合条件的数据包
- source用来指定ACL规则匹配报文的源地址信息
- any表示任意源地址。
- 0.0.0.255反向掩码
三、 高级ACL
- 高级ACL能够依据源/目的IP地址、源/目的端口号、网络层及传输层协议以及IP流量分类和TCP标记值等各种参数(SYN|ACK|FIN等)进行报文过滤。
- 高级ACL控制的参数更多,所以对网络数据控制的更精细,应用的也更广泛。高级ACL的编号范围是3000-3999
1. 编写高级ACL [Huawei]acl 3000
[Huawei-acl-adv-3000]rule permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.100.100 0 destination-port eq 22
[Huawei-acl-adv-3000]rule deny tcp source 192.168.1.0 0.0.0.255 destination 192.168.100.100 0 destination-port eq 23
2. 应用ACL
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
四、 NAT 详解
- 主要作用是让使用私网地址的内网主机可以访问互联网、
- 能够解决地址重叠问题
- 重新进行IP规划
- 依靠地址转换表进行工作
- 动态生成:当访问互联网时,转换条目才会动态生成,所以他是单向的,只能从内网主动访问外网,不能够从外网主动访问内网;
- 静态生成:管理员手动配置抓换条目,所以是双向的,可以从内到外,也可以从外到内。
五、 NAT最常见的案例
-
共享上网;多个私网地址共享同一个公网地址上网
-
使用easy IP 方式 (也成为PAT,端口多复用技术)
- 首先定义内网要转换的网段的ACL
[Huawei]acl 2005[Huawei-acl-basic-2005]rule permit source 192.168.10.0 0.0.0.255[Huawei-acl-basic-2005]rule permit source 192.168.11.0 0.0.0.255
- 然后在外部接口上启用NAT
[Huawei]interface GigabitEthernet 0/0/1 [Huawei-GigabitEthernet0/0/1]nat outbound 2005
- 验证配置;命令display nat outbound用于查看命令nat outbound的配置结果。
[Huawei]display nat outbound NAT Outbound Information: -------------------------------------------------------------------------- Interface Acl Address-group/IP/Interface Type -------------------------------------------------------------------------- GigabitEthernet0/0/1 2005 100.1.1.5 easyip -------------------------------------------------------------------------- Total : 1
Address-group/IP/Interface表项表明接口和ACL已经关联成功,type表项表明Easy IP已经配置成功
-
-
发布内网服务器:将使用私网地址的服务器发布到公网上,以便被互联网用户进行访问
- 静态IP转换
- 静态端口映射
-
先定义公网地址池
[R1]nat address-group 0 12.1.1.1 12.1.1.1
- 定义ACL匹配要转换的内网地址段
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 10.1.1.1 0.0.0.0
[R1-acl-basic-2000]rule permit source 10.1.1.2 0.0.0.0
[R1-acl-basic-2000]rule permit source 10.1.1.3 0.0.0.0
[R1-acl-basic-2000]quit
- 在外网接口上进行映射
[R1]int g 0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 0
[R1-GigabitEthernet0/0/1]quit
可以发现NAPT的配置方式和动态NAT类似,只是在最后调用公网和私网地址池时不加no-pat参数。
六、 动态NAT、Easy IP、NAPT之间的区别
NAT方式 | 私有地址与公有地址的对应关系 | 命令存在的最大差异处 |
---|---|---|
动态NAT | 一对多 | nat outbound 2005 address-group 1 no-pat |
Easy IP | 多对一 | nat outbound 2005 |
NAPT | 多对一 | nat outbound 2000 address-group 0 |
七、 发布内网服务器
-
公司内网服务器一般采用的是私网地址,如果想跨公网来访问它,就需要发布服务器,可以通过静态NAT方式或者NAT Server方式来实现这种需求.
-
静态IP配置:
-
nat static global { global-address} inside {host-address }` 命令用于创建静态NAT。
-
-
global参数用于配置外部公网地址,inside参数用于配置内部私有地址。
[Huawei]interface GigabitEthernet 0/0/1 ## 启用静态NAT [Huawei-GigabitEthernet0/0/1]nat static enable ## 设置NAT [Huawei-GigabitEthernet0/0/1]nat static global 100.1.1.6 inside 192.168.1.100
-
静态NAT不仅只做地址映射,也可以静态映射端口
[Huawei]interface GigabitEthernet 0/0/1 ## 设置静态NAT映射端口 [Huawei-GigabitEthernet0/0/1]nat static protocol tcp global 100.1.1.8 2300 inside 192.168.1.200 22 [Huawei-GigabitEthernet0/0/1]nat static protocol tcp global 100.1.1.8 2400 inside 192.168.2.200 22
-
NAT Server配置
[Huawei]interface GigabitEthernet 0/0/1 ### 设置NAT Server映射端口 [Huawei-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.10 2500 inside 192.168.1.150 80 [Huawei-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.10 80 inside 192.168.1.160 80