IP-guard策略路由的配置
一、 策略路由介绍
策略路由(PBR:policy-based route):是一种依据用户制定的策略进行路由选择的机制。
策略路由和路由策略都属于路由的配置,一般应该在同一个设备上配置。也就是说原有网络的路由策略在哪个设备配置,策略路由也应该在同一个设备上配置,一般是核心三层交换机。
策略路由只对接口的入方向报文做转发。
二、 策略路由的报文处理流程
策略路由只不过是复杂的静态路由。静态路由是基于报文的目的地址,将报文转发到指定的下一跳路由器,但策略路由是基于报文源地址转发报文至指定的下一跳路由器。策略路由还可以链接到扩展 IP 访问列表,以便路由器可以基于像协议类型和端口号这样的标志进行路由选择。同策略路由一样,策略路由会对路由器的路由选择产生影响,但仅限于那些配置了策略路由的路由器。
策略路由位于 IP 层,在做 IP 转发前,如果报文命中某个策略路由对应的规则,则要进行相应的策略路由的动作(重定向到指定下一跳),然后根据重定向的下一跳代替报文的目的 IP 去查 FIB 表(转发信息表),做 IP 转发。
配置策略路由后
三、 策略路由的配置过程 - 配置 ACL:用于配置进行策略路由的 IP 范围(只对 permit 有效)用于配置进行策略路由的流量。
在匹配流量时,可以匹配所有或是只是一部分的流量。如果想尽量减少对网络造成的影响。 例如有些交换机并不支持配置逃生机制,这时如果准入或安全网关出现问题时,会导致策略路由匹配的流量网络中断。 对于准入来说,绝大多数情况都需要所有流量都进行策略路由;对于安全网关来说, 可以只将需要保护的服务器的流量进行策略路由,这样在策略路 由出现问题时,只影响到这部分的流量,而不会导致所的流量都出现问题, 从而将对网络的影响做到是小化。当然这样会导致需要增加对某些服务器进行控制时,可能需要重新修改交换机上的 ACL 的配置,增加一些配置上的工作量。 - 配置策略路由:指定策略配置的 ACL 以及下一跳等
- 应用策略路由:应用在需要控制接口上(即连接在端口上的机器在准入控制器的控制范围内)。可以是虚接口(例如 VLAN 接口)或者物理接口上。对于连接控制器的接口不能应用。
注: - 配置开始前请先备份一下原有交换机的配置,以备于在配置出错时,可快速的还原配置。具体配置请查看《XXX 交换机配置的备份与还原》文档。
- 在配置后需要手动地进行保存,否则在交换机重启这些新增的配置都是无效的。
四、 逃生机制 当交换机发现策略路由的下一跳的 IP 不存在时(准入或安全网关的 IP 不存在),会自动使用默认的路由。 - (被动)当这个 IP 在 ARP 表中不存在时,则说明这个下一跳的 IP 不存在了。
- (主动)增加对下一跳 IP 进行检测其是否可达的检测主动检测当控制器的 IP 不可达时,策略路由的配置就会马上失效。
- 通过 ARP 表的方式是只要配置了策略路由后就有效的,不需要其他的配置。主动检测的方式需要依赖于其他的配置,这个配置不同的品牌的有不一样的配置,有些品牌是不支持,即使这个品牌支持,但是不同的型号的设备、不同的系统版本都可能导致无法进行配置。
- 通过 ARP 表的方式需要的时间比较长,一般交换机的动态 ARP 表的时间是 20 分钟。主动检测的方式可以在比较短的时间内可以发现 IP 不可达,大概只需要几十秒的时间。
- 对于 H3C 与华为的交换机如果物理端口上的连接断开时,这个物理端口下的 ARP 表就会无效。所以如果准入或安全网关直接连接在核心交换机上,当准入或安全网关断电或无法开机时,策略路由也会马上失效的。
- 对于思科的交换机,物理端口上的连接断开,并不会马上清理 ARP 表,但准入或安全网关所在的 VLAN 没有其他端口还是处于连接的状态时,这时准入或安全网关断电或无法开机时,策略路由也会马上失效的。
- 如果手动清理一下 ARP 表,也是可以使用策略路由马上失效的
五、 策略路由的配置 当配置了策略路由的 VLAN 的 IP 去访问其他 VLAN 的 IP 时,就会将流量重定向到准入或安全网关上,受到准入或安全网关的控制。同个 VLAN 下的 IP 互相访问是不受控制的。 对于普通版本的准入/安全网关,只需要对所有受控机器所在的 vlan(端口)设置策略路由即可,受保护的服务器所在的 vlan(端口)不用设置。 但是对于驱动加密版本的网关,必须把回程也设置策略路由。即受控机器和受保护服务器所在 vlan(端口)都要设置策略路由。 A. CISCO 交换机配置 对于思科的交换机,策略路由只可以在 VLAN 上配置,不允许在物理端口上配置。所有需 要控制的 VLAN 上都必需加上策略路由的配置。 策略路由配置 35 系列的交换机要求先开启 sdm(其他系列交换机不需要这一步) sdm prefer routing exit #必须重新启动交换机 reload 配置 ACL # 建立 ACL,名称为 policy-route-acl ip access-list extended policy-route-acl permit ip any any # 所有流量都进行策略路由 exit 配置策略路由 - 配置 route-map, 名称为 policy-route route-map policy-route
match ip address policy-route-acl - 配置下一跳的地址,也就是准入控制设备的 IP 地址。在将策略路由应用到 VLAN 接口上时,由于下一跳的地址不能与应用的 VLAN 接口属于同一个 VLAN,所以最好新建一个VLAN,将准入控制设备分配到新建的 VLAN 上。 set ip next-hop 192.168.7.1
exit - 配置逃生机制(部分交换机可能不支持, 可以不配置)
ip sla monitor 1 type echo protocol ipIcmpEcho 192.168.7.1 ip sla monitor schedule 1 life forever start-time now # 配置 TRACK track 123 rtr 1 reachability 在需要控制的 VLAN 应用策略路由 # 在 VLAN 上应用 route-map,配置后所有 vlan100 的访问其他 VLAN 的流量都会经过准入控制设备。在配置之前请确认准入控制设备运行正常,否则这部分流量将会被阻断。(注意:驱动加密版本的网关需要把回程也设置策略路由) interface vlan 100 ip policy route-map policy-route 1 track 123 exit 显示 显示所有配置 这条特权级可执行命令显示所配置的路由图。并且可以获知每一路由图定义的策略,同时也显示有多少报文与策略语句匹配 这条特权级可执行命令显示在哪些接口应用了哪些路由图 使用这条命令可以得知正在使用什么策略路由。同时也显示一个报文是否与标准匹配的信息。如果匹配的话,则进一步显示其相应的路由信息。 ACL 的详细配置 - 匹配所有流量 ip access-list extended pracl_all
permit ip any any - 匹配任何目标地址是 192.168.1.15 与 192.168.1.14 的流量 ip access-list extended pracl_host
permit ip any host 192.168.1.15 permit ip any host 192.168.1.14 - 匹配任何目标地址是 192.168.1.0/24 的流量 ip access-list extended pracl_range
permit ip any 192.168.1.0 0.0.0.255 (这里使用的是反掩码) 保存 B. H3C 交换机配置 H3C 的交换机,策略路由可以在 VLAN 上配置,也可以在物理端口上进行配置。但不是所 以型号的交换机都可以支持这两种配置;由于不同的型号的配置有时是不一样的,对于下面列举的各种方法,如果有一种不行,请试一下看其他的方法是否可行。 策略路由配置 - 5500EI 上看这种配置只能应用在 VLAN 上不能应用在物理端口上。
- 配置逃生机制(部分交换机可能不支持, 可以不配置)
nqa entry admin policyroute type icmp-echo destination ip 192.168.7.1 frequency 100 reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only # 启动 nqa nqa schedule admin policyroute start-time now lifetime forever # 配置 track track 1 nqa entry admin policyroute reaction 1 建立 ACL acl number 3001 rule 0 permit ip source any # 所有流量都进行策略路由 quit 配置 policy-based-route policy-based-route policy-route permit node 10 - 配置使用的 ACL if-match acl 3001
- 配置下一跳的地址,也就是准入控制设备的 IP 地址
apply ip-address next-hop 192.168.13.2 track 1 quit 在需要控制的接口应用 policy-based-route (连接控制器的接口不能配置)(注意:驱动加 密版本的网关需要把回程也设置策略路由) interface Vlan-interface 12 ip policy-based-route policy-route
quit 显示 查看 policy-based-route 信息 - dis ip policy-based-route 查看 policy-based-route 应用的接口的信息
- dis ip policy-based-route statistics 查看 policy-based-route 应用的接口的更加详细信息
在 5500EI 上看这种配置可以应用在 VLAN 上,也可以应用在物理端口上。 配置 ACL 策略 acl number 3001 rule 10 permit ip source any # 所有流量都进行策略路由 quit 配置匹配 ACL 的流分类 1 traffic classifier 1 if-match acl 3001 # 配置使用的 ACL quit 配置刚才定义的流分类 1 的行为,定义如果匹配就下一跳至 192.168.7.1 traffic behavior 1 # 配置下一跳的地址,也就是准入控制设备的 IP 地址 redirect next-hop 192.168.7.1 quit 将刚才设置的流分类及行为应用至 QOS 策略中,定义 policy 1 qos policy 1 classifier 1 behavior 1 quit 在需要控制的接口上应用定义的 QOS 策略 policy 1(注:连接控制器的接口不能配置)(注 意:驱动加密版本的网关需要把回程也设置策略路由) interface Ethernet0/1 qos apply policy 1 inbound quit
建立 ACL acl number 3000 rule 0 permit ip source any # 所有流量都进行策略路由 quit 配置 route policy 路由图 route-policy policy-route permit node 1 if-match acl 3000 # 配置下一跳的地址,也就是准入控制设备的 IP 地址 apply ip-address next-hop 192.168.7.1 quit 在需要控制的接口应用 route policy (注:连接控制器的接口不能配置)(注意:驱动加密 版本的网关需要把回程也设置策略路由) interface Ethernet1/0 ip policy route-policy policy-route quit 建立 ACL acl number 3000 rule 0 permit ip source any # 所有流量都进行策略路由 quit 在需要控制的接口应用 traffic-redirec,并转向控制器的 IP (注:连接控制器的接口不能配置)(注意:驱动加密版本的网关需要把回程也设置策略路由) interface GigabitEthernet1/0/1 traffic-redirect inbound ip-group 3000 rule 0 next-hop 192.168.7.1 quit ACL 的详细配置 rule permit ip source any
- 配任何目标地址是 192.168.1.15 与 192.168.1.14 的流量 acl number 3002
rule permit ip destination 192.168.1.15 0 rule permit ip destination 192.168.1.14 0 - 匹配任何目标地址是 192.168.1.0/24 的流量 acl number 3003
rule permit ip destination 192.168.1.0 0.0.0.255 保存 C. 华为交换机配置 华为的交换机,策略路由可以在 VLAN 上配置,也可以在物理端口上进行配置。但不是所以型号的交换机都可以支持这两种配置;由于不同的型号的配置有时是不一样的,对于下面列举的各种方法,如果有一种不行,请试一下看其他的方法是否可行。 策略路由配置 - S5700EI 的测试结果是这个配置可以基于端口也可以基于 VLAN
配置 ACL 策略 acl number 3001 rule 10 permit ip source any # 所有流量都进行策略路由 quit
配置匹配 ACL 的流分类 1 traffic classifier 1 if-match acl 3001 quit
置刚才定义的流分类 1 的行为,定义如果匹配就下一跳至 192.168.7.1(控制器的 IP) traffic behavior 1 # 配置下一跳的地址,也就是准入控制设备的 IP 地址 redirect ip-nexthop 192.168.7.1 quit 将刚才设置的流分类及行为应用至 traffic-policy 策略中,定义 policy 1 traffic policy 1 classifier 1 behavior 1 quit 在需要控制的接口上应用定义的 QOS 策略 policy 1(注:连接控制器的接口不能配置)(注 意:驱动加密版本的网关需要把回程也设置策略路由) interface GigabitEthernet 1/0/1 (在物理端口)或 vlan 11 (在 VLAN) traffic-policy 1 inbound quit - S5700EI 的测试结果是这个配置只可以基于物理端口
建立 ACL acl number 3001 rule 0 permit ip source any # 所有流量都进行策略路由 quit 在需要控制的接口应用 traffic-redirec 并转向控制器的 IP (注:连接控制器的接口不能配置)(注意:驱动加密版本的网关需要把回程也设置策略路由) interface GigabitEthernet6/1/1 traffic-redirect inbound acl 3001 ip-nexthop 192.168.7.1 quit 建立 ACL acl number 2999 rule 0 permit source any # 所有流量都进行策略路由 quit 配置 route policy route-policy policy-route permit node 1 - 配置使用的 ACL if-match acl 2999
- 配置下一跳的地址,也就是准入控制设备的 IP 地址
apply ip-address next-hop 192.168.7.1 quit 在需要控制的接口应用 route policy (注:连接控制器的接口不能配置)(注意:驱动加密 版本的网关需要把回程也设置策略路由) interface Ethernet 1/0 ip policy route-policy policy-route quit ACL 的详细配置 rule permit ip source any - 匹配任何目标地址是 192.168.1.15 与 192.168.1.14 的流量 acl number 3002
rule permit ip destination 192.168.1.15 0 rule permit ip destination 192.168.1.14 0 - 匹配任何目标地址是 192.168.1.0/24 的流量 acl number 3003
rule permit ip destination 192.168.1.0 0.0.0.255 保存 D. 过滤部分 IP 范围 以华为 S5700 为例,策略路由过滤内网相互访问的流量 配置 ACL 策略 acl number 3002 rule 10 permit ip source 192.168.0.0 0.0.255.255 destination 192.168.0.0 0.0.255.255 quit 配置匹配 ACL 的流分类 2
traffic classifier 2
if-match acl 3002 quit 配置刚才定义的流分类 1 的行为 traffic behavior 2 # 默认放过这些 ip 范围的流量,permit 的效果是直接按 acl rule 设置的规则执行 permit quit 将刚才设置的流分类及行为应用至 traffic-policy 策略中,定义 policy 2 traffic policy 2 classifier 2 behavior 2 quit 在需要控制的接口上应用定义的 QOS 策略 policy 2(注:连接控制器的接口不能配置) interface GigabitEthernet 1/0/1 (在物理端口)或 vlan 11 (在 VLAN) traffic-policy 2 inbound # 先过滤内网之间的流量 traffic-policy 1 inbound # 然后控制所有 quit 六、 策略路由配置确认 Ø 使用 tracert 命令 查看报文的路径是否会转到准入控制器的 IP 上。 如果没有成功转向准入控制器的 IP,说明交换机的配置可能有问题。将已经配置的显示出来,人为检查一下。 七、 交换机对策略路由的支持 只有三层交换机才有可能支持这个功能,对于二层交换机肯定是不支持的。 A. 思科 - 29 系列(2950、2960 等{二层}):不支持
- 35 系列(3550、3560、3750 等):IPBASE 版本不支持、ENTSERVICESK 版本支持
- 45 系列及以上(4503 等):IPBASE 版本不支持、ENTSERVICESK 版本支持显示型号的命令:show version
- 36 系列及以下(2126、3600、3610 等):不支持
- 55 系列及以上(5500、5600、5800、7500、7600 等):EI 版本支持,SI 版本不支持
- 93 系列(9303、9306 等):支持(9300 系列是不区分 SI 和 EI 版本)
对于华为和 H3C 交换机大部分情况下只有 EI 版本才可能支持策略路由,SI 版本是不可能支持的。对于华为以一些交换机像 9300 系列是不区分 SI 和 EI 版本。 八、 如何删除策略路由的配置 在配置的策略前增加 no(思科)或 undo(H3C\华为)。 在删除策略路由时,可以只删除配置在 VLAN 或者端口上的配置,对于其他的全局的配置,删不删除不影响功能。如果确认不再使用策略路由,可以全部都去掉。 【例】 在已经控制的 VLAN 100 上去掉策略路由 interface vlan 100 no ip policy route-map policy-route exit 去除在已经控制的接口 GigabitEthernet 1/0/2 上去掉定义的 QOS 策略 policy 1 interface GigabitEthernet 1/0/2
ndo traffic-policy 1 inbound quit 九、 交换机的配置的备份与还原 copy Tftp
|