服务器多网卡路由配置文件怎么设置?ECS多网卡策略路由配置方法

多网卡ECS的网络不通,问题多半出在路由表上

给多网卡ECS配置策略路由,核心思路是让系统根据数据包的“来源IP”选择不同的路由表,而不是用一张默认路由表处理所有流量。 多数情况下,你只需要修改两个文件:/etc/iproute2/rt_tables/etc/sysconfig/network-scripts/route-eth1(以CentOS为例),再配合 ip ruleip route 命令即可搞定。


为什么多网卡ECS默认路由会“打架”

云服务器默认只有一张网卡,路由表简单清晰,但当你给ECS绑定第二张、第三张网卡后,问题就来了:Linux内核默认只认一张默认路由表(main表),所有网卡的默认路由都会挤在一起。

双网卡或多网卡使用路由表配置解决访问不同网段网络#程序员 #双网卡添加静态路由
加载中
双网卡或多网卡使用路由表配置解决访问不同网段网络#程序员 #双网卡添加静态路由

假设你的ECS有两张网卡:

  • eth0:主网卡,IP为 0.0.10,网关 0.0.1
  • eth1:辅助网卡,IP为 0.1.10,网关 0.1.1

如果两张网卡的默认路由都写进main表,后写入的会覆盖先写入的,结果就是:从eth1进来的数据包,回复时可能走eth0出去,源IP和目标IP对不上,连接直接超时。

业内专家指出,这个问题在简米云、酷番云等主流云平台上非常常见,尤其是当你用“辅助网卡”接入业务流量时,解决思路就一条:为每一张网卡建立独立的路由表,然后用策略规则(ip rule)告诉内核“谁来的从谁那回去”。


如何为多网卡ECS配置策略路由:完整实操步骤

第一步:确认网卡和IP信息

先登录服务器,执行以下命令:

ip addr show
ip route show table main

记录下每张网卡的:

  • 网卡名称(如eth0、eth1)
  • IP地址和子网掩码
  • 网关地址

假设你得到如下信息:

网卡 IP地址 网关
eth0 0.0.10 0.0.1
eth1 0.1.10 0.1.1

第二步:编辑路由表编号文件

编辑 /etc/iproute2/rt_tables,在文件末尾添加自定义路由表编号,编号范围从 1252 可用,建议使用

服务器多网卡路由配置文件怎么设置?ECS多网卡策略路由配置方法

100200 这类好记的数字:

vim /etc/iproute2/rt_tables
100 eth0_table
200 eth1_table

这里 eth0_tableeth1_table 只是自定义名称,你可以随意命名,但名称和编号必须唯一

第三步:为每张网卡配置独立路由

配置eth0的路由表

ip route add 10.0.0.0/24 dev eth0 src 10.0.0.10 table eth0_table
ip route add default via 10.0.0.1 dev eth0 table eth0_table

配置eth1的路由表

ip route add 10.0.1.0/24 dev eth1 src 10.0.1.10 table eth1_table
ip route add default via 10.0.1.1 dev eth1 table eth1_table

添加策略规则

ip rule add from 10.0.0.10 lookup eth0_table
ip rule add from 10.0.1.10 lookup eth1_table

这两条规则的意思是:凡是源IP为 0.0.10 的数据包,查 eth0_table 路由表;凡是源IP为 0.1.10 的数据包,查 eth1_table 路由表。

第四步:验证配置是否生效

ip route show table eth0_table
ip route show table eth1_table
ip rule show

然后从本机ping两个网关:

ping -I 10.0.0.10 10.0.0.1
ping -I 10.0.1.10 10.0.1.1

如果两边都能通,说明策略路由已经生效,但注意,这些配置重启后会丢失,需要持久化。


如何让策略路由永久生效

使用网卡配置文件(推荐)

以CentOS 7/8为例,编辑 /etc/sysconfig/network-scripts/route-eth1 文件(如果不存在则创建):

vim /etc/sysconfig/network-scripts/route-eth1
0.1.0/24 dev eth1 src 10.0.1.10 table eth1_table
default via 10.0.1.1 dev eth1 table eth1_table

然后在 /etc/sysconfig/network-scripts/rule-eth1 文件中写入策略规则:

vim /etc/sysconfig/network-scripts/rule-eth1

写入:

from 10.0.1.10 lookup eth1_table

同样为eth0创建对应的 route-eth0rule-eth0 文件。

使用rc.local(简单粗暴)

服务器多网卡路由配置文件怎么设置?ECS多网卡策略路由配置方法

/etc/rc.local 文件末尾追加所有 ip routeip rule 命令,并确保该文件有执行权限:

chmod +x /etc/rc.d/rc.local

NetworkManager的Dispatcher脚本(适用于Ubuntu)

