天天看點

路由器防火牆的配置指令

一、 access-list 用于建立通路規則。 

(1)建立标準通路清單 

access-list [ normal | special ] listnumber1 { permit | deny } source-addr [ source-mask ] 

(2)建立擴充通路清單 

access-list [ normal | special ] listnumber2 { permit | deny } protocol source-addr source-mask [ operator port1 [ port2 ] ] dest-addr dest-mask [ operator port1 [ port2 ] | icmp-type [ icmp-code ] ] [ log ] 

(3)删除通路清單 

no access-list { normal | special } { all | listnumber [ subitem ] } 

【參數說明】 

normal 指定規則加入普通時間段。 

special 指定規則加入特殊時間段。 

listnumber1 是1到99之間的一個數值,表示規則是标準通路清單規則。 

listnumber2 是100到199之間的一個數值,表示規則是擴充通路清單規則。 

permit 表明允許滿足條件的封包通過。 

deny 表明禁止滿足條件的封包通過。 

protocol 為協定類型,支援ICMP、TCP、UDP等,其它的協定也支援,此時沒有端口比較的概念;為IP時有特殊含義,代表所有的IP協定。 

source-addr 為源位址。

source-mask 為源位址通配位,在标準通路清單中是可選項,不輸入則代表通配位為0.0.0.0。 

dest-addr 為目的位址。 

dest-mask 為目的位址通配位。 

operator[可選] 端口操作符,在協定類型為TCP或UDP時支援端口比較,支援的比較操作有:等于(eq)、大于(gt)、小于(lt)、不等于(neq)或介于(range);如果操作符為range,則後面需要跟兩個端口。 

port1 在協定類型為TCP或UDP時出現,可以為關鍵字所設定的預設值(如telnet)或0~65535之間的一個數值。 

port2 在協定類型為TCP或UDP且操作類型為range時出現;可以為關鍵字所設定的預設值(如telnet)或0~65535之間的一個數值。 

icmp-type[可選] 在協定為ICMP時出現,代表ICMP封包類型;可以是關鍵字所設定的預設值(如echo-reply)或者是0~255之間的一個數值。 

icmp-code在協定為ICMP且沒有選擇所設定的預設值時出現;代表ICMP碼,是0~255之間的一個數值。 

log [可選] 表示如果封包符合條件,需要做日志。 

listnumber 為删除的規則序号,是1~199之間的一個數值。 

subitem[可選] 指定删除序号為listnumber的通路清單中規則的序号。 

【預設情況】 系統預設不配置任何通路規則。 

【指令模式】 全局配置模式 

【使用指南】 

同一個序号的規則可以看作一類規則;所定義的規則不僅可以用來在接口上過濾封包,也可以被如DDR等用來判斷一個封包是否是感興趣的封包,此時,permit與deny表示是感興趣的還是不感興趣的。 

使用協定域為IP的擴充通路清單來表示所有的IP協定。 

同一個序号之間的規則按照一定的原則進行排列和選擇,這個順序可以通過 show access-list 指令看到。 

【舉例】 

允許源位址為10.1.1.0 網絡、目的位址為10.1.2.0網絡的WWW通路,但不允許使用FTP。 

Quidway(config)#access-list 100 permit tcp 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 eq www 

Quidway(config)#access-list 100 deny tcp 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 eq ftp 

【相關指令】 

ip access-group 

二、clear access-list counters 清除通路清單規則的統計資訊。 

clear access-list counters [ listnumber ] 

listnumber [可選] 要清除統計資訊的規則的序号,如不指定,則清除所有的規則的統計資訊。 

【預設情況】        任何時候都不清除統計資訊。 

【指令模式】        特權使用者模式 

使用此指令來清除目前所用規則的統計資訊,不指定規則編号則清除所有規則的統計資訊。 

例1:清除目前所使用的序号為100的規則的統計資訊。 

Quidway#clear access-list counters 100 

例2:清除目前所使用的所有規則的統計資訊。 

Quidway#clear access-list counters 

access-list 

三、firewall 啟用或禁止防火牆。 

firewall { enable | disable } 

【參數說明】 enable 表示啟用防火牆。 disable 表示禁止防火牆。 

【預設情況】          系統預設為禁止防火牆。 

【指令模式】           全局配置模式 

使用此指令來啟用或禁止防火牆,可以通過show firewall指令看到相應結果。如果采用了時間段包過濾,則在防火牆被關閉時也将被關閉;該指令控制防火牆的總開關。在使用 firewall disable 指令關閉防火牆時,防火牆本身的統計資訊也将被清除。 

【舉例】 啟用防火牆。 

Quidway(config)#firewall enable 

access-list,ip access-group 

四、firewall default 配置防火牆在沒有相應的通路規則比對時,預設的過濾方式。 

firewall default { permit | deny } 

【參數說明】permit 表示預設過濾屬性設定為“允許”。 

            deny 表示預設過濾屬性設定為“禁止”。 

【預設情況】在防火牆開啟的情況下,封包被預設允許通過。 

當在接口應用的規則沒有一個能夠判斷一個封包是否應該被允許還是禁止時,預設的過濾屬性将起作用;如果預設過濾屬性是“允許”,則封包可以通過,否則封包被丢棄。 

【舉例】    設定預設過濾屬性為“允許”。 

Quidway(config)#firewall default permit

五、ip access-group 使用此指令将規則應用到接口上。使用此指令的no形式來删除相應的設定。 

ip access-group listnumber { in | out } 

[ no ] ip access-group listnumber { in | out } 

listnumber 為規則序号,是1~199之間的一個數值。 

in 表示規則用于過濾從接口收上來的封包。 

out 表示規則用于過濾從接口轉發的封包。 

【預設情況】 沒有規則應用于接口。 

