为什么需要ACL,无非是进行访问控制罢了。这种技术从路由器逐步推广到交换机上进行使用。
ACL对入站或出站的通信进行过滤。ACL的局限性是不能对路由器本身发出的通信进行过滤,因此在路由器上执行ping或trace、route命令,或者通过路由器远程连接(telnet)另外一个网络设备,应用于路由器端口的ACL命令不能过滤这些通信。
ACL基本原则:
- 先匹配原则
- 排序原则
- 默认丢弃原则
我们知道ACL分为标准ACL和扩展ACL。
标准ACL
标准编号范围:1~99,1300~1999。
命令格式
1
| Router(config)#access-list 编号 permit|deny 单个IP|{网络地址 反掩码}
|
激活ACL命令(进入端口应用ACL)
in表示进入端口的分组(入站),out表示端口输出的分组(出站)。
我们可以这样理解,在针对配置的设备来说,该端口经过该设备传送即为入站,反之端口远离该设备即为出站。
1 2
| Router(config)#interface 端口号 Router(config-if)#ip access-group acl编号 in|out
|
通配符掩码的例子
IP地址 |
通配符掩码 |
匹配 |
---|
0.0.0.0 |
255.255.255.255 |
匹配任何地址(关键字any) |
---|
172.16.1.1 |
0.0.0.0 |
匹配host 172.16.1.1(匹配单个主机) |
---|
标准ACL默认配置
access-list 编号 deny any
扩展ACL
标准编号范围:1~99,1300~1999。
命令格式
1
| Router(config)#access-list 编号 permit|deny 协议类型 源网络地址 反掩码 [控制信息]目的地址 反掩码 [控制信息] [log]
|
协议类型:tcp、udp、icmp、ip
对于TCP和UDP协议如下:
1
| Router(config)#access-list 编号 permit|deny tcp|udp 源网络地址 反掩码 目的地址 反掩码 [操作符 端口|关键字] [established] [log]
|
激活ACL命令同标准ACL一致
实例配置:
1 2 3 4 5 6 7 8
| Router#conf t Router(config)#access-list 100 permit tcp any 172.16.0.0 0.0.255.255 established log Router(config)#access-list 100 permit udp host 172.16.1.1 eq dns log Router(config)#access-list 100 permit tcp 172.17.0.0 0.0.255.255 host 172.16.1.2 eq telnet log Router(config)#access-list 100 permit icmp any 172.16.0.0 0.255.255.255 echo-reply log Router(config)#access-list 100 deny ip any any log Router(config)#interface ethernet0 Router(config-if)#ip access-group 100 in
|
标准ACL默认配置
access-list 编号 deny ip any any
以上就是我对ACL的小小见解。