Ubuntu系统推荐使用 /etc/network/interfaces 配合 up 指令,或者NetworkManager的dispatcher脚本,在 /etc/network/interfaces 中为eth1添加:

auto eth1
iface eth1 inet static
    address 10.0.1.10
    netmask 255.255.255.0
    gateway 10.0.1.1
    up ip route add 10.0.1.0/24 dev eth1 src 10.0.1.10 table eth1_table
    up ip route add default via 10.0.1.1 dev eth1 table eth1_table
    up ip rule add from 10.0.1.10 lookup eth1_table

配置完成后重启网络服务或直接重启ECS来验证。


不同场景下的配置差异

两张网卡在同一VPC的不同子网

这种情况下,除了默认路由,你还需要确保VPC的路由表已经正确配置了到两个子网的路由,如果配置后仍然不通,多数情况下是云平台安全组或网络ACL拦截了流量,而不是服务器本身的问题。

一张网卡走公网,一张走内网专线

这是很常见的混合云架构,公网网卡eth0保持默认路由不变,内网网卡eth1添加专线网关路由,此时策略路由的优先级需要注意:

ip rule add from 10.0.1.10 lookup eth1_table priority 100
ip rule add from 10.0.0.10 lookup eth0_table priority 200

priority 数值越小优先级越高,这样内网流量优先走专线,避免占用公网带宽。

Ubuntu 22.04 + Netplan配置策略路由

Netplan是Ubuntu的现代网络配置工具,配置方式与CentOS完全不同,在 /etc/netplan/01-netcfg.yaml 中:

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 10.0.0.10/24
      routes:
        - to: default
          via: 10.0.0.1
          table: 100
          from: 10.0.0.10
      routing-policy:
        - from: 10.0.0.10
          table: 100
    eth1:
      addresses:
        - 10.0.1.10/24
      routes:
        - to: default
          via: 10.0.1.1
          table: 200
          from: 10.0.1.10
      routing-policy:
        - from: 10.0.1.10
          table: 200

服务器多网卡路由配置文件怎么设置?ECS多网卡策略路由配置方法

然后执行 netplan apply 生效。


多网卡ECS配置策略路由的排查思路

配置完成后,如果网络仍然不通,按以下顺序排查:

  1. 确认路由表内容ip route show table eth1_table 是否包含正确的默认路由?
  2. 确认策略规则ip rule show 中是否有 from 10.0.1.10 lookup eth1_table
  3. 确认网卡状态ethtool eth1 是否显示 Link detected: yes
  4. 确认云平台安全组:云平台上的安全组是否放行了对应网卡的入方向和出方向流量?
  5. 抓包确认tcpdump -i eth1 host 目标IP 看数据包是否到达eth1,回复包是否从eth1发出。

如果数据包到达了eth1但回复包从eth0发出,说明策略路由没生效,重新检查 ip rule 的配置顺序。


常见问题解答

多网卡ECS配置策略路由后,为什么ping网关通但ping外网不通?

这通常是云平台安全组或网络ACL的规则限制,云平台上的安全组是针对弹性网卡级别生效的,你需要检查辅助网卡关联的安全组是否放行了出方向到公网的流量,另外确认一下云平台是否允许辅助网卡绑定公网IP,部分云平台默认不开放这个能力。

服务器多网卡路由配置文件修改后,是否需要重启服务器?

不需要重启,执行 ip routeip rule 相关命令后立即生效,如果你是通过修改配置文件(如 route-eth1)来实现持久化,执行 systemctl restart networkip route flush cache 让配置重新加载即可,不建议直接重启ECS,因为如果配置有误,重启后可能直接失联。

不同网段ECS多网卡配置策略路由,和同网段配置有什么区别?

同网段的多网卡配置,两张网卡的默认路由可能指向同一个网关,优先级冲突更明显,不同网段的多网卡配置,关键在于云平台的路由表中是否已经写入了去往两个网段的路由条目,如果云平台没有配置,服务器无论怎么设置策略路由都无法跨网段通信,可以先在ECS上执行 ip neigh 查看ARP表,确认网关是否可达,再排查云平台路由表配置。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/567054.html

(0)
服务器更新配置文件怎么操作?,更新配置文件如何生效
上一篇 2026年8月11日 23:58
服务器低配置怎么优化,服务器配置低影响性能吗
下一篇 2026年8月11日 23:58

