1、ACL: Access control list(路由器,三層交換),訪問控制列表。 包過濾防火牆bash
2、類型:ide
標準訪問控制列表(基礎)測試
基於源IP地址過濾數據包spa
標準訪問控制列表的訪問控制列表號是1~ 993d
擴展訪問控制列表(基礎)blog
基於源IP地址、目的IP地址、指定協議、端口和標誌來過濾數據包接口
擴展訪問控制列表的訪問控制列表號是100 ~ 199ip
命名訪問控制列表(更爲靈活)路由
命名訪問控制列表容許在標準和擴展訪問控制列表中使用名稱代替表號it
3、過濾層:
訪問控制列表基於:三層(IP) 和四層(端口,協議)進行過濾全部防火牆都基於這三層過濾。除應用防火牆爲七層過濾
4、概述:
訪問控制列表(ACL)
讀取第三層、第四層包頭信息
根據預先定義好的規則對包進行過濾
5、工做原理
一、訪問控制列表在接口應用的方向
出:已通過路由器的處理,正離開路由器接口的數據包
入:已到達路由器接口的數據包,將被路由器處理
(列表應用到接口的方向與數據方向有關)
二、訪問控制列表的處理過程
6、黑白名單:
白名單: (不寫則拒絕全部)
例:容許1.2網段,
容許1.3
黑名單:(容許全部必須寫)
例:拒絕 1.2
拒絕 1.3
不容許則爲默認拒絕。因此必須容許全部而後設置拒絕網段
ACL規則:自上而下逐行匹配默認隱含拒絕全部。
七:標準訪問控制列表的配置(基於源IP進行控制)
建立ACL
Router(config)#access-list access-list-number { permit | deny } source [ source-wildcard ]
刪除ACL
Router(config)# no access-list access-list-number
應用實例
容許192.168.10/24和主機92.168 2. 2的流量經過
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255 Router(config)# access-list 1 permit 192.168.2.2 0.0.0.0
隱含的拒絕語句
Router(config)# access-list 1 deny 0.0.0.0 255.255.255.255
關鍵字: host、any
將ACL應用於接口
Router(config-if)# ip access-group access-list-number {in |out}
在接口.上取消ACL的應用
Router(config-if)# no ip access-group access-list-number {in |out}
實驗要求:禁止pc1訪問pc3,容許pc2訪問pc3
實驗拓補圖:
實驗步驟:
一、配置交換機(sw),關閉路由功能,進入全局模式,進入f1/0接口,進行雙工速率匹配(三層交換上才能作ACL)
sw#conf t 進入全局模式 sw(config)#no ip routing 關閉路由功能 sw(config)#int f1/0 進入接口f1/0 sw( config-if)#speed 100 雙工速率匹配 sw(config-if)#dup full
二、配置路由器(R1),配置接口f0/0和f0/1的IP地址
R1#conf t R1(config)#int f0/0 R1(config-if)#ip add 192.168.10.1 255.255.255.0 R1(config-if)#no shut R1(config-if)#int f0/1 R1(conf1g-if)#ip add 192.168.20.1 255.255.255.0 R1(config-if)#no shut R1(config-if) #
三、給三臺pc機配置IP地址,測試是否能夠互聯互通
PC1> ip 192.168.10.2 192.168.10.1 //配置pc1IP地址 PC2> ip 192.168.10.3 192.168.10.1 //配置PC2IP地址 PC3> ip 192.168.20.2 192.168.10.1 //配置PC3IP地址 PC1> ping 192.168.20.2 //用pc1 ping pc3 PC2> ping 192.168.20.2 //用pc2 ping pc3
四、R1配置ACL訪問控制列表,拒絕pc1訪問,容許pc2訪問,將ACL應用於接口
access-list 1 deny 192.168.10.2 0.0.0.0 拒絕pc1訪問 access-list 1 deny host 192.168.10.2 access-list 1 permit any 容許pc2訪問 do show access-list 查看訪問列表 ip access-group 1 in 將ACL應用於接口
兩種方法均可以
五、pc1去ping pc3,pc2去ping pc3,測試ACL配置結果
8、擴展訪問列表:
建立ACL
Router(config)# access-list access-list-number { permit | deny }protocol { source source-wildcard destination destination-wildcard } [ operator operan ]
刪除ACL
Router(config)# no access -list access-list-number
將ACL應用於接口
Router(config-if)# ip access-group access-list-number {in |out}
在接口.上取消ACL的應用
Router(config-if)# no ip access-group access-list-number {in |out}
應用實例
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 Router(config)# access-list 101 deny ip any any