自反ACL實驗配置
拓撲圖
R4為外網,R2和R3為內網。
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
10.1.34.1 |
F 0/1 |
14.1.34.1 |
|
R2 |
F 0/0 |
10.1.34.2 |
R3 |
F 0/0 |
10.1.34.3 |
R4 |
F 0/0 |
14.1.34.4 |
先在R2、R3與R4上配置配置靜態路由
R2(config)#ip route 14.1.34.0 255.255.255.0 10.1.34.1
R3(config)#ip route 14.1.34.0 255.255.255.0 10.1.34.1
R4(config)#ip route 10.1.34.0 255.255.255.0 14.1.34.1
配置靜態路由完成,路由之間互通,即可做自反ACL
1.配置拒絕外網主動訪問內網
說明:拒絕外網主動訪問內網,但是ICMP可以不受限制
(1)配置允許ICMP可以不用標記就進入內網,其它的必須被標記才返回
R1(config)#ip access-list extended come
R1(config-ext-nacl)#permit icmp any any
R1(config-ext-nacl)#evaluate abc
(2)應用ACL
R1(config)#int f0/1
R1(config-if)#ip access-group come in
2.測試結果
(1)測試外網R4的ICMP訪問內網
說明:可以看到,ICMP是可以任意訪問的
(2)測試外網R4 telnet內網
說明:可以看到,除ICMP之外,其它流量是不能進入內網的。
(1) 測試內網R2的ICMP訪問外網
說明:可以看到,內網發ICMP到外網,也正常返回了
(2) 測試內網R2發起telnet到外網
說明:可以看到,除ICMP之外,其它流量是不能通過的。
3.配置內網向外網發起的telnet被返回
(1)配置內網出去時,telnet被記錄為abc,將會被允許返回
R1(config)#ip access-list extended goto
R1(config-ext-nacl)#permit tcp any any eq telnet reflect abc timeout 60
R1(config-ext-nacl)#permit ip any any
(2)應用ACL
R1(config)#int f0/1
R1(config-if)#ip access-group goto out
4.測試結果
(1)查看R2到外網的ICMP
說明:ICMP屬正常
(3)查看內網向外網發起telnet
說明:可以看出,此時內網發向外網的telnet因為被標記為abc,所以在回來時,開了缺口,也就可以允許返回了。
(4)查看ACL
說明:可以看到,有一條為abc的ACL為允許外網到內網的telnet,正是由於內網發到外網的telnet被標記了,所以也自動產生了允許其返回的ACL,並且后面跟有剩余時間。
動態ACL
拓撲圖
說明:
R2和R3為內網,R4為外網,配置R1,默認允許所有telnet通過,因為要使用telnet做認證,然后只有當認證通過之后,ICMP才可以通過。
這里靜態路由配置與地址表與第一個實驗自反ACL完全相同,參照上面配置做通路由即可開始此實驗配置。
1.配置Dynamic ACL
(1)配置默認不需要認證就可以通過的數據,如telnet
R1(config)#access-list 100 permit tcp an an eq telnet
(2)配置認證之后才能通過的數據,如ICMP,絕對時間為2分鍾。
R1(config)#access-list 100 dynamic ccie timeout 2 permit icmp any any
(3)應用ACL
R1(config)#int f0/0
R1(config-if)#ip access-group 100 in
2.測試訪問
(1)測試內網R2 telnet外網R4
說明:從結果中看出,telnet不受限制。
(2)測試測試內網R2 ping外網R4
說明:內網在沒有認證之前,ICMP是無法通過的。
3.配置本地用戶數據庫
R1(config)#username ccie password cisco
4.配置所有人的用戶名具有訪問功能
R1(config)#line vty 0 122
R1(config-line)#login local
R1(config-line)#autocommand access-enable
5.內網R2做認證
說明:當telnet路由器認證成功后,是會被關閉會話的。
6.測試內網到外網的ICMP通信功能
說明:認證通過之后,ICMP被放行。
7.查看ACL狀態
說明:可以看到動態允許的流量已放行。
基於時間的ACL
拓撲圖
前提:在R1路由器上需要提前配置好正確的時間
R1#clock set 10:00:00 apr 23 2019
這里靜態路由配置與地址表與第一個實驗自反ACL完全相同,參照上面配置做通路由即可開始此實驗配置。
1.配置time-range
r1(config)#time-range TELNET
r1(config-time-range)#periodic weekdays 9:00 to 15:00
說明:定義的時間范圍為每周一到周五的9:00 to 15:00
2.配置ACL
說明:配置R1在上面的時間范圍內拒絕R2到R4的telnet,其它流量全部通過。
R1(config)#access-list 150 deny tcp host 10.1.34.2 any eq 23 time-range TELNET
R1(config)#access-list 150 permit ip any any
3.應用ACL
R1(config)#int f0/0
R1(config-if)#ip access-group 150 in
4.測試時間范圍內的流量情況
(1)查看當前R1的時間
說明:當前時間為周二10:00,即在所配置的時間范圍內。
(2)測試R2向R4發起telnet會話
說明:可以看到,在規定的時間范圍內,R2向R4發起telnet會話是被拒絕的。
(3)測試除telnet外的其它流量
說明:可以看到,在規定的時間范圍內,除了telnet之外,其它流量不受限制。
(4)測試除R2之外的設備telnet情況
說明:可以看到,除R2之外,其它設備telnet並不受限制。
5.測試時間范圍外的流量情況
(1)更改當前R1的時間
說明:更改時間為周二16:00,即在所配置的時間范圍之外。
(2)測試R2向R4發起telnet會話
說明:在時間范圍之外,所限制的流量被放開。
Established擴展ACL
拓撲圖
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
172.16.34.1 |
F 0/1 |
10.3.34.1 |
|
S 0/1/0 |
10.1.34.1 |
|
R2 |
S 0/1/0 |
10.1.34.2 |
S 0/1/1 |
10.2.34.2 |
|
R3 |
F 0/0 |
192.168.34.3 |
S 0/1/0 |
10.2.34.3 |
|
PC1 |
NIC |
172.16.34.100 |
Default Gateway |
172.16.34.1 |
|
PC2 |
NIC |
10.3.34.100 |
Default Gateway |
10.3.34.1 |
|
SERVER1 |
NIC |
192.168.34.100 |
Default Gateway |
192.168.34.3 |
配置擴展ACL前先把網絡做通,配置靜態路由。
R1(config)#ip route 10.2.34.0 255.255.255.0 10.1.34.2
R1(config)#ip route 192.168.34.0 255.255.255.0 10.1.34.2
R2(config)#ip route 172.16.34.0 255.255.255.0 10.1.34.1
R2(config)#ip route 10.3.34.0 255.255.255.0 10.1.34.1
R2(config)#ip route 192.168.34.0 255.255.255.0 10.2.34.3
R3(config)#ip route 10.1.34.0 255.255.255.0 10.2.34.2
R3(config)#ip route 172.16.34.0 255.255.255.0 10.2.34.2
R3(config)#ip route 10.3.34.0 255.255.255.0 10.2.34.2
R1#sh ip route 查看路由表
試從PC1 ping 到Server1
靜態路由配置完成,開始做擴展ACL實驗。
實驗步驟
要求:
� 拒絕PC1 所在網段訪問Server 192.168.34.100 的Web 服務
� 拒絕PC2 所在網段訪問Server 192.168.34.100 的Ftp 服務
� 拒絕PC1 所在網段訪問Server 192.168.34.100 的SQL 服務
� 拒絕PC1 所在網段訪問路由器R3 的Telnet 服務
� 拒絕PC2 所在網段訪問路由器R2 的Web 服務
� 拒絕PC1 和PC2 所在網段ping Server 服務器
� 只允許路由器R3 以接口s0/1/0 為源ping 路由器R2 的接口s0/1/1 地址,而不允許路
由器R2 以接口s0/1/1 為源ping 路由器R3 的接口s0/1/0 地址,即單向ping.
(一)配置路由器
R1(config)#access-list 110 remark this is an example for extended acl
R1(config)#access-list 110 deny tcp 172.16.34.0 0.0.0.255 host 192.168.34.100 eq 80
R1(config)#access-list 110 deny tcp 10.3.34.0 0.0.0.255 host 192.168.34.100 eq 21
R1(config)#access-list 110 deny tcp 10.3.34.0 0.0.0.255 host 192.168.34.100 eq 20
R1(config)#access-list 110 deny tcp 172.16.34.0 0.0.0.255 host 192.168.34.100 eq 1433
R1(config)#access-list 110 deny tcp 172.16.34.0 0.0.0.255 host 10.2.34.3 eq 23
R1(config)#access-list 110 deny tcp 172.16.34.0 0.0.0.255 host 192.168.34.3 eq 23
R1(config)#access-list 110 deny tcp 10.3.34.0 0.0.0.255 host 10.1.34.2 eq 80
R1(config)#access-list 110 deny tcp 10.3.34.0 0.0.0.255 host 10.2.34.2 eq 80
R1(config)#access-list 110 deny icmp 172.16.34.0 0.0.0.255 host 192.168.34.100
R1(config)#access-list 110 deny icmp 10.3.34.0 0.0.0.255 host 192.168.34.100
R1(config)#access-list 110 permit ip any any
R1(config)#int s0/1/0
R1(config-if)#ip access-group 110 out
(二)配置路由器R3
R3(config)#access-list 120 deny icmp host 10.2.34.2 host 10.2.34.3 echo
R3(config)#access-list 120 permit ip any any
R3(config)#int s0/1/0
R3(config-if)#ip access-group 120 in
四、實驗調試
(一)路由器R1 上查看ACL110
R1#show ip access-lists 110
(二)路由器R3 和路由器R2 互相ping
(三)路由器R3 查看ACL 120
R3#show ip access-lists 120
(四)配置命令擴展ACL
R3(config)#ip access-list extended acl120
R3(config-ext-nacl)#deny icmp host 10.2.34.2 host 10.2.34.3 echo
R3(config-ext-nacl)#permit ip any any
R3(config-ext-nacl)#int s0/1/0
R3(config-if)#ip access-group acl120 in
R3#show ip access-lists
擴展ACL實驗配置完成,驗證成功
基於上下文的訪問控制與基於區域策略的防火牆
拓撲圖
地址表
Device |
Interface |
IP address |
R1 |
F 0/0 |
192.168.34.1 |
S 0/0/0 |
10.1.34.1 |
|
R2 |
S 0/0/0 |
10.1.34.2 |
S 0/0/1 |
10.2.34.2 |
|
R3 |
F 0/0 |
172.16.34.3 |
S 0/0/0 |
10.2.34.3 |
|
PC-A |
NIC |
192.168.34.4 |
Default Gateway |
192.168.34.1 |
|
PC-C |
NIC |
172.16.34.4 |
Default Gateway |
172.16.34.3 |
基於上下文的訪問控制
預配置:
在配置防火牆之前驗證設備間連通性,即先配置靜態路由
R1(config)#ip route 10.2.34.0 255.255.255.0 10.1.34.2
R1(config)#ip route 172.16.34.0 255.255.255.0 10.1.34.2
R2(config)#ip route 192.168.34.0 255.255.255.0 10.1.34.1
R2(config)#ip route 172.16.34.0 255.255.255.0 10.2.34.3
R3(config)#ip route 10.1.34.0 255.255.255.0 10.2.34.2
R3(config)#ip route 192.168.34.0 255.255.255.0 10.2.34.2
在R3啟用密碼
R3(config)#enable password abc123
啟用console口密碼
R3(config)#line console 0
R3(config-line)#password abd123
啟用vty行接入密碼
R3(config)#line vty 0 4
R3(config-line)#password abe123
把S1、S2所有交換機接口都在Vlan1(S2同理)
S1(config)#int f 0/1
S1(config-if)# switchport access vlan 1
S1(config-if)# switchport trunk allowed vlan 1
S1(config)#int f 0/2
S1(config-if)# switchport access vlan 1
S1(config-if)# switchport trunk allowed vlan 1
預配置完成
驗證
在PC-C的命令提示符中ping PC-A服務器
在PC-C命令提示符中telnet路由R2的s0/0/1接口:地址時10.2.34.2.退出telnet階段
在PC-C開一個網頁瀏覽器登入PC-A來展示網頁。關掉PC-C的瀏覽器。
在PC-A的命令提示符ping PC-C
在R3配置一個命名IP ACl阻隔所有外網產生的流量
用ip access-list extended指令創造一個已命名的IP ACL
R3(config)#ip access-list extended out-in
R3(config-ext-nacl)# deny ip any any
R3(config-ext-nacl)# exit
在s0/0/0應用ACl
R3(config)#int s 0/0/0
R3(config-if)# ip access-group out-in in
確保進入s0/0/1接口的流量被阻隔
在PC-C命令提示符ping PC-A服務器。ICMP回送響應會被ACL阻隔
創建一個CBAC檢測規則
第一步 創建一個檢測規則來檢測ICMP,Telnet,和HTTP流量。
R3(config)# ip inspect name IN-OUT-IN icmp
R3(config)# ip inspect name IN-OUT-IN telnet
R3(config)# ip inspect name IN-OUT-IN http
第二步 開啟時間戳記記錄和CBAC審計跟蹤信息。
R3(config)# ip inspect audit-trail
R3(config)# service timestamps debug datetime msec
R3(config)# logging host 192.168.34.3
第三步 對在s0/0/1的出口流量用檢測規則。
R3(config-if)# ip inspect IN-OUT-IN out
第四步 驗證審計跟蹤信息正被syslog服務器記錄
在PC-C 成功ping、telnet訪問PC-A來檢測連通性。需要注意Telnet不了。
在PC-A,ping,Telnet PC-C來檢測連通性,這兩步都被阻隔掉
CBAC基於上下文的訪問控制配置完成。
基於區域策略的防火牆
驗證基本網絡連通性
PC-A ping通PC-C
PC-C telnet到s0/0/0接口
在R3創建區域防火牆
第一步 創建一個內部區域。
R3(config)# zone security IN-ZONE
第二步 創建外部區域
R3(config-sec-zone)# zone security OUT-ZONE
R3(config-sec-zone)# exit
定義一個流量級別和訪問列表
第一步 創建一個用來定義內部流量的ACL
R3(config)# access-list 101 permit ip 172.16.34.0 0.0.0.255 any
第二步 創建一個涉及內部流量ACL的class map
R3(config)# class-map type inspect match-all IN-NET-CLASS-MAP
R3(config-cmap)# match access-group 101
R3(config-cmap)# exit
指定防火牆策略
第一步 創建一個策略圖來確定對匹配的流量干啥。
R3(config)# policy-map type inspect IN-2-OUT-PMAP
第二步 定義一個檢測級別類型和參考策略圖。
R3(config-pmap)# class type inspect IN-NET-CLASS-MAP
第三步 定義檢測策略圖
Inspect這個指令調用基於上下文的訪問控制(其他還有通過和丟棄)
應用防火牆策略
第一步 創建一對區域
R3(config)# zone-pair security IN-2-OUT-ZPAIR source IN-ZONE destination OUT-ZONE
第二步 定義策略圖來控制兩個區域的流量。
R3(config-sec-zone-pair)# service-policy type inspect IN-2-OUT-PMAP
R3(config-sec-zone-pair)# exit
第三步 把端口調用到合適的安全區域。
R3(config)# interface fa0/0
R3(config-if)# zone-member security IN-ZONE
R3(config-if)# exit
R3(config)# interface s0/0/0
R3(config-if)# zone-member security OUT-ZONE
R3(config-if)# exit
測試從IN-ZONE到OUT-ZONE的防火牆功能
第一步 PC_C ping PC-A服務器
第二步 從PC-Ctelnet到R2 的s0/0/1口
PC-C打開網頁登到PC-A的服務器
測試外部區域到內部區域的防火牆功能
驗證配置ZPF之后外部無法訪問內部。
第一步 PC-A ping PC-C(ping 不通)
第二步 R2 ping PC-C也ping不通
到此基於區域策略的防火牆配置驗證完成。
總結
這次作業涵蓋的內容非常多,主要包括3種ALT:自反,動態,基於時間。雖然這次實驗內容多,但都比較簡單,在對照文檔后還是能夠獨立完成的,這次實驗加深了我對這兩章知識的掌握。