二十五·ACL
Access Control List
ACL是一种包过滤技术
ACL基于ip包头的ip地址,四层TCP/UDP头部的端口号
ACL在路由器上配置,也可以在防火墙上配置(一般称为策略)
标准ACL:
表号:1-99
特点:只能基于源ip对包进行过滤
命令:
conf t
access-list 表号 permit/deny 源ip或网段 反子网掩码
反子网掩码就是将正子网掩码的0和1倒置
255.255.255.0 0.0.0.255
access-list 10 deny 10.0.0.0 0.255.255.255 拒绝所有源ip为10开头的
反子网掩码的作用:用来匹配,与0对应的需要严格匹配,与1对应的忽略
查看acl表
show ip access-list
将acl应用到某端口
int f0/x
ip access-group 表号 in/out
exit
扩展ACL
表号:100-199
特点:可以基于源ip 目标ip 端口号 协议等对包进行过滤
命令:
conf t
access-list 100 permit/deny 协议 源ip或源网段 反子网掩码 目标ip或目标网段 反子网掩码 【eq 端口号】
注释:协议:tcp/udp/icmp/ip 当细致到端口号的时候前面必须要写上这个端口号依赖的协议
acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80
acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 permit ip any any
查看acl表
show ip access-list
将acl应用到某端口
int f0/x
ip access-group 表号 in/out
exit
ACL原理:
(一个接口有两个方向(此方向是站在路由器的角度))
acl表必须应用到接口的进或出方向才生效
一个接口的一个方向只能应用一张表
进还是出方向应用取决于流量控制的总方向
ACL表是严格自上而下的检查每一条,所以要注意书写顺序,每一条是由条件和动作组成,当某流量没有满足某条件则继续检查下一条(大多数情况是越往下域越广(一个范围内))
ACL表内隐含any x(当所有条件都不满足是数据将被干掉)
做流量控制,首先要判断ACL写的位置(哪个路由器,哪个接口方向)再考虑怎么写ACL
如何写:先判断最终要允许所有还是拒绝所有,写的时候将严格的控制写在前面
一般情况下,标准或扩展acl一旦编写好无法修改或删除某一条,无法修改顺序。
deny ------------------- 拒绝
permit -----------------允许