NAT技术需要依靠ACL所以在了解NAT之前我们需要简单了解ACL是什么
一、ACL
1.ACl的概念
ACL简单的说其实是一个实现流量过滤的工具,用于限制或允许特定用户、主机或网络对系统资源的访问
ACL代表访问控制列表(Access Control List),是网络和计算机系统中一种常用的安全机制。ACL用于 限制或允许特定用户、主机或网络对系统资源的访问。
ACL基本上是一系列规则或条目,用于控制数据包在网络中的流动。每个条目通常包含以下要素:
- 源地址:指定要进行访问控制的源设备或网络的地址。
- 目标地址:指定目标设备或网络的地址。
- 协议:指定要控制的协议类型,如TCP、UDP或ICMP等。
- 源端口:指定源设备或网络的端口号(适用于协议需要端口的情况)。
- 目标端口:指定目标设备或网络的端口号(适用于协议需要端口的情况)。
- 动作:指定针对匹配特定规则的数据包采取的操作,如允许、拒绝、丢弃、重定向等。
通过配置ACL规则,系统管理员可以根据需求对网络流量进行细粒度的限制和过滤。这些规则可以在路由器、交换机、防火墙等网络设备上应用,并允许或阻止特定流量的通过,从而维护网络的安全性和性能。
ACL广泛应用于网络安全和资源管理中,用于保护网络免受未经授权的访问、网络攻击和流量过载等威胁。它们也可以用于实现网络分段、流量路由和服务质量(QoS)等功能。
2.ACL 应用
ACL两种应用:
- 应用在接口的ACL-----过滤数据包(原ip地址和目的ip地址,原mac和目的mac,协议/ 端口 这也是数据包组成的五大元素)
- 应用在路由协议-------匹配相应的路由条目
- NAT、IPSEC VPN、QOS-----匹配感兴趣的数据流
PS:总体来说就是设置规则,只有符合规则的才可以匹配
3.ACL 工作原理:
当数据包从接口经过时,由于接口启用了acl, 此时路由器会对报文进行检查,然后做出相应的处理。
4.ACL种类
- 编号2000-2999---基本ACL----依据依据数据包当中的源目IP地址匹配数据(数据时从 哪个IP地址 过来的)
- 编号3000-3999---高级ACL----依据数据包当中源、目的IP,源、目的端口、协议号匹配数据
- 编号4000-4999---二层ACL,MAC、VLAN-id、802.1q
5.ACL的命令代码
js复制代码基础ACL命令
acl 2000 #新建表格
rule permit deny(拒绝) source(源) 匹配的条件(ip地址) 通配符掩码()
去路由器中调用
int g0/0/1 #进入对应端口例如g0/0/1
traffic-filter outbound acl 2000 #调用ACL表,ACL 2000中的规则
高级ACL命令
更精细的控制匹配的条件
acl number 3000
rule 5 deny tcp source 匹配的条件(ip地址)通配符掩码(用来控制匹配的范围)destination 匹配的条件(ip地址)通配符掩码(用来控制匹配的范围)destination-port eq www(80)(目的地址的端口,这里那WWW做个例子)
然后去路由器中调用
[R1]int g0/0/1 #进入对应端口例如g0/0/1
[R1-GigabitEthernet0/0/1]traffic-filter outbound acl 3000 #数据出去时调用ACL表,ACL 3000中的规则
6.ACL应用实验
实验结果要求:
客户机1(192.168.1.1)不能访问服务器1(192.168.2.1)
客户机2(192.168.2.1)全部可以访问
基础的ACL配置端口距离目标地址近
高级的ACL配置端口距离源地址近
6.1画出拓扑图,并根据图示配置好对应的ip地址
客户机1