ACL
- 通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的。
-
- ACL是由permit或deny语句组成的一系列有顺序的规则的集合;它通过匹配报文的相关字段实现对报文的分类。
- ACL是能够匹配一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素的基础性工具;ACL还能够用于匹配路由条目。
ACL的组成
- ACL由若干条permit或deny语句组成。每语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作。
- ACL如果都没有匹配到,则最后隐藏着一个rule deny语句
- ACL是与工具结合起来的,最后看是允许还是拒绝,要看工具对于匹配和不匹配的处理。
通配符
- 当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符。
- 通配符,也是点分十进制格式,换算成二进制后,“0”表示“匹配”,“1”表示“不关心”。
- 还有两个特殊的通配符:
-
- 当通配符全为0来匹配IP地址时,表示精确匹配某个IP地址;
- 当通配符全为1来匹配0.0.0.0地址时,表示匹配了所有IP地址。
ACL的分类
ACL的匹配机制
- 配置ACL的设备接收报文后,会将该报文与ACL中的规则逐条进行匹配,如果不能匹配上,就会继续尝试去匹配下一条规则。
- 一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹配。
- 匹配原则:一旦命中即停止匹配。
ACL的匹配顺序
- 华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。
-
- 自动排序,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。
- 配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。
NAT地址转换
静态NAT
- 私有地址和公网地址的关系是一对一固定映射的。
- 支持双向访问,外部访问内部网络时,报文中的公有地址也会被NAT设备转换成对应的公有地址。
[Huawei-GigabitEthernet0/0/0]nat static global 12.1.1.1 inside 192.168.10.1 [Huawei-GigabitEthernet0/0/0]nat static global 12.1.1.1 inside 192.168.10.1
动态NAT
- 仍然是一对一映射,但不是固定映射,提出了地址池的概念,所有可用的公网地址组成地址池。
- 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将改地址标记为“In Use”。当主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
- 如果地址不在acl列表里面,那么就不会进行转换。
[R1]nat address-group 1 100.1.1.2 100.1.1.3 //定义公网地址池
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 //定义内网需要转换的地址
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat//将公网地址池里的地址和内网关联[R1]nat address-group 1 100.1.1.2 100.1.1.3 //定义公网地址池
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 //定义内网需要转换的地址
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat//将公网地址池里的地址和内网关联
NAPAT(网络地址端口转换)
- 从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
[R1]nat address-group 1 100.1.1.2 100.1.1.3 //定义公网地址池
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 //定义内网需要转换的地址
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 //将公网地址池里的地址和内网关联并进行端口转换[R1]nat address-group 1 100.1.1.2 100.1.1.3 //定义公网地址池
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 //定义内网需要转换的地址
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 //将公网地址池里的地址和内网关联并进行端口转换
Easy IP
- 实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 //定义内网需要转换的地址
[R1-GigabitEthernet0/0/1]nat outbound 2000 [R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 //定义内网需要转换的地址
[R1-GigabitEthernet0/0/1]nat outbound 2000
NAT Server转换
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.250 81 inside 192.168.1.250 80[R1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.250 81 inside 192.168.1.250 80