訪問控制列表ACL
-什麼是訪問控制列表:
訪問控制列表(ACL):應用於路由器接口的指令列表,用於指定哪些數據包可以接收轉發,哪些數據包需要拒絕。
ACL的工作原理:讀取第三層及第四層包頭中的信息;根據預先定義好的規則對包進行過濾。
-訪問控制列表的作用:
提供網絡訪問的基本安全手段;可用於QoS,控制數據流量;控制通信量
-訪問控制列表工作原理:
實現訪問控制列表的核心技術是包過濾
通過分析IP數據包包頭信息,進行判斷;利用4個元素定義規則:源地址;目的地址;源端口;目的端口
-訪問控制留別入與出:
使用命令ip access-group將ACL應用到某一個接口上:
Router(config-if)#ip access-group access-list-number {in | out}
*在接口的一個方向上,只能應用一個access-list
-Deny和Permit命令:
Router(config)#access-list access-list-number {permit | deny} {test conditions}
*permit:允許數據報通過應用了訪問控制列表的接口;deny:拒絕數據包通過
-使用通配符any和host
通配符any可代替0.0.0 .0 255.255.255.255
Host表示檢查IP地址的所有位
-訪問控制列表的種類:
l 基本類型的訪問控制列表:標準訪問控制列表;擴展訪問控制列表
l 其他種類的訪問控制列表:基於MAC地址的訪問控制列表;基於時間的訪問控制列表
-標準訪問控制列表
根據數據包的源IP地址來允許或拒絕數據包;訪問控制列表號從1到99
只使用源地址進行過濾,表明是允許還是拒絕
-標準訪問控制列表的配置
第一步,使用access-list命令創建訪問控制列表:
Router(config)#access-list access-list-number {permit | deny} source [source-wildcard] [log]
第二步,使用ip access-group命令把訪問控制列表應用到某接口
Router(config-if)#ip access-group access-list-number {in | out}
-擴展訪問控制列表:
基於源和目的地址、傳輸層協議和應用端口號進行過濾;每個調都必須匹配,纔會施加允許或拒絕條件;使用擴展ACL可實現更加精確的流量控制;訪問控制列表號從100到199
使用更多的信息描述數據包,表明是允許還是拒絕
-部分端口號的描述和使用的協議
端口號 |
關鍵字 |
描述 |
TCP/UDP |
20 |
FTP-DATA |
(文件傳輸協議)FTP數據 |
TCP |
21 |
FTP |
(文件傳輸協議)FTP |
TCP |
23 |
TELNET |
終端連接 |
TCP |
25 |
SMTP |
簡單郵件傳輸協議 |
TCP |
42 |
NameServer |
主機名字服務器 |
UDP |
53 |
Domain |
域名服務器(DNS) |
TCP/UDP |
69 |
TFTP |
普通文件傳輸協議(TFTP) |
UDP |
80 |
WWW |
萬維網 |
TCP |
-擴展訪問控制列表的配置
第一步,使用access-list命令創建擴展訪問控制列表
Router(config)#access-list access-list-number {permit | deny} protocol [source source-wildcard destination destination-wildcard] [operator port] [established] [log]
-擴展訪問控制列表操作符的含義:
操作符及語法 |
意義 |
eq portnumber |
等於端口號portnumber |
gt portnumber |
大於端口號portnumber |
lt portnumber |
小於端口號portnumber |
neq portnumber |
不等於端口號portnumber |
第二步,使用ip access-group命令將擴展訪問控制列表應用到某接口
Router(config-if)#ip access-group access-list-number {in | out}
-命名的訪問控制列表:
l 標準ACL和擴展ACL中可以使用一個字母數字組合的字符串(名字)代替來表示ACL的表號
l 命名IP訪問列表允許從指定的訪問列表刪除單個條目
l 如果天假一個條目到列表中,那麼該條目被添加到列表末尾
l 不能以同一個名字命名多個ACL
l 在命名的訪問控制列表下,permit和deny命令的語法格式與前述有所不同
-配置命名的訪問控制列表:
第一步,創建命名訪問控制列表:
Router(config)#ip access-list extended ACL-name
第二步,指定一個或多個permit及deny條件:
Router(config-ext-nacl)#{permit | deny} protocol ip-address {eq | gt | lt | neq} portnumber
第三步,應用到接口的出入站方向
Router(config-if)#ip access-group ACL-name {in | out}
-查看訪問控制列表:
查看接口詳細信息:
Router#show ip interface type slot/port
查看訪問列表:
Router#show access-list