ccna 闫辉单臂路由 和  acl   access control list

一单臂路由     当前园区网设计很少用到      
成本低  小型的、局域网可用
 
 
 
 
二ACL
access control list
防火墙工作方式:保证内网安全   在接受接口定义一系列访问规则    规则中允许报文通过路由器才可以    
部署路由选择协议    园区网内各个路由器收敛后   每个路由器会获取每个网段的路由信息 默认情况  每台路由有 所有网段路由信息    默认转发数据包
访问控制列别   acl    internet  最低层的工具      高级工具可以嵌套acl使用
每个规则被称为ace   access control entry   称为一个访问控制规则  或条目     多个ace组成一个acl   
分类   ipv4  ipv6   ipx   mac    arp 当前主要理解ipv4  的访问控制列表
功能 : 1.限制从一个网段发往另一个网段的报文   
2.被高级工具调用时  可以定义要作用的流量类型    acl抓取流量    调用它的高级工具针对此类流量祚策略
过滤功能:
1.直接在路由器的一个物理接口调用acl时   只有一个ace允许 流量通过时   此流量才能够被放行   反之  则流量被拒绝     此为数据层面
2.vty  流量    此为逻辑接口    每个接口可以承载一个远程网管会话      此为管理层面
acl判断发起vty     例如telnet  的pc 的IP地址是否有匹配的ace   如果有  则通过   否则丢弃
3.没有acl  只要路由器有路由条目 所有的报文可以随意通行   
ACL 被高级工具调用时    分类classification
1.网段间的VPN  实现一个长点到另一个长点  的流量  加密形式发送    指定哪个网段的pc到另一个网段的流量需 要被保护      ipsec    acl定义vpn保护的兴趣流量
2.重分发       一个路由器同时运行两个路由协议   例如eigrp和ospf  路由器连接的两个运行不同路由选择协议的 网段    默认两个路由选择协议不会互相传路由条目信息      如果想让eigrp和ospf互相交换路由条目信息   需 要用到acl的重分发  默认会把获得的所有路由信息传给另一路由协议网段或者域    用acl获取某些路由信息 就叫做重分发  用acl抓取控制层面的路由条目
3.NAT  地址转换    告知路由器    什么样的pc通过路由器去往公网需要NAT地址转换
OUTBOUND ACL OPERATION  流程   出向

 

  直接在路由器的物理主接口直接调用acl时    可以分为入向和出向调用acl   注意出向和入向的概念    


 

  出向:匹配优先级    路由表高于acl    就是先查路由表   再查acl          此acl只过滤穿越流量及从路由器的一端到 另一端的流量    不会过滤路由器自身产生的流量
入向:.........  acl高于路由表    先匹配acl    再匹配路由表    此acl过滤所有流量
匹配流程   ace

 

  ACE排序  序列  aequence   初始ace序号为10   以10递增    第二条就是20    
报文匹配顺序为自顶向下  即从10开始  
·  每个ace只执行两个行为  一个是deny   另一个是permit
***在使用ace匹配报文时        自顶向下   只要一个ace匹配到一个报文 就立即执行     之后的所有匹配的ace均忽 略
一个ACL至少要配置一个ACE   通过命令来配置 的ace是显式ace     acl中还有一类ace 序号最大  优先级最低的 隐式ace  当所有之前的ace都不能给报文相应的策略时   要用到隐式ace   此ace执行的策略就是deny   因为有此 ace的存在  所以acl可以匹配到任何报文   
types of ACLs     类型   ipv4    三层工具
1.standard ACL
a 只关注流量所属源ip地址    不管去向哪里    从a来的都拒绝   或者从a来的都允许
b 颗粒度极大       要么允许某个源ip的所有流量    要么拒绝所有流量
2.extended ACL
a 关注流量源ip地址和目的ip地址    a到b允许   a到c拒绝
b 颗粒度小很多      允许或拒绝某些协议的流量       例如允许tcp    拒绝udp    比较精确
3.标识标准acl和扩展acl的两种方法     
two  methods  used to identify standard and extended ACLS
a 数字式   纯阿拉伯数字
b 命名式   数字   字符  等

 

  ip access list entry sequence  numbering   注意
