为什么要有访问控制(Access Control List)?
因为我可能在局域网中提供了一些服务,我只希望合法的用户可以访问,其他非授权用户不能访问。
原理比较简单,通过对数据包里的信息做过滤,实现访问控制。大家也能看出来,这个配置需要工作在路由器上。
基本访问控制列表
基本访问控制,主要是通过IP地址进行控制,在操作上主要有三步:
这里说明一点:基本访问控制列表使用的是 2000 到 2999,高级访问控制列表使用的是3000到3999。
高级访问控制列表
基本访问控制,能够配置的内容比较少,高级访问控制能够配置的内容就比较多了:
规则的写法
动作 | 协议类型 | 可选参数 | |
---|---|---|---|
tcp | 地址:source 源地址 反掩码 destination 目的地址 反掩码 | ||
rule | {permit | deny} | ip | 端口:source-port {eq|gt|lt|neq} port destination-port {eq|gt|lt|neq} port |
icmp | ICMP: icmp-type 报文类型名 | ||
时间段:time-range time-name(提前定义的) |
实战
先啥都不连线,不配置,启动路由器。配置PC的IP地址和路由器网关
1 | [RT1]inter GigabitEthernet 0/0 |
配置完后,因为路由器静态路由的功能,能看到互相通了
1 | [RT1]display ip routing-table |
三台机器也可以相互ping通。假设我不想让PC3连到PC2,我可以在路由器的GE0/0添加限制
配置规则
1 | [RT1]acl number 2000 |
在GE0/0启用规则
1 | [RT1]int g0/0 |
比较尴尬的一点是,HCL上的路由器貌似识别不了firewall的命令,所以本次就不继续演示了。其实命令也展示的差不多了,配置规则,然后再指定接口启用规则就可以了。
总结
路由器的访问控制能力,是否有用或者有用到什么程度得看具体场景。如果是同公司的两个分区(A、B)通过互联网相连,A里的服务只允许B访问,虽然可以通过ACL控制,但不安全啊。意味着只要进入B公司连入内网就可以访问了。