更新时间:2024-01-10
1 配置IP访问列表
1.1 配置IP访问列表
1.1.1 过滤IP报文
过滤报文帮助控制包在网络中的运动。这样的控制可以帮助限制网络传输并通过一定的用户或设备限制网络使用。为了从交叉指定的端口中使包有效或无效,本公司交换机提供了访问列表。可以用以下方式使用访问列表:
• 控制在端口上的包传输
• 控制虚拟终端线路访问
• 限制路由更新内容
本节概括了如何建立IP访问列表以及如何应用它们。
IP访问列表是应用IP地址的允许和禁止条件的有序集合。本公司路由交换机的ROS 软件在访问列表中逐个按规则测试地址。第一个匹配决定是否该软件接受或拒绝该地址。因为在第一个匹配之后,该软件停止了匹配规则,所以条件的先后次序是重要的。如果没有规则匹配,拒绝该地址。
在使用访问列表中有以下两个步骤:
• 通过指定访问列表名及访问条件,建立访问列表。
(1)将访问列表应用到端口。
1.1.2 建立标准的和扩展的IP访问列表
用一个字符串建立IP访问列表。
注意:
标准的访问列表和扩展的访问列表不能用相同的名字。
为了建立标准的访问列表,在全局配置态执行下列命令。
命令
|
目的
|
ip access-list standard name
|
使用名字定义一个标准的IP访问列表。
|
deny {source [source-mask] | any} or
permit {source [source-mask] | any}
|
在标准访问列表配置模式下,指定一个或多个允许或不允许条件。这决定该包通过还是不通过。
|
Exit
|
退出访问列表配置模式。
|
为建立扩展的访问列表,在全局配置态执行下列命令:
命令
|
目的
|
ip access-list extended name
|
使用名字定义一个扩展的IP访问列表。
|
{deny | permit} protocol source source-mask src-port destination destination-mask dst-port [precedence precedence] [tos tos]
{deny | permit} protocol any any
|
在扩展访问列表配置模式下,指定一个或多个允许或不允许条件。这决定该包通过还是不通过。(precedence表示ip包优先级,TOS表示Type of Service)
|
Exit
|
退出访问列表配置模式。
|
在初始建立访问列表后,任何后续的增加部分(可能从终端键入)都放入表的尾部。换句话说,你不能在指定的访问列表已配置的命令行中间加入某条规则。但是,你可以使用no permit 和no deny命令从访问列表中删除某项规则。
注意:
当建立访问列表时,记住缺省时访问列表的结尾包含隐含的deny语句。进一步讲,标准的访问列表,如果从相关的IP主机地址访问列表指定中省略了掩码,那么255.255.255.255就假定是掩码。
在建立了访问列表后,必须将它应用到线路或端口上。如下一节“将访问列表应用到端口”所描述。
1.1.3归并IP访问列表中的规则
对IP访问列表中的规则进行归并,有助于减少规则条目,优化ip访问列表。依据用户配置某ip访问列表是否需要归并的需求,提供merge-enale命令。在其命令前加no可以关闭归并功能。
在ipacl配置模式使用以下命令。
命令
|
目的
|
merge-enable
|
开启规则归并功能。
|
注意:
该命令仅在ipacl模式下使用,且规则能否归并要看是否满足归并条件,并依据一定的归并算法实现,并不是所有的规则都能进行归并。
对于标准访问列表规则,可归并的情况:
1.
规则
permit A MASK
permit A MASK log
归并为 permit A MASK log
规则
deny A MASK
deny A MASK log
归并为 deny A MASK log
2.
规则
permit A MASK1
permit B MASK2
假如满足归并条件,归并为 permit A MASK3
规则
deny A MASK1
deny B MASK2
假如满足归并条件,归并为 deny A MASK3
3.
规则
permit A MASK1 log
permit B MASK2 log
假如满足归并条件,归并为 permit A MASK3 log
规则
deny A MASK1 log
deny B MASK2 log
假如满足归并条件,归并为 deny A MASK3 log
对于扩展访问列表规则,可归并的情况:
sm-源掩码,sa-源ip地址,dm-目的掩码,da-目的ip地址
sb-源开始地址,se-源ip结束地址,db-目的开始地址,de-目的ip结束地址
A-前一条规则, B-后一条规则
(1)两条规则四个地址全部使用掩码时[1111型]
a)源地址仅差一位,目的地址相同:
如
permit ip 192.168.1.4 255.255.255.255 any
permit ip 192.168.1.5 255.255.255.255 any
可以归并为
permit ip 192.168.1.4 255.255.255.254 any
b)目的地址仅差一位,源地址相同:
如
permit ip any 192.168.1.4 255.255.255.255
permit ip any 192.168.1.5 255.255.255.255
可以归并为
permit ip any 192.168.1.4 255.255.255.254
(2)两条规则四个地址全部使用ip地址池时[2222型]
如 (A_sb < B_sb) && (B_se < A_se) && (A_da < B_db) && (B_de < A_de)(2222)
如 (B_sb < A_sb) && (A_se < B_se) && (B_db < A_da) && (A_de < B_de)
permit ip src-range 192.168.1.2 192.168.1.31 dst-range 10.1.1.10 10.1.1.16
permit ip src-range 192.168.1.5 192.168.1.6 dst-range 10.1.1.12 10.1.1.15
则可归并为
permit ip src-range 192.168.1.2 192.168.1.31 dst-range 10.1.1.10 10.1.1.16
(3)源和目的地址中,掩码与地址范围混用的情况
a)[1112、1121型]子网开始IP相同 + IP地址池包含子网开始IP
如(A_sa&A_sm == B_sa&B_sm) && (B_db < A_da&A_dm) && (A_da&A_dm < B_de)(1112)
如(A_sa&A_sm == B_sa&B_sm) && (A_db < B_da&B_dm) && (B_da&B_dm < A_de)(1121)
permit ip 192.168.1.5 255.255.255.255 10.1.1.13 255.255.255.255
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.12 10.1.1.15
则可归并为
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.12 10.1.1.15
b)[1122、2211型]子网开始IP相同 + IP地址池包含另一个IP地址池
如(A_sa&A_sm == B_sa&B_sm)&& (B_db < A_db)&& (A_de < B_de) (1122)
如(A_sa&A_sm == B_sa&B_sm)&& (A_db < B_db)&& (B_de < A_de)
如(A_da&A_dm == B_da&B_dm)&& (B_sb < A_sb)&& (A_se < B_se) (2211)
如(A_da&A_dm == B_da&B_dm)&& (A_sb < B_sb)&& (B_se < A_se)
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.12 10.1.1.15
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.10 10.1.1.16
则可归并为
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.10 10.1.1.16
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.10 10.1.1.16
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.12 10.1.1.15
则可归并为
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.10 10.1.1.16
c)[1211、2111型]IP地址池包含子网开始IP + 子网开始IP相同
如(B_sb < A_sa&A_sm)&& (A_sa&A_sm < B_se) && (A_da&A_dm == B_da&B_dm)(1211)
如(A_sb < B_sa&B_sm)&& (B_sa&B_sm < A_se) && (B_da&B_dm == A_da&A_dm)(2111)
permit ip 192.168.1.5 255.255.255.255 10.1.1.13 255.255.255.255
permit ip src-range 192.168.1.2 192.168.1.31 10.1.1.13 255.255.255.255
则可归并为
permit ip src-range 192.168.1.2 192.168.1.31 10.1.1.13 255.255.255.255
d)[1212、2121型] IP地址池包含子网开始IP + IP地址池包含子网开始IP
如(B_sb < A_sa&A_sm)&&(A_sa&A_sm < B_se)&&(B_db < A_da&A_dm)&&(A_da&A_dm < B_de)(1212)
如(A_sb < B_sa&B_sm)&&(B_sa&B_sm < A_se)&&(A_db < B_da&B_dm)&&(B_da&B_dm < A_de)(2121)
permit ip 192.168.1.5 255.255.255.255 10.1.1.13 255.255.255.255
permit ip src-range 192.168.1.2 192.168.1.31 dst-range 10.1.1.12 10.1.1.15
则可归并为
permit ip src-range 192.168.1.2 192.168.1.31 dst-range 10.1.1.12 10.1.1.15
e)[1222、2122型] IP地址池包含子网开始IP + IP地址池包含另一个IP地址池
如(B_sb< A_sa&A_sm)&&(A_sa&A_sm < B_se)&& (B_db<A_db)&& (A_de < B_de)(1222)
如(A_sb< B_sa&B_sm)&&(B_sa&B_sm < A_se)&& (A_db<B_db)&& (B_de < A_de)(2122)
permit ip 192.168.1.5 255.255.255.255 dst-range 10.1.1.12 10.1.1.15
permit ip src-range 192.168.1.2 192.168.1.31 dst-range 10.1.1.10 10.1.1.16
则可归并为
permit ip src-range 192.168.1.2 192.168.1.31 dst-range 10.1.1.12 10.1.1.15
f)[2212、2221型] IP地址池包含另一个IP地址池 + IP地址池包含子网开始IP
如(B_sb< A_sb)&& (A_se < B_se)&&(B_db <A_da&A_dm)&&(A_da&A_dm < B_de)(2212)
如(A_sb< B_sb)&& (B_se < A_se)&&(A_db <B_da&B_dm)&&(B_da&B_dm < A_de)(2221)
(4)两条规则满足归并条件,端口号、协议号、timerange等匹配因素不同,则不能归并
(5)两条规则满足归并条件,但中间插有一条反向规则,则不能归并
注意:
我们将其中第i规则记做Ri,对于Ri,依次检查其后的每一条规则Rj:“若Rj与Ri满足归并条件,则归并为Ri`并删除Rj”,依次循环检查每一条规则实现最终的归并,建立一张新的归并表。
1.1.4将访问列表应用到vlan端口
当建立了访问列表后,可以将它应用到一个或多个vlan端口上,过滤访问交换机的报文。
在端口配置态使用以下命令。
命令
|
目的
|
ip access-group {access-list-name}{in | out}
|
将访问列表应用到端口。
|
对于标准的入口访问列表,在接收到包之后,对照访问列表检查包的源地址。对于扩展的访问列表,该路由交换机也检查目标地址。如果访问表允许该地址,那么软件继续处理该包。如果访问表不允许该地址,该软件放弃包并返回一个ICMP主机不可到达报文。
如果指定的访问列表不存在,所有的包允许通过。
1.1.5调试跟踪ip访问列表
打开ip访问列表的调试功能,可以及时跟踪ipacl在配置和资源处理等过程中的具体状态。
在管理态使用以下命令。
命令
|
目的
|
debug ipacl [merge | iprange | timerange-rule | resource]
|
跟踪ipacl 规则 归并信息,ipacl iprange规则分解信息, timerange 规则状态,跟踪iPACL资源处理过程信息
|
注意:
debug ipacl命令须分别配合merge-enable命令、timerange命令及具体情况才能跟踪ipacl的归并信息和timerange规则状态。
在其命令前加no可以关闭该调试功能。
1.1.6 扩展访问列表示例
在以下例子中,第一行允许新来的TCP与主机130.2.1.2的SMTP端口连接。
Switch_config#ip access-list extended aaa
Switch_config_ext#permit tcp any 130.2.1.2 255.255.255.255 eq 25
Switch_config#interface vlan1
Switch_config_v1#ip access-group aaa in