配置基於上下文的ACL

2021-09-25 15:27:40 字數 4157 閱讀 1229

【實驗目的】

學習基於上下文acl的配置方法,基於實驗理解其工作原理。

【知識點】

基於上下文acl的作用,基於上下文acl的工作原理

【實驗場景】

三颱路由器串列埠相連,連線位址如圖所示。在r2上做cbac訪問控制,只允許r1 telnet r3及ping r3,但不允許r3訪問r1。

【實驗原理】

acl只能檢測到網路層和傳輸層的資料資訊,而對於封裝在ip包中的惡意資訊它是無能為力的。cbac指定了哪些協議及介面、介面方向(流入和流出)需要被檢查,同指定了檢查的起始。cbac只對指定的協議進行檢查。

根據題目要求,對於r1去往r3的流量不做限制,但是限制r3去往r1的流量。做acl運訓r1去往r3的流量,但同時也要禁止除r3對r1回包之外流量,才能實現上述目的。又因為要允許r1 telnet r3,此前做的acl策略只是允許了ip的流量,所以使用cbac對過來的tcp(即telnet)做檢查並允許,才能到達最終目的。

【實驗裝置】

cisco packet tracer軟體中:三颱2811的路由器

【實驗拓撲】

【實驗思路】

配置路由器介面ip位址

配置靜態路由,使得三颱路由器可以互訪

在router 2 上配置telnet,使得router 1可以遠端訪問router 2

驗證以上配置是否作用

配置acl並載入到介面上,驗證是否可實現目的要求

配置cbac並載入到介面上,驗證是否可實現目的要求

【實驗步驟】

介面連通性配置

對router 1配置:

router(config)#hostname r1

r1(config)#int s0/3/0

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#no shutdown

r1(config)#ip route 20.1.1.0 255.255.255.0 10.1.1.2

//啟用靜態路由使r3可達

對router 2配置:

由於r2全部是相連介面不需配置路由

router(config)#hostname r2

r2(config)#int s0/3/0

r2(config-if)#ip address 10.1.1.2 255.255.255.0

r2(config-if)#no shutdown

r2(config-if)#int s0/3/1

r2(config-if)#ip add 20.1.1.1 255.255.255.0

r2(config-if)#no shutdown

對router 3配置:

router(config)#hostname r3 

r3(config)#int s0/3/1

r3(config-if)#ip add 20.1.1.2 255.255.255.0

r3(config-if)#no shutdown

r3(config)#ip route 10.1.1.0 255.255.255.0 20.1.1.1

//啟用靜態路由使r1可達

測試連通性

r1#ping 20.1.1.2  //r3的介面位址
r3#ping 10.1.1.1  //r1的介面位址
配置r3為telnet server,並設定特權密碼

r3(config)#username cisco password cisco  //設定使用者名稱及密碼

r3(config)#enable secret cisco //特權密碼,否則不允許遠端連線

r3(config)#line vty 0 4

r3(config-line)#login local //遠端登入使用本地資料庫

測試telnet配置

r1#telnet 20.1.1.2   telnetr3,已經連線上了

trying 20.1.1.2 ... open

user access verification

username: cisco //輸入設定的使用者名稱及密碼

password:

r3>en

password:

r3#

設定cbac及訪問控制

r2(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 any 

//允許內網所有流量

r2(config)#access-list 101 permit icmp any 10.1.1.0 0.0.0.255 echo-reply

//允許ping的回流

r2(config)#access-list 101 deny ip any any //拒絕其它所有流量

r2(config)#ip inspect name cbac_telnet tcp

//定義cbac開啟tcp和udp,允許ip不代表允許tcp和udp

r2(config)#ip inspect name cbac_telnet udp

r2(config)#int s0/3/0

r2(config-if)#ip access-group 100 in //內網載入訪問列表,但沒加cbac

r2(config)#int s0/3/1

r2(config-if)#ip access-group 101 in //外網載入列表

測試沒有載入cbac的效果,並檢視r2的訪問列表

r1#telnet 20.1.1.2  //沒有成功的進行遠端連線

trying 20.1.1.2 ...

% connection timed out; remote host not responding

r2#show ip access-lists //檢視r2的訪問列表

extended ip access list 100

permit ip 10.1.1.0 0.0.0.255 any (30 matches)

extended ip access list 101

permit icmp any 10.1.1.0 0.0.0.255 echo-reply (5 matches)

deny ip any any //沒有載入任何條目

將cbac載入到介面

r2(config)#int s0/3/0

r2(config-if)#ip inspect cbac_telnet in //載入cbac

在r1測試telnet連線並在r2上檢視訪問列表條目

r1#telnet 20.1.1.2

trying 20.1.1.2 ... open //連線成功

user access verification

username: cisco

password:

r3>en

password:

r3#

r2#show ip access-lists //檢視訪問列表條目

extended ip access list 100

permit ip 10.1.1.0 0.0.0.255 any (65 matches)

extended ip access list 101

permit tcp host 20.1.1.2 eq telnet host 10.1.1.1 eq 11005 (27 matches)

//發現動態的載入條目,cbac實驗成功

permit icmp any 10.1.1.0 0.0.0.255 echo-reply (5 matches)

deny ip any any

【實驗思考】

根據實驗,理解cbac的工作原理。

上下文 上下文棧

全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...

中斷上下文 程序上下文

在學習與作業系統相關的知識時候,我們經常遇到程序上下文 中斷上下文,看似熟悉又感覺不是特別清晰。這裡我們從如下幾個方面進行描述。上下文是從英文中context翻譯過來的,指的是一種環境。上下文我們看起來不怎麼熟悉,但是我們可以看context的中文翻譯,或者我們能更加的情形些。context n 語...

全域性上下文與上下文

全域性上下文由main函式載入系統的主架構和主事件迴圈和全域性資料構成。是上帝創造世界時,建立的基礎事物。萬物之始,大道至簡,衍化至繁。全域性上下文代表著程式執行所需要的基礎資源。是程式執行的基礎。全域性上下文的特徵是在程式執行期間常駐記憶體。全域性上下文的生命週期和應用程式的生命週期相同。與應用程...