acl

什么是访问列表:
访问列表是用来对数据包进行分类的工具,可以用它来帮助控制网络流量。


1、可以允许或拒绝数据包通过路由器
2、可以允许或拒绝telnet访问路由器


访问列表可根据多种条件来对网络流量进行分类。例如:源IP地址、目的IP地址、源端口号、目的端口号,协议


路由器对自己产生的包不作过滤


访问列表的分类:


1、标准访问列表    
   只能基于源IP地址来进行分类
   可以使用列表号:1-99、1300-1999
2、扩展访问列表
   可以根据源IP地址、目的IP地址、源端口号、目的端口号,协议来进行分类
   可以使用列表号:100-199、2000-2699
3、命名的访问列表
   只是将标准访问列表或扩展访问列表取个名字
   优点:可以对访问列表进行增加、删除操作。


访问列表的比较规则:
1、如果一个访问列表有多行语句,通常按顺序从第一条开始比较,然后再往下一条条比较。
2、一个数据包如果与访问列表的一行匹配,则按规定进行操作,不再进行后续的比较。
3、在每个访问列表的最后一行是隐含的deny any语句--意味着如果数据包与所有行都不配的话,将被丢弃。


访问列表的配置规则:
1、你在访问列表中可以写多条比较语句,它们是按你输入的顺序来进行放置的。
2、在标准访问列表扩展访问列表中,你不能单独删除其中的一行,只能删除整个列表。
3、每个列表应当至少有一个permit语句,否则将拒绝所有流量。
4、访问列表可以用在接口的出方向,也可以用在入方向,但是要注意,在一个接口在一个方向上只能有一个访问列表。
5、访问列表只以过滤通过路由器的流量,对自已产生的流量不起作用。
6、将标准访问列表要尽可能放置在靠近目的地址的地方
7、将扩展访问列表要尽量放置在靠近源地址的地方


标准访问列表的定义:


定义:
router(config)#access-list 10 permit 172.16.0.0 0.0.255.255


router(config)#access-list 20 deny 192.168.1.0 0.0.0.255
router(config)#access-list 20 permit any


router(config)#access-list 30 deny host 192.168.1.1


注意:在访问列表的最后默认定义了一条deny any any 语句


扩展访问列表的定义:


router(config)#access-list 100 permit ip 172.16.0.0 0.0.255.255 192.168.1.0 0.0.0.255


router(config)#access-list 110 deny tcp 172.16.0.0 0.0.255.255 host 192.168.1.1 eq telnet


命名访问列表的定义:


router(config)#ip access-list standard WOLF
router(config-std-nacl)#permit 172.16.0.0 0.0.255.255


访问列表的调用:


在接口下使用:
router(config-if)#access-group 10 in
router(config-if)#access-group 10 out


标准访问列表要放在靠近目的的地方,扩展访问列表要放在靠近源的地方. 


在进程下使用:


R1(config)#access-list 10 deny 192.168.1.0 0.0.0.0
R1(config)#access-list 10 permit any
R1(config)#router eigrp 90
R1(config-router)#distribute-list 10 out s1  (在路由过滤器中,distribute-list 过滤特定路由,distance  操作路由的管理距离。
   ipv4 distribute-list参照  访问控制列表 acl 
   ipv6 distribute-list 参照   前缀列表 prefix-list , 
  在prefix-list 中 ,ge 表示 大于或 等于 ; le 表示小于或等于)


在VTY下使用:


R1(config)#access-list 10 permit 192.168.1.1
R1(config)#line vty 0 4
R1(config-line)#access-class 10 in


查看命令:
show ip access-list 
show ip interface   




ACL可在VTY下调用,但只能用标准列表
Access-list 100 permit tcp host 1.1.1.1 host 3.3.3.3 eq telnet  只允许1.1.1.1能够telnet到3.3.3.3上去
Access-list 100 permit ospf any any  


Access-list 100 permit tcp host 1.1.1.1 eq telnet host 3.3.3.3  只允许1.1.1.1的23端口访问3.3.3.3的任意端口


