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过滤所有流量
匹配流程 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 命名式 数字 字符 等
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 //允许所有流量通过
#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