Access Control List (存取控制表) 王振生
定義存取控制表的指令 Step1.定義存取控制表 Step2.在介面上啟動存取控制表 指令 設定模式 access-list {1-99, 1300-1999}{permit|deny} source-addr [source-mask] Router(config)#access-list {1-99,1300-1999} permit 標準式Global access-list {100-199,2000-2699}{permit|deny} protocol source-addr [source-mask] [operator operand] destination-addr [destination-mask][operator operand][established] Router(config)#access-list {100-199,2000-2699} permit tcp 延伸式Global ip access-list {standard|extended} name {permit|deny} protocol source-addr [source-mask] [operator operand] destination-addr [destination-mask] [operator operand] [established] 命名式Global ip access-group {number [in|out]} Interface
標準IP存取控制表 標準ACL只檢查封包的IP來源地址。 可用萬用遮罩設定IP區段 共四個位元組或32bits 0要符合(檢查),1不檢查(任意數字) 設定要盡量靠近目的端 在任何一個ACL後,預設有一行「deny all」的設定
ACL的常用關鍵字 host:代表單一主機IP,例:host 192.172.2.56 permit:許可 deny:拒絕 any:代表任何IP (等於0.0.0.0 255.255.255.255) eq:等於 lt:小於 gt:大於
延伸式IP存取控制表 允許比較封包中層的”來源IP位址”、”目的IP地位址”、傳輸層的” 來源連接埠”、” Protocol” 設定要盡量靠近來源端
萬用遮罩(Wildcard Mask) 要定義174.40.16.0至174.40.31.255的區段,則設WM為0.0.15.255。 10101110 00101000 00010000 00000000 紅色部分為相同 174.40.31.255 10101110 00101000 00011111 11111111 00000000 00000000 00001111 11111111 0.0.15.255 0代表「檢查位元」 檢查位元會與設定的網段值比較
萬用遮罩(Wildcard Mask) 要定義174.40.16.0至174.40.63.255的區段,則WM需定義為何? 10101110 00101000 00010000 00000000 (174.40.16.0) 10101110 00101000 00011111 11111111 (174.40.31.255) 10101110 00101000 00100000 11111111 (174.40.32.0) 10101110 00101000 00111111 11111111 (174.40.63.255) 00000000 00000000 00001111 11111111 (0. 0.15.255) 00000000 00000000 00011111 11111111 (0.0.31.255) 分成两個區段
延伸式IP存取控制表 IP TCP, UDP, ICMP 來源 IP 位址 目的 IP 位址 目的連接埠 (僅用在UDP & TCP) IP Field Identifies Next header (TCP, UDP,etc.) IP Field Identifies Next header (TCP, UDP,etc.) 目的連接埠 (僅用在UDP & TCP) 通訊協定 來源連接埠 (僅用在UDP & TCP)
實驗的架構圖 PC1 1.2 1.1 E0 →FastEthernet0/0 S0 →Serial0/1/0 S1 →Serial0/1/1
存取控制表的運作 no no 進入介面(in) 離開介面 (out) 封包 ACL符合嗎? 允許封包 路徑選擇 介面是否 啟用ACL 都不符 合,拒絕 no ACL符合嗎? 允許封包 進入介面(in) 離開介面 (out) 封包 介面是否 啟用ACL 都不符 合,拒絕
存取控制表的處理流程 只要有設定,經過路由器的封包都必須被過濾 設定在進入介面(in)的ACL,封包將在進行路由處理之前被過濾。 設定在輸出介面(out)的ACL,封包將在進行路由處理之後,輸出前被過濾。 封包將依ACL設定的規則(rules),依序檢查,若條件符合,後面規則不再檢查。 用「deny」表示這個封包應該被擋掉。 用「permit」表示這個封包可以放行。 在任何一個ACL後,預設有一行「deny all」的設定。 每個介面,每個協定,每個方向,只允許一個ACL
查詢存取控制表的指令 指令 功能 Router#show ip interface Includes reference to the access lists enabled on the interface for protocol IP 顯示針對ip協定,每個介面的狀態,包括ACL的設定 Router#show access-list Shows details of all configured access lists 顯示針對每個協定曾定義的ACL Router#show ip access-list Show IP access lists 顯示針對ip協定曾定義的ACL
IP存取控制表實驗 標準式實驗任務 不允許PC3連線PC1 lotus乙太網路上的主機,不允許連線 porsche乙太網路上的主機。 允許所有其他封包 延伸式實驗任務 PC3禁止用http連接到PC1 禁止用ping指令對ferrari乙太網路上的主機測試 lotus乙太網路上的主機,不允許連線到 porsche乙太網路上的主機 所有其他連接都允許。
延伸式IP存取控制表 存取控制表規則 規則解釋 access-list 101 deny tcp any host 10.1.1.1 access-list 101 deny tcp any host 10.1.1.1 eq telnet 到目的IP位址10.1.1.1且是使用TCP及Telnet協定(目的連接埠23)的封包全部拒絕 access-list 101 deny udp 1.0.0.0 0.0.0.255 lt 1023 any 來源IP位址是來自1.0.0.0/24網段且是使用 UDP協定及來源連接埠小於1023的封包全部拒絕 acccess-list 101 deny udp 1.0.0.0 0.255.255.255 lt 1023 44.1.2.3 0.0.255.255 來源IP位址是來自1.0.0.0/8網段且是使用 UDP協定及來源連接埠小於1023的封包,如果要到目的IP位址是44.1.0.0/16網段的話全部拒絕 access-list 101 deny ip 33.1.2.0 0.0.0.255 44.1.2.3 0.0.255.255 來源IP位址是來自33.1.2.0/24網段的IP封包,如果要到目的IP位址是44.1.0.0/16網段的話全部拒絕 access-list 101 deny icmp 33.1.2.0 0.0.0.255 44.1.2.3 0.0.255.255 echo 來源IP位址是來自33.1.2.0/24網段的ICMP回應請求(echo)封包,如果要到目的IP位址是44.1.0.0/16網段的話全部拒絕
延伸式IP存取控制表實驗 實驗任務 PC3禁止用http連接到PC1 禁止用ping指令對ferrari乙太網路上的主機測試 lotus乙太網路上的主機,不允許連線到 porsche乙太網路上的主機 所有其他連接都允許
命名式IP存取控制表 命名式IP存取控制表和數字式的IP存取控制表有一樣的使用邏輯 名字讓管理者更加容易記住存取控制表的功能。
命名式IP存取控制表 Router(config)# ip access-list extended web Router(config-ext-nacl)#permit tcp host 172.1.1.2 eq www any Router(config-ext-nacl)#deny icmp any 172.4.1.0 0.0.0.255
存取控制表注意事項 控制規則的順序相當重要 每個控制表後都有一個「deny all」 延伸式IP存取控制表,要盡量靠近來源端 標準式IP存取控制表,要盡量靠近目的端