相关推荐

  • 如何查询CDN节点状态?,cdn查询方法有哪些

    2026年进行CDN查询时,推荐使用阿里云拨测或腾讯云边缘测试工具,结合第三方平台如站长之家,可精准获取节点响应速度与覆盖数据,延迟误差控制在5%以内,CDN查询的三种主流方法平台自带诊断工具- 阿里云CDN控制台“拨测”模块,支持自定义URL与地区,返回TP99延迟,2026年已覆盖华北、华东、华南等8大核心……

    2026年7月15日
    1100
  • CDN和IDC到底有什么区别?CDN和IDC的区别是什么

    CDN(内容分发网络)和IDC(互联网数据中心)的核心区别在于:IDC是存储数据的“大仓库”,负责集中托管;CDN是加速数据的“快递网”,负责就近分发,两者互补而非替代,很多站长和企业负责人在搭建网站时,常把这两者混为一谈,它们就像“中央厨房”和“外卖配送站”的关系,IDC负责做饭(存储和处理数据),CDN负责……

    2026年6月16日
    3010
  • 百度cdn和腾讯cdn哪个好,百度cdn和腾讯cdn哪个好用

    在2026年的技术架构下,若追求极致的国内访问速度与政企合规稳定性,首选百度CDN;若侧重全球化布局、云生态集成及开发者友好度,腾讯云CDN更具优势,两者需根据业务场景而非单一指标进行抉择,底层架构与节点覆盖深度对比百度CDN:深耕国内,政企合规首选百度CDN依托百度智能云庞大的国内基础设施,其核心优势在于对国……

    云计算 2026年5月31日
    2700
  • 如何制作Flash网站,具体步骤是什么?

    Flash网站的制作核心是使用Adobe Flash系列工具创建矢量动画与交互内容,并导出为SWF格式嵌入网页,但2020年Adobe终止Flash Player支持后,所有主流浏览器默认禁用Flash,这意味着新项目应直接采用HTML5、CSS3和JavaScript实现相同效果,Flash网站制作的具体流程……

    云计算 2026年7月17日
    800
  • 国内弹性计算云是啥?|云计算原理与应用详解

    国内弹性计算云(Elastic Compute Cloud, ECC),本质上是云计算服务商(如阿里云、腾讯云、华为云、百度智能云等)提供的一种按需获取、可弹性伸缩的虚拟服务器(云服务器ECS/云主机CVM)资源服务,它允许企业和开发者根据业务需求,实时、灵活地调整计算能力(CPU、内存、存储、带宽等),无需预……

    2026年2月10日
    15950
  • 大模型智能体验证难吗?一篇讲透大模型智能体验证

    大模型智能体验证并非高不可攀的技术黑盒,其核心逻辑在于构建一套“提问-观察-评估”的标准化闭环体系,验证的本质不是测试模型的知识储备,而是评估其逻辑推理、指令遵循与边界控制的稳定性, 只要掌握了正确的评估维度与测试方法,普通开发者与企业用户完全有能力低成本地完成高质量的验证工作,无需依赖昂贵的第三方评测机构,一……

    2026年3月29日
    12700
  • Windows服务器如何配置CDN?Windows CDN加速配置与优化方法

    Win CDN 是一种基于全球分布式边缘计算节点的加速方案,通过将静态与动态内容缓存至离用户最近的边缘服务器,可将全球平均响应延迟降低至 30ms 以内,是 2026 年企业级数字化转型中提升用户体验的核心基础设施,Win CDN 的核心技术架构与演进在 2026 年的网络环境下,CDN 已不再是简单的“缓存分……

    2026年7月14日
    1400
  • 什么是CDN墙?CDN被拦截无法访问怎么办?CDN加速优化

    深度解析“CDN 墙”:成因、表现及2026年主流解决方案“CDN 墙”本质上是指由于CDN节点IP地址被防火墙拦截、DNS解析遭到污染,或CDN服务商的访问策略与特定网络环境冲突,导致用户无法通过CDN加速节点正常访问目标网站的现象, “CDN 墙”的技术成因深度拆解在复杂的全球网络架构中,“CDN 墙”并非……

    2026年7月14日
    400
  • 大型网站CDN部署方案有哪些?如何选择高防CDN服务商

    大型网站部署CDN的核心在于通过边缘节点缓存静态资源,将用户请求就近分发,从而显著降低源站负载并提升全球访问速度,这是解决高并发场景下延迟问题的标准技术方案,在构建高可用架构时,单纯依靠增加服务器带宽或升级硬件配置,往往无法从根本上解决跨地域、跨运营商的网络延迟问题,内容分发网络(CDN)通过构建覆盖全球的边缘……

    2026年5月26日
    5400
  • CDN返回403错误怎么办,CDN 403 forbidden解决方法

    CDN 403 Forbidden 错误通常源于访问权限配置冲突、IP 黑名单误杀或源站回源鉴权失败,需通过检查安全策略、清理缓存及核对源站日志进行针对性修复,在 2026 年的数字化生态中,内容分发网络(CDN)已成为网站稳定性的基石,但 403 状态码依然是导致业务中断的高频痛点,这不仅是技术故障,更是安全……

    2026年7月10日
    15600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注