【指令模式】 接口配置模式。 

使用此指令來将規則應用到接口上;如果要過濾從接口收上來的封包,則使用 in 關鍵字;如果要過濾從接口轉發的封包,使用out 關鍵字。一個接口的一個方向上最多可以應用20類不同的規則;這些規則之間按照規則序号的大小進行排列,序号大的排在前面,也就是優先級高。對封包進行過濾時,将采用發現符合的規則即得出過濾結果的方法來加快過濾速度。是以,建議在配置規則時,盡量将對同一個網絡配置的規則放在同一個序号的通路清單中;在同一個序号的通路清單中,規則之間的排列和選擇順序可以用show access-list指令來檢視。 

将規則101應用于過濾從以太網口收上來的封包。 

Quidway(config-if-Ethernet0)#ip access-group 101 in 

【相關指令】      access-list 

六、settr 設定或取消特殊時間段。 

settr begin-time end-time 

no settr 

【參數說明】 begin-time 為一個時間段的開始時間。 

end-time 為一個時間段的結束時間,應該大于開始時間。 

【預設情況】 系統預設沒有設定時間段,即認為全部為普通時間段。 

使用此指令來設定時間段;可以最多同時設定6個時間段,通過show timerange 指令可以看到所設定的時間。如果在已經使用了一個時間段的情況下改變時間段,則此修改将在一分鐘左右生效(系統查詢時間段的時間間隔)。設定的時間應該是24小時制。如果要設定類似晚上9點到早上8點的時間段,可以設定成“settr 21:00 23:59 0:00 8:00”,因為所設定的時間段的兩個端點屬于時間段之内,故不會産生時間段内外的切換。另外這個設定也經過了2000問題的測試。 

例1:設定時間段為8:30 ~ 12:00,14:00 ~ 17:00。 

Quidway(config)#settr 8:30 12:00 14:00 17:00 

例2: 設定時間段為晚上9點到早上8點。 

Quidway(config)#settr 21:00 23:59 0:00 8:0 

【相關指令】 timerange,show timerange 

七、show access-list 顯示包過濾規則及在接口上的應用。 

show access-list [ all | listnumber | interface interface-name ] 

all 表示所有的規則,包括普通時間段内及特殊時間段内的規則。 

listnumber 為顯示目前所使用的規則中序号為listnumber的規則。 

interface 表示要顯示在指定接口上應用的規則序号。 

interface-name 為接口的名稱。 

【指令模式】 特權使用者模式 

使用此指令來顯示所指定的規則,同時檢視規則過濾封包的情況。每個規則都有一個相應的計數器,如果用此規則過濾了一個封包,則計數器加1;通過對計數器的觀察可以看出所配置的規則中,哪些規則是比較有效,而哪些基本無效。可以通過帶interface關鍵字的show access-list指令來檢視某個接口應用規則的情況。 

例1:顯示目前所使用的序号為100的規則。 

Quidway#show access-list 100 

Using normal packet-filtering access rules now. 

100 deny icmp 10.1.0.0 0.0.255.255 any host-redirect (3 matches,252 bytes -- rule 1) 

100 permit icmp 10.1.0.0 0.0.255.255 any echo (no matches -- rule 2) 

100 deny udp any any eq rip (no matches -- rule 3) 

例2: 顯示接口Serial0上應用規則的情況。 

Quidway#show access-list interface serial 0 

Serial0: 

access-list filtering In-bound packets : 120 

access-list filtering Out-bound packets: None 

【相關指令】 access-list 

八、show firewall 顯示防火牆狀态。 

show firewall 

使用此指令來顯示防火牆的狀态,包括防火牆是否被啟用,啟用防火牆時是否采用了時間段包過濾及防火牆的一些統計資訊。 

【舉例】顯示防火牆狀态。 

Quidway#show firewall 

Firewall is enable, default filtering method is 'permit'. 

TimeRange packet-filtering enable. 

InBound packets: None; 

OutBound packets: 0 packets, 0 bytes, 0% permitted, 

0 packets, 0 bytes, 0% denied, 

2 packets, 104 bytes, 100% permitted defaultly, 

0 packets, 0 bytes, 100% denied defaultly. 

From 00:13:02 to 06:13:21: 0 packets, 0 bytes, permitted. 

【相關指令】 firewall 

九、show isintr 顯示目前時間是否在時間段之内。 

show isintr 

使用此指令來顯示目前時間是否在時間段之内。 

【舉例】 顯示目前時間是否在時間段之内。 

Quidway#show isintr 

It is NOT in time ranges now. 

【相關指令】 timerange,settr 

十、show timerange 顯示時間段包過濾的資訊。 

show timerange 

【使用指南】 使用此指令來顯示目前是否允許時間段包過濾及所設定的時間段。 

【舉例】 顯示時間段包過濾的資訊。 

Quidway#show timerange 

beginning of time range: 

01:00 - 02:00 

03:00 - 04:00 

end of time range. 

十一、timerange 啟用或禁止時間段包過濾功能。 

timerange { enable | disable } 

【參數說明】 enable 表示啟用時間段包過濾。 

disable 表示禁止采用時間段包過濾。 

【預設情況】    系統預設為禁止時間段包過濾功能。 

【指令模式】   全局配置模式 

使用此指令來啟用或禁止時間段包過濾功能,可以通過show firewall指令看到,也可以通過show timerange指令看到配置結果。在時間段包過濾功能被啟用後,系統将根據目前的時間和設定的時間段來确定使用時間段内(特殊)的規則還是時間段外(普通)的規則。系統查詢時間段的精确度為1分鐘。所設定的時間段的兩個端點屬于時間段之内。 

【舉例】 啟用時間段包過濾功能。 

Quidway(config)#timerange enable 

【相關指令】 settr,show timerange

繼續閱讀