Line vty 0 4
Access-class 10 in  在VTY接口下调用,作用同上,  但要注意只能用标准列表,不能用扩展列表,用扩展列表不起作用。
Access-list 10 permit 1.1.1.1


telnet 3.3.3.3 /source interface lo0




动态ACL   dynamic ACL


思路:让主机先在网关服务器认证,才能出去
在服务器上先允许主机登录网关服务器,通过认证后,动态生成一条允许主机通过的ACL


 


1、设主机名和密码
R1:
username cisco password cisco  


2、定义命名访问列表并在入口调用
R1:
ip access-list extended WOLF  
  permit tcp host 12.1.1.2 host 12.1.1.1 eq telnet


int s1/0
  ip access-group WOLF in


3、在VTY线程下启用本地数据库认证
R1:
line vty 0 4   
  login local


4、添加动态列表
R1:
ip access-list extenede WOLF
      dynamic gz permit ip any any


      dynamic gx timeout 5 permit ip any any 作用同上,注意这里的5分钟是绝对时间,表示你只能上5分钟


5、line vty 0 4   在line下调用
      autocommand access-enable host timeout 1  这里的1分钟是相对时间,只要在1分钟内有联系就不会断开,不加这一时间表示不超时
       
R1#access-enable host timeout 1 在特权模式下调用


在R2上先telnetR1,通过认证以后,R2就可以访问R1了。


时间访问列表:


使用基于时间的访问列表,可以根据一天中的不同时间,或者一周中的某天,或者两者结合,来控制对网络资源的访问。


第一步:定义时间段名字
R1(config)#time-range NP    定义一个名字


第二步:定义时间段


设定绝对时间:
R1(config-time-range)#absolute start 8:00 1 jan 2008 end 15:00 2 feb 2008 
 
设定周期时间:
R1(config-time-range)#periodic sunday 12:00 to 23:00   只在星期日上午允许
R1(config-time-range)#periodic daily 8:00 to 12:00   一周中每天上午允许


几个主要参数:
Daily--从星期一到星期日
Weekday--从星期一到星期五
Weekend--从星期六到星期日


注意:一个time-range下只能有一个absolute语句,但可以有多条periodic语句,如果在一个time-range下即有absolute语句,又有periodic语句,则先匹配absolute语句。


第三步:调用
access-list 100 permit ip any any time-range NP 


例子:在2008年1月1日到2008年12月31日的周末开启允许
time-range NP
  absolute start 8:00 1 jan 2008 end 24:00 31 dec 2008
  periodic weekends 8:00 to 24:00


自反访问列表:
自反访问列表在路由器的接口下创建IP流量的动态开启放行ACL条目,这些开启表项的创建是基于源于设备的可信方的会话进行的,在自反访问列表中的每个语句,当语句中的条件得到满足时,就会在已存在的访问表中创建一个镜像表项。


临时表项的特点:
1、表项总是一个permit表项
2、表项所指定的协议与原来向外报文的协议相同
3、新的表项互换了源目IP地址
4、新的表项互换了源目端口号
5、表项会一直存在,直到会话结束(TCP)或者time-out值到时(UDP)才会被删除
6、当会话的最后一个报文流过接口时,表项就到期。(对TCP而言)


注意:自反访问列表直能和命名的扩展访问列表结合使用


例:


ip access-list extended IN
  evaluate ZF


ip access-list extended OUT
  permit tcp host 172.16.1.1 any eq telnet reflect ZF
  permit tcp host 172.16.1.1 any eq www reflect ZF timeout 180


ip reflexive-list timeout 300




Establish ACL
允许ACK/SYN=1的TCP报文通过,通常用于只允许内部的主机向外部发起TCP连接,不允许外部的主机向本网发起TCP连接
Ip access-list extended 100
   5 permit tcp host 3.3.3.3 eq telnet host 12.1.1.2 establish 注意这条语句的方向性,允许源的23端口访问我的任意端口,但ASK必须置位
   10 deny ip any any
注意在外网的入口上调用这一列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值