路由器ACL(訪問控制列表)的型別及配置

2021-09-25 20:00:15 字數 4019 閱讀 8359

acl是應用在路由器介面的指令列表,通過這些指令,來告訴路由器哪些資料報可以接收,哪些資料報需要拒絕,基本原理就是:acl使用包過濾技術,在路由器上讀取osi七層模型的第三層及第四層包頭中的資訊,如源位址、目的位址、源埠、目的埠等,根據預先定義好的規則,對包進行過濾,從而達到訪問控制的目的。

acl有三種型別:

命名acl允許在標準acl和擴充套件acl中使用名稱代替錶號。(個人感覺擴充套件命名acl規則更為靈活,若沒耐心,可直接看文章最後的擴充套件命名acl規則的語法)。

建立標準acl語法:

router(config)#access-list 1~99 源網段位址或網段(若源位址為主機,則在位址前面需要加「host」;若源位址為網段,則要在網段位址後面加反掩碼,如/24的反掩碼就是0.0.0.255。

例如:router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 #表示為允許192.168.1.0/24網段位址的流量通過

router(config)#access-list 1 permit host 192.168.2.1 #表示為允許主機192.168.2.1的流量通過。

每乙個acl都有一條隱含的拒絕語句,可以拒絕所有流量,所以在做acl規則時建議以拒絕某個網段或主機的流量通過,然後再允許所有流量通過,如下:

router(config)#access-list 1 deny host 192.168.1.2 #拒絕192.168.1.2網段的流量通過

router(config)#access-list 1 permit any #允許所有主機的流量通過

當以上acl規則應用到介面上時,效果為除了192.168.1.2的流量外都可以通過。

源位址可以用「any」來表示為所有主機。

刪除acl的規則時,在規則前加「no」即可,如:router(config)# no access-list 1 #刪除錶號為1的規則

乙個acl可以配置多條規則,但是乙個介面,乙個方向只能應用乙個acl。

配置好的acl規則應用到介面上的語法如下:

router(config)#int f0/1

router(config-if)# ip access-list 1 in/out #把錶號1的規則應用到進站(in)或出站(out)方向

擴充套件acl的配置語法:

語法1:

router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 #建立乙個錶號為101的acl,規則為允許192.168.1.0訪問192.168.2.0網段的流量通過

router(config)# access-list 101 deny ip any any #拒絕所有流量通過

以上規則最終應用到介面上的效果為拒絕除了192.168.1.0訪問192.168.2.0的資料報以外的所有資料報通過

語法2:

router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 #拒絕網路192.168.1.0訪問主機192.168.2.2,tcp埠號21的流量通過

router(config)# access-list 101 permit ip any any #允許所有流量通過

以上擴充套件acl的規則為:拒絕網路192.168.1.0訪問主機192.168.2.2,tcp埠號21的流量通過,而允許其他任何流量通過。其中命令最後的「eq」為等於xx埠號還有 lt (小於)、gt(大於)、neq(不等於)幾個選項。

擴充套件acl與標準acl的區別就是擴充套件acl可以基於埠號、目標位址、協議,來更加精準的控制流量是允許還是拒絕通過。

刪除擴充套件acl的規則的語句和刪除標準acl一致。如:router(config)# no access-list 101 #刪除錶號為101的擴充套件acl規則

命名acl的配置

命名acl在管理及維護方面更加方便,同時也支援友好的名稱作為acl名稱,而不侷限於使用acl編號。

配置命名acl的語法如下:

1、建立命名acl:

router(config)# ip access-list access-list-name

2、如果是標準命名acl,命令語法如下:

router(config-std-nacl)# [ sequence-number ] source [ source-wildcard ]

上述語法中sequence-number決定acl語句在acl列表中的位置

例如:配置規則,允許來自主機192.168.1.1/24的流量通過,而拒絕其他流量,標準命名acl命令如下:

r1(config)#ip access-list standard test #建立名為test的標準命名acl

r1(config-std-nacl)#permit host 192.168.1.1 #允許主機192.168.1.1的流量通過

r1(config-std-nacl)#deny any #拒絕其他流量

若退出後還要繼續修改規則,可直接在全域性模式下執行:router(config)# ip access-list standard test進入acl命名acl組,繼續寫入如:

router(config-std-nacl)#15 permit host 192.168.2.1

然後檢視:

standard ip access list cisco

10 permit 192.168.1.1

15 permit 192.168.2.1

20 deny any

若要刪除acl中某條規則的可以執行「no+規則編號」,如想刪除上面規則編號為10 的可以執行`「no   10」`

若要刪除上面已建立的命名acl,命令語法如下:

`r1(config)# no ip access-list standard test `

建立擴充套件命名的acl語法如下:r1(config)#ip access-list extended test #建立名為test的擴充套件命名aclrouter(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 #禁止網路192.168.1.0訪問主機192.168.2.2的21埠。其中以上命令最後的「eq」命令字的作用是等於xx埠號還有 lt (小於)、gt(大於)、neq(不等於)幾個選項。router(config-ext-nacl)# permit ip any any #允許所有流量通過以上規則的作用是禁止192.168.1.0網路訪問主機192.168.2.2的21埠,而允許其他任何流量通過。

ACL訪問控制列表

acl的基本原理 功能與侷限性 網路中常說的acl是網路裝置所提供的一種訪問控制技術 其他很多地方也用到了acl 初期僅在路由器上支援,近些年來已經擴充套件到三層交換機,部分最新的二層交換機如2950之類也開始提供acl的支援。只不過支援的特性不是那麼完善而已。在其它廠商的路由器或多層交換機上也提供...

ACL訪問控制列表

技術從來都是一把雙刃劍,網路應用與網際網路的普及在大幅提高企業的生產經營效率的同時,也帶來了諸如資料的安全性,員工利用網際網路做與工作不相干事等負面影響。如何將乙個網路有效的管理起來,盡可能的降低網路所帶來的負面影響就成了擺在網路管理員面前的乙個重要課題。a公司的某位可憐的網管目前就面臨了一堆這樣的...

訪問控制列表 ACL

訪問控制列表的條件引數都在ip包中,協議號和ip位址 源位址和目的位址 都在ip包頭部分,埠號在ip包的資料部分,也就是第四層頭部。訪問控制列表是應用在路由器介面的指令列表,這些指令列表用來告訴路由器哪些資料報可以接收 哪些資料報需要拒絕。訪問控制是網路安全防範和保護的主要策略,它的主要任務是保證網...