ios   release 12.3之前的系统创建ace   创建后不能修改   ace之间不能扩充    基础序号为10  
ACL configuration Guidelines   创建acl流程   配置流程
1.创建标准和扩展acl
2.调用acl     一个接口上的一个方向(共有两个方向   入向和出向) 的一个协议栈   只能有一个acl
3.acl序列号自顶向下匹配
4.隐式ace拒绝所有流量   acl中至少有一个显示ace允许流量的语句
5.尽可能使用入站过滤   因为针对所有流量   入站最全面
出站过滤针对路由器自己产生的流量不过滤
6.  扩展acl   靠近源ip地址部署
标准acl   靠近目的ip地址端口部署
 
例子:1.标准acl
#acess-list 1 permit 172.16.0.0   0.0.255.255      //定义一个名称为1的acl   允许172.16网段的流量通过    后面为反码模式   路由器精确匹配前8位   后8位随便
#interface ethernet 0   //应用到路由器的fa0/0接口
#ip access-group 1 out      //应用的方向为从fa0/0接口出向的流量
2.扩展acl
#access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21    //定义101名字的扩展acl    拒绝tcp协议的流量   端口号位21    即ftp   源地址为172.16.4.0   网段的  目的地址为172.16.3.0网段的所有流量的ftp流量
#access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20   同上也是ftp流量
#access-list 101 permit udp 172.16.4.0 0.0.0.255 1025 172.16.3.0 0.0.0.255 eq 88
同上   只是将协议改为udp    源端口号位1025的     且目的端口为88的流量
#access-list 101 permit ip any any   //允许所有流量通过
#interface ethernet 0     应用到接口0
#ip access-group 101 out      调用acl在接口0的出站方向
如果将上面的tcp或者udp改成IP    则表示所有协议的流量
命名式的acl配置    ios版本  ===  12.3以后
明确具体的名称     手工指定ace的序列号   可以做任意的序列号的插入 sequence-number    可以单独no掉 ace
例子:
1. #ip access-list standard troublemaker   //创建一个名称为troublemaker    标准的acl
#deny host 172.16.4.13      //拒绝172.16.4.13的流量
#permit 172.16.4.0 0.0.0.255     //允许172.16.4.0网段的流量通过
#interface e0
#ip access-group troublemake out //在e0接口的出向方向上调用此acl
 
协议端口号
tcp      6
udp 17
eigrp 88
ospf 89
icmp 1
igmp 2
pim 103
 
 
 
 
 
 
实验:
一:静态acl      gns3模拟器
1.需求:拓扑:  r2------------------r1--------------------r3
r2接口:fa0/1    12.1.1.2  255.255.255.0
loopback 0  2.2.2.2 255.255.255.0
r1接口:左fa0/0   12.1.1.1 255.255.255.0
右 fa0/1  13.1.1.1 255.255.255.0
loopback 0 1.1.1.1 255.255.255.0
r3接口:fa0/0 13.1.1.3 255.255.255.0
loopback 0 3.3.3.3 255.255.255.0
2.
r2使用环回口作为源可以telnet    r3的环回口   然后使用物理接口作为源不能telnet    r3的环回口
r2使用物理接口作为源可以ping通r3的环回口    使用环回口作为源不能ping通r3的环回口
 
access-list 100 permit tcp host 2.2.2.2 host 3.3.3.3 eq 23
access-list 100 deny tcp host 12.1.1.2 host 3.3.3.3 eq 23     可以去掉    因为可以利用隐藏的deny any语句
access-list 100 permit icmp host 12.1.1.2 host 3.3.3.3 echo
access-list 100 deny icmp host 2.2.2.2 host 3.3.3.3 echo      可以去掉  因为可以利用隐藏的deny any语句
access-list 100 permit ospf host 12.1.1.2 host 224.0.0.5       以下不理解
access-list 100 permit ospf host 12.1.1.2 host 224.0.0.6
access-list 100 permit ospf host 12.1.1.2 host 12.1.1.1
3.命令   
在接口调用:
r1:int fa0/0 
# ip access-group 100 in
显示ace条目:   
 #show ip access-lists
