访问控制列表
ACL(访问控制列表)
两大主要功能
- 流量控制
- 匹配感兴趣流量
类型
- 标准的ACL:匹配路由条目,做流量控制(范围太广,一般不用)
只能根据源地址做过滤
针对整个协议采取相关动作(允许或禁止)
- 扩展的ACL:做流量控制r能根据源、目的地址、端口号等等进行过滤
能允许或拒绝特定的协议
入方向的接口ACL:先检查ACL,再查路由表
出方向的接口ACL:先检查路由表,再查ACL
表示形式
- 编号的ACL
Numbered Standard:1-99,1300-1999(只能匹配源地址)
Numbered Extended:100-199,2000-2699(可以匹配协议)
- 命名的ACL
标准访问控制列表的配置
1.标准访问控制列表
标准ACL能通过使用IP包中的源IP地址进行简单的源地址过滤。
配置标准ACL需要在全局配置模式下进行,命令格式如下:
Router(config)# access-list
ACL_number {permit|deny}
source_address dcard-mask
ACL_number:ACL的编号,取值范围为1-99
关键字permit和deny:表示允许或拒绝通过
参数source address:一个网络地址或一个主机地址
参数dcard-mask:通配符掩码(反掩码),与子网屏蔽码的方式相反。
“no access-list access-list-number”将会删除整个ACL列表
2.应用访问控制列表到具体的端口上
访问控制列表配置完成之后,要应用到路由器的具体端口上才能起作用。首先要进入要添加启用访问控制列表的端口,然后再执行以下命令:
Router(config-if) # ip access-group
ACL_number {in|out}
ACL_number :需要应用的ACL号
in|out:对路由器而言,数据流的方向
“no ip access-group access-list-number"可移除接口上应用的访问列表
通配符
0:表示严格匹配
1:表示无所谓
举例
只禁止A网段中的192.168.1.1-192.168.1.30 访问外网
[解析]192.168.1.1-30
1的二进制为0000 0001
2的二进制为0000 0010
3的二进制为0000 0011
...
30的二进制为0001 1110
所以,通配符位00011111为31
router(config)#access-list 1 deny 192.168.1.0 0.0.0.31
router(config)#access-list 1 permit any
router(config)#interface e0 /*配置标准以太接口的命令*/
router(config-if)#ip access-group 1 in
扩展访问控制列表的配置
Router(config)#
access-list access-list-number {permit|deny} protocol source source-wildcard
[operator port] destination destination-wildcard [operator port] [established] [log]
Router(config)#
ip access-group access-list-number {in|out}
举例
只禁止A网段中的192.168.1.1-192.168.1.30 访问B网段的服务器2.200
router(config)#access-list 100 deny ip 192.168.1.0 0.0.0.31 host 192.168.2.200
router(config)#access-list 100 permit ip any any
router(config)#interface e0
router(config-if)#ip access-group 1 in
命名访问控制列表的配置
Router(config)#
ip access-list {standard|extended} name
Router(config{std- | ext-nacl})#
[sequence-number] {permit | deny} {ip access list test conditions} {permit |deny} {ip access list test conditions}
- if not configured,sequence numbers are generated automatically starting at 10 and incrementing by 10
- no sequence number removes the specific test from e named ACL
Router(config-if)#
ip access-group access-list-number {in | out}