ACL 訪問控制列表
一.ACL概述
ACL:訪問控制列表,ACL使用包過濾技術,通過讀取第三層和第四層源IP、目標IP、源端口、目標端口等信息按預先定義好的規則進行過濾,達到訪問控制的目的。
二.ACL使用原則
1.最小特權原則:只給用戶訪問所需要的最小權限。
2.最靠近受控對象原則:對所有規則順序執行,找到滿足條件規則就允許通過。
3.默認丟棄原則:在所有規則中找不到滿足的條件就將數據包丟棄,這是結尾默認隱含的規則。
4.ACL規則需要應用到接口上才能生效。
三.ACL分類
圖中各設備接口配置:
R1路由器
f0/0:192.168.1.3/24
網關:192.168.1.1
R2路由器
f0/0:192.168.1.2/24
網關:192.168.1.1
R3路由器
f0/0-1 屬於vlan1,IP:192.168.1.1/24
f0/2屬於vlan2,IP:192.168.2.1
R4路由器
f0/0:192.168.2.2/24
網關:192.168.2.1
1.標準訪問控制列表
格式: access-list 列表號 permit|deny (IP wild 表示網段)|(host IP 表示主機)
標準訪問控制列表中列表號取值爲0-99
標準訪問控制列表應用盡量接近目的IP的接口
no掉任意一個規則整個列表全部刪除
禁止192.168.1.0網段中1.3這臺路由器訪問192.168.2.2,其它IP可以訪問。
R3(config)#access-list 10 deny host 192.168.1.3
R3(config)#access-list 10 permit any (默認access-list列表隱含一條deny any的規則)
R3(config)#interface vlan 2
R3(config-if)# ip access-group 100 out
2.擴展訪問控制列表
格式:access-list 100 permit|deny 協議 過濾源主機範圍 過濾源端口號 過濾目的主機範圍 過濾目的端口號
擴展訪問控制列表中列表號取值爲100-199
擴展訪問控制列表應用盡量接近源IP的接口
no掉任意一個規則整個列表全部刪除
禁止192.168.1.0網段中1.3這臺路由器訪問192.168.2.2路由器的80端口,其它IP可以訪問。
R3(config)# access-list 100 deny tcp host 192.168.1.3 host 192.168.2.2 eq 80
R3(config)# access-list 100 permit ip any any
R3(config)# int vlan 1
R3(config)# ip access-group 100 in
3.基於名稱的訪問控制列表
ip access-list standard|extended ACL名稱
no序號或IP可以刪除單個規則不會刪除整個列表
建立標準訪問控制列表10 ,禁止192.168.1.3,192.168.1.4,192.168.1.5訪問192.168.2.2,其它IP可以訪問,刪除禁止192.168.1.4規則,添加禁止192.168.1.6訪問規則。
禁止192.168.1.3-5訪問2.2
R3(config)# ip access-list standard 10
R3(config-std-nacl)#deny host 192.168.1.3
R3(config-std-nacl)#deny host 192.168.1.4
R3(config-std-nacl)#deny host 192.168.1.5
R3(config-std-nacl)#permit any
R3(config)#int vlan 2
R3(config-if)#ip access-group 10 out
生成結果
Standard IP access list 10
10 deny 192.168.1.3
30 deny 192.168.1.5
20 deny 192.168.1.4
40 permit any
刪除禁止192.168.1.4訪問,添加禁止192.168.1.6訪問
R3(config)# ip access-list standard 10
R3(config-std-nacl)#no 20 或 no deny host 192.168.1.4
R3(config)# 20 permit host 192.168.1.6 (序號20指定此規則序號可以省略)
生成結果
Standard IP access list 10
10 deny 192.168.1.3
30 deny 192.168.1.5
20 deny 192.168.1.6
40 permit any
4.反向訪問控制列表
在擴展訪問控制列表後加上established ,表示只有已經建立TCP連接的會話才能通過。
允許192.168.1.0網段訪問192.168.2.2路由器,192.168.2.2路由器無法訪問1.0網段。
R3(config)# access-list 100 permit tcp host 192.168.2.2 192.168.1.0 0.0.0.255 established
R3(config)# int vlan 1
R3(config)# ip access-group 100 out
5.基於時間的訪問控制列表。
time-range 時間段名稱
absolute start [小時:分鐘] [日 月 年] [end] [小時:分鐘] [日 月 年]
不允許其它網段的用戶在週末訪問192.168.2.2上的FTP資源,其它時間可以下載該FTP資源
R3(config)#time-range test
R3(config-time-range)#periodic weekend 00:00 to 23:59
R3(config-time-range)#exit
R3(config)# access-list 101 deny tcp any 192.168.2.2 0.0.0.0 eq ftp time-range test
R3(config)#interface vlan 2
R3(config)# ip access-group 101 out