Access Control List (存取控制表) 王振生
存取控制表的運作 no 路徑選擇 no 進入介面 離開介面 封包
存取控制表的處理流程 只要有設定,經過路由器的封包都必須被過濾 設定在進入介面(in)的ACL,封包將在進行路由處理之前被過濾。 設定在輸出介面(out)的ACL,封包將在進行路由處理之後,輸出前被過濾。 封包將依ACL設定的規則(rules),依序檢查,若條件符合,後面規則不再檢查。 用「deny」表示這個封包應該被擋掉。 用「permit」表示這個封包可以放行。 在任何一個ACL後,預設有一行「deny all」的設定。 每個介面,每個協定,每個方向,只允許一個ACL
定義存取控制表的指令 Step1.定義存取控制表 Step2.在介面上啟動存取控制表 標準式 延伸式 命名式 指令 設定模式 access-list {1-99, 1300-1999}{permit|deny} source-addr [source-mask] Global 延伸式 access-list {100-199,2000-2699}{permit|deny} protocol source-addr [source-mask] [operator operand] destination-addr [destination-mask][operator operand][established] 命名式 ip access-list {standard|extended} name {permit|deny} protocol source-addr [source-mask] [operator operand] destination-addr [destination-mask] [operator operand] [established] ip access-group {number [in|out]} Interface
查詢存取控制表的指令 Router#show ip interface Router#show access-list 功能 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存取控制表 標準ACL只檢查封包的IP來源地址。 可用萬用遮罩設定IP區段 共四個位元組或32bits 0要符合(檢查),1不檢查(任意數字) 設定要盡量靠近目的端
萬用遮罩(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) 分成两個區段
ACL的常用關鍵字 host:代表單一主機IP,例:host 192.172.2.56 permit:許可 deny:拒絕 any:代表任何IP (等於0.0.0.0 255.255.255.255) eq:等於 lt:小於 gt:大於
實驗的架構圖 PC1 1.2 1.1 E0 →FastEthernet0/0 S0 →Serial0/1/0 S1 →Serial0/1/1
IP存取控制表實驗 標準式實驗任務 不允許PC3連線PC1 lotus乙太網路上的主機,不允許連線 porsche乙太網路上的主機。 允許所有其他封包 延伸式實驗任務 PC3僅能用telnet連接到PC1,其它方式都禁止 ferrari乙太網路上的主機都禁止用ping指令測試 lotus乙太網路上的主機,不允許連線到 porsche乙太網路上的主機 所有其他連接都允許。
延伸式IP存取控制表 允許比較封包中的”來源位址”、”目的地位址”、”傳輸層的Port號碼”、” Protocol” 設定要盡量靠近來源端
延伸式IP存取控制表 IP TCP, UDP, ICMP Source IP Address Destination IP Address IP Field Identifies Next header (TCP, UDP,etc.) IP Field Identifies Next header (TCP, UDP,etc.) Destination Port (UDP & TCP Only) Protocol Source Port (UDP & TCP Only)
延伸式IP存取控制表 access-list statement Explanation of What Matches ip access-list 101 deny tcp any host 10.1.1.1 Packet with any source address, destination must be 10.1.1.1, with a TCP header, with destination port 23 ip access-list 101 deny tcp any host 10.1.1.1 eq telnet Same as last example; telnet keyword used instead of port 23 ip access-list 101 deny udp 1.0.0.0 0.0.0.255 lt 1023 any Packet with source in network 1.0.0.0 to any destination, using UDP with source port less than 1023 ip acccess-list 101 deny udp 1.0.0.0 0.255.255.255 lt 1023 44.1.2.3 0.0.255.255 Packet with source in network 1.0.0.0, to destinations beginning 44.1, using UDP with source port less then 1023 ip access-list 101 deny ip 33.1.2.0 0.0.0.255 44.1.2.3 0.0.255.255 Packet with source in 33.1.2.0/24, to destinations beginning 44.1. ip access-list 101 deny icmp 33.1.2.0 0.0.0.255 44.1.2.3 0.0.255.255 echo Packet with source in 33.1.2.0/24, to destinations beginning 44.1, with are ICMP echo requests.
延伸式IP存取控制表實驗 實驗任務 PC3僅能用telnet連接到PC1,其它方式都禁止 ferrari乙太網路上的主機都禁止用ping指令測試 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存取控制表,要盡量靠近目的端