一、VACL在3550上的使用示例
语法:
1、必须使用PERMIT语句去指定需要丢弃的数据流
access-list 101 per tcp hos 10.1.1.2 hos 10.1.2.2 eq 23
access-list 101 per 10.1.2.0 0.0.0.255 10.1.3.0 0.0.0.255
2、编写VACL名字,序号,去调用ACL,设置行为丢弃,其他流量设置为转发;最后在VLAN过滤中调用VACL,应用到对应的VLAN中
vlan access-map name 10
match ip add 101
action drop
exi
vlan access-map name 20 //序号是按照顺序执行的,末尾同样隐含拒绝所有流量命令
action forward
exi
vlan filter name vlan-list vlan 1-3
注意:VACL没有方向,应用在整个VLAN中
下面是另外的一种方式,在VACL中去许可ACL的流量,其余是丢弃的
第一步:创建VLAN、划分VLAN。配置省略。
第二步:配置3550 交换机的VLAN 间路由。
sw3550(config)#int vlan 1
sw3550(config-if)#ip add 10.1.1.1 255.255.255.0
sw3550(config-if)#no shutdown
sw3550(config-if)#exit
sw3550(config)#int vlan 2
sw3550(config-if)#ip add 10.2.2.1 255.255.255.0
sw3550(config-if)#no shutdown
sw3550(config-if)#exit
sw3550(config)#ip routing
第三步:配置VACL
sw3550(config)#access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255
sw3550(config)#access-list 101 permit tcp 10.2.2.0 0.0.0.255 10.1.1.0 0.0.0.255 established
由于VACL 无方向性,因此,必须将两个方向上允许通过的数据包全部列出来。
sw3550(config)#vlan access-map cisco 10
sw3550(config-access-map)#match ip address 101
sw3550(config-access-map)#action forward
sw3550(config-access-map)#exit
VACL 末尾包含隐式拒绝一切。
sw3550(config)#vlan filter cisco vlan-list 1 - 2
二、可修改的ACL
高版本的ACL前面放置了编号,默认是10 、20、 30,因为ACL是按照顺序进行的,很多时候不得不嵌入ACL条目
修改语法:
ip access-list extended outacl
13 per tcp hos 1.1.1.1 hos 5.5.5.5
注意:
1、必须在扩展的ACL语法中修改,才可以在子模式中嵌入编号
2、即使先是使用的标准的ACL语法,同样可以按照此方式修改
三、在VPN中需要放行的流量--注意:在PIX/ASA上用的是正掩码
Extended IP access list outacl
40 permit esp 172.16.16.0 0.0.0.255 172.16.15.0 0.0.0.255
50 permit udp 172.16.16.0 0.0.0.255 172.16.15.0 0.0.0.255 eq isakmp
70 permit udp 172.16.16.0 0.0.0.255 172.16.15.0 0.0.0.255 eq 10000
80 permit tcp 172.16.16.0 0.0.0.255 172.16.15.0 0.0.0.255 eq 10000
90 permit ahp host 172.16.16.1 host 172.16.16.9
100 permit gre host 192.168.1.1 host 192.168.1.5
110 permit udp 172.16.16.0 0.0.0.255 172.16.15.0 0.0.0.255 eq non500-isakmp
120 permit ospf host 10.11.2.2 host 10.11.3.3
130 permit tcp host 10.11.2.2 host 10.11.3.3 eq bgp
140 permit eigrp host 10.11.2.2 host 10.11.3.3
150 permit tcp host 10.11.2.2 host 10.11.3.3 eq telnet
160 permit icmp any any
tacacs使用TCP、UDP端口49 radius使用1646、1645 //在使用AAA的时候应该放行这些流量
四、几种高级的ACL
established ACL
access-list 101 permit tcp 10.2.2.0 0.0.0.255 10.1.1.0 0.0.0.255 established 这里10.2.2.0/24是外网
//只用于TCP中,根据TCP的三次握手原理,必须有ACK关键字才得以放行,否则是拒绝的,常用于内网发起对外网的访问,数据流允许返回,而外网是不可以发起TCP初始连接的;
有个缺点,就是上层协议,包括UDP、ICMP都不可以使用这个关键字--也就是说只要不使用TCP协议的其他WAN数据可以访问到LAN中
反射ACL:
这是真正针对于应用层的ACL,创建临时的条目以允许数据流的方向,原理如下图:
ip reflexive-list timeout 300
对于TCP 会话,如果路由器检测到两组FIN 标记的分组,则在5 秒内将临时条目删除;如果路由器检测到RST
位的分组(说明会话突然关闭),则立刻删除临时条目。对于UDP
和其他协议,由于没有专门的机制来判断会话是否结束,因此路由器只能为其会话启动一个倒计时的计时器(全局超时),如果在计时器到期期间内没有收到此会话
的任何分组,则将临时条目删除(默认300 秒)
反射ACL可以建立在外部或内部接口上
示例语法:外部接口
Extended IP access list dengout
10 permit ip any any reflect dengyusu 出站包触发反射
Extended IP access list dengin
10 evaluate dengyusu //入站包被评估
Reflexive IP access list dengyusu //show 的显示,不需要键入命令的
访问列表:
1、先设置时间范围time-range entry: deng (active)
absolute start 02:00 01 June 2006 end 02:11 13 June 2008
可以是绝对时间,也可以是周期时间,设计的是工作日或周末
time-range entry: cisco (inactive)
periodic weekdays 8:00 to 17:30
2、应用到ACL中
20 permit ip any any time-range deny (active)
30 permit ip any any time-range cisco (inactive) 表示为非活动状态,如果改变路由器的时间到上面的范围8点到17:30,则转换为active
CBAC访问列表:
解析:
1、ip inspection name cisco protocol : 是CISCO内置的功能,当起用CBAC的时候,自动调用默认策略来审查流量
2、show ip port-map可以显示路由器上默认的端口映射
PAM自定义语法:
access-list 1 per hos 1.1.1.1
ip port-map telnet port 2300 list 1 //即将主机1.1.1.1的23端口映射到2300
3、关于HTTP的友好站点JAVA-LIST的许可:
access-list 1 per 202.103.96.68
ip inspection name cisco http java-list 1
CBAC配置示例:
向外流量,应用到E1的IN方向
ip inspect name cisco tcp
ip inspect name cisco udp
ip inspect name cisco http
int E1
ip inspect cisco in
入站流量的审查
ip inspect name cisco tcp
ip inspect name cisco udp
ip inspect name cisco http
int E0
ip inspect cisco in
以上只是简单示例,可以灵活运用
如出站流量可以应用到外部接口的OUT方向
入站流量也可以应用到内部接口的OUT方向
ip inspect name cisco tcp alert off audit-trail off timeout 120
这里注意:alert 、 audit-trail参数默认都是ON
ip inspect tcp max-incomplete host number block-time minutes
对于单个主机允许的最大半打开连接数,BLOCK-TIME 默然是0,即删除最老的连接允许新的连接,如果设置为1,表示在达到阀值之后,将删除所有半开连接,并等待一分钟才接受新的连接
ip inspect tcp synwait-time seconds 默认值为30 秒--等待初始化的时间
ip inspect tcp finwait-time seconds 默认值为5 秒--会话结束后5S关闭连接
ip inspect tcp idle-time seconds 默认值为3600 秒--会话空闲1小时后将被关闭
ip inspect udp idle-time seconds 默认值为30 秒 空闲阀值
ip inspect dns-timeout seconds 默认值为5 秒 空闲阀值
ip inspect max-incomplete high number"命令用于定义半打开会话数量的最大值,当
半打开会话的数量超过此阀值时,CBAC 开始删除现有的半打开会话,该参数的默认值为500。
"ip inspect max-incomplete low number"命令用于定义半打开会话数量的最小值,当半打开会话
的数量降低到此阀值时,CBAC 停止删除半打开会话,该参数的默认值为400
ACL的顺序执行示例解析:
ASA(config)# time-range r1
ASA(config-time-range)# absolute start 23:59 1 jan 2007 stop 23:59 31 dec 2007
ASA(config)# access-list inacl permit ip host 10.1.1.1 any time-range r1
ASA(config)# access-list inacl deny ip host 10.1.1.1 any
ASA(config)# access-list inacl permit ip any any
//这里任何顺序都不可以乱,想想为什么?--如果把第三行放到第一行,则另外两个语句将失效;始终记得per ip any any
如果放在末尾,则应该先将拒绝的语句列出
--如果把第二行放到第一行,则第一个语句将失效,始终记得ACL是按照顺序执行的!
ASA(config)# access-group inacl in interface inside
阅读(983) | 评论(0) | 转发(0) |