路由器防火墙配置命令
一、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
TimeRange packet-filtering enable.
beginning of time range:
01:00 - 02:00
03:00 - 04:00
end of time range.
【相关命令】
timerange,settr
十一、timerange 启用或禁止时间段包过滤功能。
timerange { enable | disable }
【参数说明】
enable 表示启用时间段包过滤。
disable 表示禁止采用时间段包过滤。
【缺省情况】
系统缺省为禁止时间段包过滤功能。
【命令模式】
全局配置模式
【使用指南】
使用此命令来启用或禁止时间段包过滤功能,可以通过show firewall命令看到,也可以通过show timerange命令看到配置结果。在时间段包过滤功能被启用后,系统将根据当前的时间和设置的时间段来确定使用时间段内(特殊)的规则还是时间段外(普通)的规则。系统查询时间段的精确度为1分钟。所设置的时间段的两个端点属于时间段之内。
【举例】
启用时间段包过滤功能。
Quidway(config)#timerange enable
【相关命令】
settr,show timerange
[/table]