去掉错误的接口调用:
int fa0/1
no ip access-group 100 in
 
 
r3:
line vty 0 1869
login local
exit
username admin password admin
enable password admin
测试:
r2:telnet 3.3.3.3 /source-interface loopback 0
输入用户名和密码    exit退出
telnet 3.3.3.3    显示不能登录
ping  3.3.3.3   通
ping 3.3.3.3  source 2.2.2.2    不通    显示U    有路由 但是不可达
 
去掉重复的: 
IP   access-lists extended 100 进入   名称为100的acl的配置模式    注意不能用    no access-lists 100会 全部删除
然后再删除不需要的ace条目
no  20
no 40   删除了sequence为20和40的条目
例子    ping 2.2.2.2 source 3.3.3.3
例子 telnet 2.2.2.2 /source-interface loopback 0
int fa0/0    //e0接口取消名字为100的acl
no ip access-group 100 in
 

 

 
二  dynamic acls
动态的acl   创建   更加的灵活
1.需求    满足某类条件的acl执行   没有满足条件  就不执行acl
r2需要证明是合法用户  才能与r3通信     登录成功是触发条件  acl才执行   以此放行r2的流量到r3
同上图
2.命令创建acl
#IP access-lists extended r2-r3
#permit ospf host 12.1.1.2 host 224.0.0.5 //放ospf的流量
#permit ospf host 12.1.1.2 host 224.0.0.6
#permit ospf host 12.1.1.2 host 12.1.1.1
#dynamic TEST permit IP host 2.2.2.2 host 3.3.3.3 //动态的acl
未触发时 此acl为睡眠状态 需要条件匹配
#line vty 0
#login local
#username admin password admin
#line vty 0
#autocommand access-enable host 让telnet登录认证通过与acl关联
 
添加放行telnet登录的语句到r1   acl都
#IP access-lists extended r2-r3
#35 permit tcp host 2.2.2.2 host 1.1.1.1 eq 23     前面的35为插入的序号
调用
#interface fa0/0
#ip access-group r2-r3 in
 
测试:
r2:ping 3.3.3.3  不通
r2:telnet  3.3.3.3 /source-interface loopback 0   
可通
三   time-based  ACLS    基于时间的acl   更加灵活
例子:
同上图
1.需求 在当前时间起 3分钟内 r2可以telnet3 之后被禁止
2.命令
#no ip access-list extended r2-r3
#int fa 0/0
#no ip access-group r2-r3 in
 
 
#time-range TIME      时间名称的设置
下面的参数中  一般用周期性    periodic   选项
#periodic daily 15:55 to 16:00       每天的15:55到16:00调用
 
#ip access-list extend TIME
......
#permit tcp host 2.2.2.2 host 3.3.3.3 time-range TIME      *******
 
#调用此acl
 
四.自反acl 谁能主动访问谁 谁又不能主动访问谁 初级防火墙 模拟 此实验不能用7200路由器做实验 ios 版本问题
a发送数据可以去往b 回包可以回来 即a能主动访问b 因为路由器可以记录流量状态 a-b b到a的数据就可以放行
但b不能主动访问a
防火墙    security-level   安全级别   例如内外网    
 
例子   同图
1.需求   
r3可以主动访问r2     但是r2不能主动访问r3      环回口模拟
2.    其中需要两个acl
命令:
acl1:
#ip access-list extended BOSS
#permit ospf host 13.1.1.3 host 224.0.0.5   
***
#permit ip host 3.3.3.3 host 2.2.2.2  reflect PASS    反向    此处的PASS为标记   ace   需要反向的ace
#exit
 
acl2:
#ip access-list extended Employee    创建一个名称为employee的acl
#permit ospf host 12.1.1.2 host 224.0.0.5
permit ospf host 12.1.1.2 host 224.0.0.6
permit ospf host 12.1.1.2 host 12.1.1.1
 
#evaluate PASS 生成反向允许通过的ace 序号是第4个
 
 
#接口调用
int fa0/1 r3方向 接口 调用入向
ip access-group BOSS in
 
int fa0/0 r2方向 接口 调用入向
ip access-group Employee in
posted on 2017-11-27 09:24  学习记录园  阅读(575)  评论(0编辑  收藏  举报