Loading
close

配置策略路由

time 更新时间:2025-02-05 14:25:56

背景描述

静态路由是根据报文的目的地址查找路由表,然后进行转发,不能满足用户自定义的策略进行报文转发和选路。如图所示拓扑,VPC内网段10.0.0.0/24访问8.8.8.8的流量需要通过ECMP引流到云主机A,B,C上进行处理。

../images/pbr.png

本实践方案通过配置策略路由完成上述需求。

前提条件

路由器绑定了上述网段子网,子网间的云主机可以互通。

操作步骤

  1. 分别进入云主机A,B,C的VNC,执行如下步骤。

    网卡开启路由转发功能:

      
    sudo sysctl -w net.ipv4.ip_forward=1
  2. 进入安全组列表,创建一个无状态安全组,配置出入方向0.0.0.0/0全放通的规则。

  3. 分别为云主机A,B,C的网卡配置无状态安全组和关闭源/目的检查

    1. 虚拟网卡列表选择云主机的网卡,点击进入详情。
    2. 点击更多操作-编辑安全组,选择上述无状态安全组,点击保存。
    3. 点击关闭源/目的检查按钮。

    说明:由于10.0.0.0/24虚机访问8.8.8.8的流量来回路径不一致,为了避免conntrack对云主机A,B,C网卡的影响,需要配置无状态的安全组。

  4. 进入路由器,配置策略路由。

优先级 IP类型 协议和端口 策略 下一跳 源CIDR 目的CIDR 源接口 目的接口
10 IPv4 全部 重路由 10.0.2.3,10.0.2.4,10.0.2.5 10.0.0.0/24 8.8.8.8/32 10.0.0.1 -

说明:源接口10.0.0.1必须配置,因为引流到云主机A,B,C的流量出来时源IP、目的IP都没有变化,再次路由后源接口变为了10.0.2.1,所以流量不会匹配这条策略路由,会正常访问到目的IP地址; 重路由多个下一跳地址表示 ECMP 路由,地址间用逗号隔开。

结果验证

进入网段10.0.0.0/24的云主机,能正常访问8.8.8.8
进入云主机A,B,C的VNC,通过tcpdump能够正常抓到10.0.0.0/24访问8.8.8.8的报文。

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品