ACL
ACL概述
ACL的全称是访问控制列表,本质上是定义一组策略,以便指导报文在交换机内部的转发行为。
·访问控制列表ACL(Access Control List)是由一系列permit或deny语句组成的、有序规则的列表,它通过匹配报文的相关信息实现对报文的分类;
·ACL本身只能够用于报文的匹配和区分,而无法实现对报文的过滤功能,针对ACL所匹配的报文的过滤功能,需要特定的机制来实现(例如在交换机的接口上使用traffic-filter命令调用ACL来进行报文过滤)),ACL只是一个匹配用的工具;
·ACL除了能够对报文进行匹配,还能够用于匹配路由;
·ACL是一个使用非常广泛的基础性工具,能够被各种应用或命令所调用。
ACL的应用
ACL的主要应用
1.匹配IP流量(可基于源、目IP地址、协议类型、端口号等元素)
2.在Traffic-filter中被调用
3.在NAT中被调用
ACL的工作原理
ACL是一组规则的集合,它应用在路由器的某个接口。对路由器而言,ACL有两个方向
- 出 :已经过路由器的出路,正离开路由器接口的数据包
- 入:已到达路由器接口的数据包,将被路由器处理。
如果对接口应用了ACL,也就是说该接口应用了一组规则,那么路由器将对数据包应用该规则进行顺序检查
- 如果匹配第一条规则,则你在往下检查,路由器讲决定允许该数据包或者拒绝通过
- 如果不匹配第一条规则,则一次往下检查,查到有任何一条规则匹配,路由器决定允许或者拒绝数据包的通过
- 如果没有任何一条规则匹配,则路由器根据默认的规则将其丢弃。
由此可见,数据包要么备允许,要么被拒绝。
.ACL对数据包处理过程:
ACL的类型
Basic acl(基本ACL) :范围2000-2999 可以对源IP地址进行匹配
Advanced ACL(高级ACL)3000-3999 指定不可以访问网段
自定义ACL:5000-5999 利用名称标识的ACL
ACL的配置
使用编号创建一个基本ACL。并进入ACL视图:
[Huawei] acl num
[Huawei-acl-basic-num]
基本ACL编号的范围是2000 ~2999.
创建一个规则(rule) :
[Huawei-acl-basic-num] rule 5 {permitdeny}source src-address wildcard
**在一个ACL中可以创建一条或多条rule,这也是ACL名称中列表(List)的由来。每条rule都有一个ID,该ID可由系统自动分配,也可手工分配,rule按D由小到大的顾序排列。
Wildcard(通配符)
- 通配符是一个32比特长度的数值,用于指示lP地址中,哪些比特位需要严格匹配,哪些比特位则无所谓。
- 通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。
特殊的wildcard
192.168.1.1 0.0.0.0 =192.168.1.1 0
精确匹配192.168.1.1这个IP
0.0.0.0 255.255.255.255 = any
匹配所有IP
NAT
NAT产生的背景
- IPv4地址已经耗尽。
- 局域网用户普遍使用私有IPv4地址,如何访问公网?
- 局域网中使用私有IPv4地址的服务器如何对公网提供服务?
- 若需要对外隐藏内网的IP,同时内网的特定服务器又需对外提供服务该如何实现?
什么是NAT
NAT ( Network Address Translator )的主要原理是通过解析IP报文头部,自动替换报文头中的源地址或目的地址,实现私网用户通过私网IP访问公网的目的。私网IP转换为公网IP的过程对用户来说是透明的。
NAT的优缺点
优点
- 缓解公网地址紧缺问题
- 解决IP地址空间冲突或重叠的问题
- 网络扩展性更高,本地控制也更容易
- 内网结构及相关操作对外变得不可见
- 增加了安全性
缺点
- 存在转发延迟
- 端到端寻址变得困难
- 某些应用不支持NAT
- NAT产生的表项需占用设备的内存空间
- 设备性能问题
NAT类型
·源P地址转换( Source lP address-based NAT ):
- No-Port地址转换(No-PAT )
- 网络地址及端口转换(NAPT )
目的IP地址转换( Destination lP address-based NAT ): - NAT Server
- 目的NAT
静态NAT:
实现了是私有地址和公有地址的一对一映射
一个公网IP只会分配给唯一且固定的内网主机
动态NAT
基于地址池来实现私有地址和公有地址的转换。本质上也是一对一。
1、配置外部网口和内部网口的卫地多↑公网IP地址,基于地址池.对-映射
2、定义合法IP地址池
[R1]nat address-group 1 212.0.0.100 212.0.0.200 ####新建一个名为1的nat地址池
3、定义访问控制列表
[R1]acl 2000 ####创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[R1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[R1-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255
4、在外网口上设置动态IP地址转换
[R1-acl-basic-2000]int g0/0/1 ###外网口
[R1 -GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat ###将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址转换,默认为pat)
[R1]dis nat outbound ####查看NAT Outbound的信息
NAPT 网络地址端口转换
网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口。
Easy IP
Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口。
NAT服务器
通过配置NAT服务器,可以使外网用户访问内网服务器。