(以下所有內容爲本手純手打,有紕漏的地方,也請大家多多包含可發小豬消息賜教交流!)
(本文所有內容及批註呈內收遞歸的架構顯示,因格式顯示不懂之處望諒解!)
(本文手打之,命令關鍵字大多使用簡寫,如有不明最好是鍵入命令時慣用tab補全!)
訪問控制列表ACL-小豬詳談:
簡單總結:
(接口啓用應用acl後,所有acl只有應用到接口上才起作用,執行出入規則允許或拒絕,默認爲丟棄!)
(包過濾技術,過濾三四層包頭信息,網絡層和會話層)
(標準訪問控制列表,擴展訪問控制列表,命名訪問控制列表、動態acl-通過定義時間段-這裏不做詳解)
(標準和擴展都無法隨意更改編輯規則,命名的則可)
(標準和擴展acl刪除是隻能刪除真個表,而不能只刪除其中的一個規則語句)
(標準acl規則一般應用到離目標地址較近的路由口上,擴展acl則一般應用在離源地址較勁的路由口上)
1、標準訪問控制列表配置:
(只根據數據包的源ip地址進行執行規則允許或拒絕)
router(config)#access-list access-list-number {permit |deny } source [souce-wildcard]
access-list-number:acl表號,標準acl表號範圍:1-99
permit | deny :允許或拒絕規則命令關鍵字
source:數據包源ip地址,可以是網段也可以是主機地址
source-wildcard:反碼(通配符掩碼)
舉例配置如下:
access-list 1 permit 192.168.1.0 0.0.0.255 (表示允許此網段通過)
access-list 1 deny 192.168.1.1 0.0.0.0 (表示拒絕192.168.1.1這個ip主機出入)
access-list 1 deny 0.0.0.0 255.255.255.255 (此爲默認隱藏的拒絕所有語句置於每個acl最後)
access-list 1 permit host 192.168.1.100 (這裏host爲主機關鍵字,當配置單個ip時使用)
access-list 1 deny any (這裏any爲所有關鍵字,當配置針對所有ip規則時使用)
no access-list access-list-number (此爲刪除某個acl表)
(標準acl中,使用host命令時,可以省略)
router(config)#int f*/*
router(config-if)#ip access-group access-list-number {in | out}
(將acl策略應用到接口上使用並開始執行工作,no則取消工作)
(每個方向上只能有一個acl,每個接口最多兩個acl,一個入方向,一個出方向,不可重疊)
2、擴展訪問控制列表配置:
(可根據源ip、目標ip、指定協議、端口號以及標誌來定義允許拒絕規則)
router(config)#access-list access-list-number {permit|deny} protocol {source source-wildcard destination destination-wildcard} [operator operan]
access-list-number :表號100-199
protocol:定義協議類型,如ip、icmp、tcp、udp
destination:目的地址,同理,後面的爲目的地址的反掩碼
operator operan:lt小於、gt大於、eq等於、neq不等於一個端口號,用於定義協議端口
舉例配置如下:
access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
(允許192.168.1.0 訪問192.168.2.0)
access-list 100 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.1 eq 21
(拒絕192.168.1.0的主機訪問192.168.2.1的ftp服務)
access-list 100 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.1 echo
(拒絕192.168.1.0的主機ping192.168.2.1的icmp請求)
no access-list access-list-number (刪除已經創建的acl規則表)
router(config)#int f*/*
router(config-if)#ip access-group access-list-number {in | out}
(將acl策略應用到接口上使用並開始執行工作,no則取消工作)
3、命名訪問控制列表配置:
(過濾規則允許可以在標準和擴展規則中使用名稱代替表號)
router(config)#ip access-list {standard|extended} access-list-name (創建acl)
standard|extended:表示創建標準還是擴展acl關鍵字
access-list-name :由字母數字組成的字符串,爲acl表名
舉例配置如下:
router(config)#ip access-list standard test1 (創建標準命名acl表)
router(config-std-nacl)#[sequence-number] {permit|deny} source [source wildcard]
(sequence-number:此爲命名acl語句在acl表中的位置序號,默認是10,20,依次類推)
(sequence-number對acl作用可隨意修改編輯刪除命名acl表中的任意語句)
router(conifg)#ip access-list extended test2 (創建擴展命名acl表)
router(config-ext-nacl)#[sequence-number] {permit|deny} protocol {source s-wildcard distination d-wildcard } [operator operan]
router(config-std-nacl)#no 10 (在標準命名acl子模式下,可以直接編輯刪除其語句)
router(config)#no ip access-list standard test1 (刪除整條acl表)
詳細舉例配置如下:
router(config)#ip acc stan test3
router(config-sta-nacl)#permit 192.168.1.0
router(config-sta-nacl)#deny any
router(config)#ip acc ext test4
router(config-ext-nacl)#deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.1 eq 21
router(config-ext-nacl)#15 deny ip host 192.168.1.1 host 192.168.2.1
router(config-ext-nacl)#16 permit any any
router(config)#int f*/*
router(config-if)#ip access-group access-list-number {in | out}
(將acl策略應用到接口上使用並開始執行工作,no則取消工作)
舉例配置如下:
router(config)#int f0/0
router(config-if)#ip access-g test1 in
router(config-if)#ip access-g test2 out
(以上爲cisco路由設備上acl的整體配置,到此結束,需要多練,應多瞭解不同規則策略!下期小豬將給大家整理cisco-sw-三層交換-VLAN間路由協議,敬請關注!)