新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 網(wǎng)絡(luò)層訪問(wèn)權(quán)限控制技術(shù) ACL詳解(二) ACL基本配置

網(wǎng)絡(luò)層訪問(wèn)權(quán)限控制技術(shù) ACL詳解(二) ACL基本配置

作者: 時(shí)間:2017-06-13 來(lái)源:網(wǎng)絡(luò) 收藏

配置技術(shù)詳解

本文引用地址:http://butianyuan.cn/article/201706/357705.htm

“說(shuō)那么多廢話做什么,趕快開(kāi)始進(jìn)行配置吧。”,A公司的網(wǎng)管說(shuō)。呵呵,并不是我想說(shuō)那么多廢話,因?yàn)槔斫膺@些基礎(chǔ)的概念與簡(jiǎn)單的原理對(duì)后續(xù)的配置和排錯(cuò)都是相當(dāng)有用的。說(shuō)說(shuō)看,你的第一個(gè)需求是什么。

“做為一個(gè)網(wǎng)管,我不期望普通用戶能telnet到網(wǎng)絡(luò)設(shè)備”――基礎(chǔ)

“補(bǔ)充一點(diǎn),要求能夠從我現(xiàn)在的機(jī)器(研發(fā)VLAN10.1.6.66)telnet到網(wǎng)絡(luò)設(shè)備上去。”。hamm,是個(gè)不錯(cuò)的主意,誰(shuí)都不希望有人在自己的花園中撤野。讓我們分析一下,在A公司的網(wǎng)絡(luò)中,除出口路由器外,其它所有的網(wǎng)絡(luò)設(shè)備段的是放在Vlan1中,那個(gè)我只需要在到VLAN 1的路由器接口上配置只允許源地址為10.1.6.66的包通過(guò),其它的包通通過(guò)濾掉。這中只管源IP地址的就叫做

標(biāo)準(zhǔn)IP ACL

我們?cè)?/span>SWA上進(jìn)行如下的配置:

access-list 1 permit host 10.1.6.66

access-list 1 deny any

int vlan 1

ip access-group 1 out

這幾條命令中的相應(yīng)關(guān)鍵字的意義如下:

access-list配置均ACL的關(guān)鍵字,所有的ACL均使用這個(gè)命令進(jìn)行配置。

access-list后面的1ACL號(hào),ACL號(hào)相同的所有ACL形成一個(gè)組。在判斷一個(gè)包時(shí),使用同一組中的條目從上到下逐一進(jìn)行判斷,一遇到滿足的條目就終止對(duì)該包的判斷。1-99為標(biāo)準(zhǔn)的IP ACL號(hào),標(biāo)準(zhǔn)IP ACL由于只讀取IP包頭的源地址部分,消耗資源少。

permit/deny操作。Permit是允許通過(guò),deny是丟棄包。

host 10.1.6.66/any匹配條件,等同于10.1.6.66 0.0.0.0。剛才說(shuō)過(guò),標(biāo)準(zhǔn)的ACL只限制源地址。Host 10.1.6.66(10.1.6.66 0.0.0.0)的意思是只匹配源地址為10.1.6.66的包。0.0.0.0wildcards,某位的wildcards0表示IP地址的對(duì)應(yīng)位必須符合,為1表示IP地址的對(duì)應(yīng)位不管是什么都行。簡(jiǎn)單點(diǎn)說(shuō),就是255.255.255.255減去子網(wǎng)掩碼后的值,0.0.0.0wildcards就是意味著IP地址必須符合10.1.6.66,可以簡(jiǎn)稱為host 10.1.6.66any表示匹配所有地址。

注意:IOS中的ACL均使用wildcards,并且會(huì)用wildcards對(duì)IP地址進(jìn)行嚴(yán)格的對(duì)齊,如你輸入一條access-list 1 permit 10.1.1.129 0.0.0.31,在你show access-list看時(shí),會(huì)變成access-list 1 permit 10.1.1.128 0.0.0.31,PIXOS中的ACL均使用subnet masks,并且不會(huì)進(jìn)行對(duì)齊操作。更為詳細(xì)的關(guān)于IP V4地址的資料可以參見(jiàn)拙著IP v4基礎(chǔ)知識(shí)》http://www.ultratechnology.net/showarticle.php?s=articleid=60 一文

int vlan1///ip access-group 1 out這兩句將access-list 1應(yīng)用到vlan1接口的out方向。其中1ACL號(hào),和相應(yīng)的ACL進(jìn)行關(guān)聯(lián)。Out是對(duì)路由器該接口上哪個(gè)方向的包進(jìn)行過(guò)濾,可以有inout兩種選擇。

注意:這里的in/out都是站在路由器或三層模塊(以后簡(jiǎn)稱R)上看的,in表示從該接口進(jìn)入R的包,out表示從該接口出去的包。

好了,這就是一個(gè)最基本的ACL的配置方法。什么,你說(shuō)普通用戶還能telnetRTA?那你在int vlan3上現(xiàn)加一個(gè)ip access-group 1 out吧。Hammmm,等等,你這樣加上去普通用戶就訪問(wèn)不了internet了。讓我們把剛才的ACL去掉,重新寫(xiě)一個(gè)。

回憶一下,我們的目的是除了10.1.6.66能夠進(jìn)行telnet操作外,其它用戶都不允許進(jìn)行telnet操作。剛才我們說(shuō)過(guò),標(biāo)準(zhǔn)的IP ACL只能控制源IP地址,不能控制到端口。要控制到第四層的端口,就需要使用到:

