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
注意在外网的入口上调用这一列表

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值