擴(kuò)展的IP ACL的配置

先看看配置實(shí)例吧。在SWA上進(jìn)行如下配置:

int vlan 1

no ip access-group 1 out

exit

no access-list 1

access-list 101 permit tcp host 10.1.6.66 any eq telnet

access-list 101 deny tcp any any eq telnet

int vlan 1

ip access-group 101 out

int vlan 3

ip access-group 101 out

你應(yīng)該注意到到這里的ACL有一些變化了,現(xiàn)在對(duì)變化的部分做一些說(shuō)明:

access-list 101注意這里的101,和剛才的標(biāo)準(zhǔn)ACL中的1一樣,101ACL號(hào),表示這是一個(gè)擴(kuò)展的IP ACL。擴(kuò)展的IP ACL號(hào)范圍是100-199,擴(kuò)展的IP ACL可以控制源IP、目的IP、源端口、目的端口等,能實(shí)現(xiàn)相當(dāng)精細(xì)的控制,擴(kuò)展ACL不僅讀取IP包頭的源地址/目的地址,還要讀取第四層包頭中的源端口和目的端口,的IP在沒(méi)有硬件ACL加速情況下,會(huì)消耗大量的CPU資源。

int vlan 1///no ip access-group 1 out///exit///no access-list 1取消access-list 1,對(duì)于非命名的ACL,可以只需要這一句就可以全部取消。注意,在取消或修改一個(gè)ACL前,必須先在它所應(yīng)用的接口上先把應(yīng)用給no掉,否則會(huì)導(dǎo)致相當(dāng)嚴(yán)重的后果。

tcp host 10.1.6.66 any eq telnet:匹配條件。完整格式為:協(xié)議 源地址 wildcards [關(guān)系] [源端口] 目的地址 目的wildcards [關(guān)系] [目的端口]。其中協(xié)議可以是IPTCP、UDPEIGRP等,[]內(nèi)為可選字段。僅在協(xié)議為tcp/udp等具備端口號(hào)的協(xié)議才有用。關(guān)系可以是eq(等于)、neq(不等于)、lt(大于)range(范圍)等。端口一般為數(shù)字的1-65535,對(duì)于周知端口,如23(服務(wù)名為telnet)等可以用服務(wù)名代替。源端口和目的端口不定義時(shí)表示所有端口。

把這個(gè)ACL應(yīng)用上去后,用戶們開(kāi)始打電話來(lái)罵娘了,因?yàn)樗麄兌荚L問(wèn)不了Internet了,是哪里出了問(wèn)題了呢?

注意:所有的ACL,缺省情況下,從安全角度考慮,最后都會(huì)隱含一句deny any(標(biāo)準(zhǔn)ACL)deny ip any any(擴(kuò)展IP ACL)。所以在不了解業(yè)務(wù)會(huì)使用到哪些端口的情況下,最好在ACL的最后加上一句permit ip any any,在這里就是access-list 101 permit ip any any。

現(xiàn)在用戶倒是能夠訪問(wèn)Internet了,但我們的可憐的網(wǎng)管卻發(fā)現(xiàn)普通用戶還是能夠telnet到他的SWA上面,因?yàn)?/span>SWA上面有很多個(gè)網(wǎng)絡(luò)接口,而且使用擴(kuò)展的ACL會(huì)消耗很多的資源。有什么簡(jiǎn)單的辦法能夠控制用戶對(duì)網(wǎng)絡(luò)設(shè)備的Telnet訪問(wèn),而又不消耗太多的資源呢?這就需要使用到:

對(duì)網(wǎng)絡(luò)設(shè)備自身的訪問(wèn)如何進(jìn)行控制的技術(shù)

讓我們先把剛才配置的ACL都取掉(具體配置略,不然后讀者會(huì)以為我在騙稿費(fèi)了。),再在每臺(tái)網(wǎng)絡(luò)設(shè)備上均進(jìn)行如下配置:

access-list 1 permit host 10.1.6.66

line vty 0 4(部分設(shè)備是15)

access-class 1 in

這樣就行了,telnet都是訪問(wèn)的設(shè)備上的line vty,在line vty下面使用access-classACL組進(jìn)行關(guān)聯(lián),in關(guān)鍵字表示控制進(jìn)入的連接。

就這么簡(jiǎn)單?wk,你丫是不是在玩我們,為什么還要繞一大圈?臭雞蛋和爛西紅柿開(kāi)始在70的腦袋上方狂飛。(5555555,偶也只是想向大家把ACL的基礎(chǔ)知識(shí)講的明白一些的嘛)。經(jīng)過(guò)剛才的配置,我們可以理出一個(gè)簡(jiǎn)單的ACL配置步驟了:

u 分析需求,找清楚需求中要保護(hù)什么或控制什么;為方便配置,最好能以表格形式列出。在本文的后面會(huì)舉例的。

u 分析符合條件的數(shù)據(jù)流的路徑,尋找一個(gè)最適合進(jìn)行控制的位置;

u 書(shū)寫(xiě)ACL,并將ACL應(yīng)用到接口上;

u 測(cè)試并修改ACL。

當(dāng)A公司的領(lǐng)導(dǎo)知道在網(wǎng)管能夠控制普通用戶對(duì)網(wǎng)絡(luò)設(shè)備的訪問(wèn)后,我們的可憐的網(wǎng)管就收到了很多看起來(lái)很難的要求。領(lǐng)導(dǎo)要求網(wǎng)管:



關(guān)鍵詞: ACL

評(píng)論


技術(shù)專區(qū)

關(guān)閉