全部文档
当前文档

共搜索到 0 条结果

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Linux云服务器辅助网卡问题排查与处理

最近更新时间:2026-06-16 17:51:51

问题描述

在金山云 Linux 云服务器上,通过控制台挂载辅助网卡并绑定弹性 IP(EIP)后,从外部网络执行 ping <弹性IP> 命令,出现"请求超时"或"目标主机不可达",无法正常收到 ICMP 回显应答。

可能原因

  • 安全组未放行 ICMP 协议。

  • 弹性 IP 绑定状态异常。

  • 辅助网卡未在系统内正确配置 IP。

  • 策略路由问题(常见原因)。

排查步骤

  1. 登录网络控制台,查看弹性 IP 绑定状态,确认不处于异常状态(到期/欠费)。

  2. 登录云服务器控制台,进入 实例详情,查看安全组状态,确认已放通 ICMP 协议。

  3. 连接云服务器实例,查看系统防火墙是否开启。

  4. 确认系统内部辅助网卡状态。

  5. 确认网卡 IP 与控制台对应正确。

  6. 确认同 VPC 内两台主机互通,排除内网网卡原因。

  7. 检查路由表。

解决方案

原因一:弹性 IP 状态异常

弹性 IP 状态异常时,请登录弹性 IP 控制台,查看异常类型。若为欠费或到期,需续费或重新购买。

原因二:安全组未放行 ICMP 协议

  1. 检查该网卡绑定的入站规则,确认必要的业务端口已开放。

  2. 若需快速测试连通性,可先放行 ICMP 协议,源 IP 填写本地 IP,执行 ping 测试。

  3. 使用 telnet <弹性IP> <业务端口> 验证端口连通性。

原因三:系统防火墙屏蔽(少见)

完成原因二的检查后,可临时关闭系统防火墙进行测试。

systemctl stop firewalld

原因四:辅助网卡系统内配置错误

  1. 检查辅助网卡状态。

    ip addr
    ip link

    若发现辅助网卡不是 UP 状态,手动拉起:

    ip link set eth1 up
    ip link set eth2 up
  2. 若网卡 IP 与控制台不一致,修改网卡配置并重启网络服务。

原因五:策略路由与反向路径校验问题(重要)

  1. 关闭严格反向路径校验(rp_filter=2)。若系统默认 rp_filter=1(严格模式),数据包从辅助网卡进入但回包走主网卡,进出网卡不一致会导致丢包。

    sysctl -w net.ipv4.conf.all.rp_filter=2
    sysctl -w net.ipv4.conf.eth0.rp_filter=2
    sysctl -w net.ipv4.conf.eth1.rp_filter=2
    sysctl -w net.ipv4.conf.eth2.rp_filter=2

    该配置为临时处理方法,重启后还原,配置后立即生效。若需还原,将rp_filter值改为 1

  2. 编辑路由表配置。

    vim /etc/iproute2/rt_tables

    添加如下内容:

    101 eth1_table
    102 eth2_table
  3. 添加策略路由。

    配置原则:

    • 来源 IP 为 eth1 内网 IP(如 192.168.67.229)的数据包,走 eth1 专属路由表

    • 来源 IP 为 eth2 内网 IP(如 192.168.68.105)的数据包,走 eth2 专属路由表

    • 各路由表的外网出口固定走对应网关

    ip rule add from 192.168.68.105 table eth2_table
    ip route add default via 192.168.68.1 dev eth2 table eth2_table
    
    ip rule add from 192.168.67.229 table eth1_table
    ip route add default via 192.168.67.1 dev eth1 table eth1_table
    ip route flush cache
  4. 若需还原,执行以下命令。

    ip rule del from 192.168.67.229
    ip rule del from 192.168.68.105
    ip route flush cache
    ip route del default via 192.168.67.1 dev eth1 table eth1_table 2>/dev/null
    ip route del default via 192.168.68.1 dev eth2 table eth2_table 2>/dev/null

测试验证

在本地执行 ping <辅助网卡弹性IP> 测试连通性。

附录

配置前后流量走向对比

配置前

配置后

外网

eth1弹性IP 进服务器

系统无绑定规则

回包默认走主网卡eth0

校验:进eth1、出eth0 不一致

直接丢弃数据包

ping 超时不通

外网访问 eth1 弹性IP

流量从 eth1 进入

策略路由匹配:源IP是eth1内网IP → 走 eth1_table 路由表

路由表强制从 eth1 网关出

回包依旧走 eth1 网卡

校验:进eth1、出eth1 一致

正常转发,ping 通

# eth2 逻辑完全同上

外网→eth2进 → 策略路由强制eth2出 → 校验一致 → 通

场景分类

场景

核心前置条件

完整流量走向链路

最终结果

配置前:外网 ping 辅助网卡 EIP(故障)

1. 内核 rp_filter=1(严格模式)

2. 无策略路由规则

3. 仅 eth0 有全局默认路由

外网数据包 → 云网关 → eth1/eth2 辅助网卡(正常入包) → 系统无专属分流规则 → 回包强制匹配唯一全局路由,从 eth0 主网卡出站 → 回包网卡与入包网卡不一致

校验拦截,ping 超时,无法连通

配置后:外网 ping 辅助网卡 EIP(正常)

1. 内核 rp_filter=2(宽松模式)

2. 已配置辅助网卡专属策略路由

3. 保留 eth0 唯一全局默认路由

外网数据包 → 云网关 → eth1/eth2 辅助网卡(入包) → 匹配对应网卡策略路由规则 → 强制从当前入包网卡及对应网关回包 → 进出网卡完全一致

校验通过,EIP 正常 ping 通,无丢包

服务器主动外网访问(业务流量)

1. 全局默认路由优先级最高(eth0)

2. 策略路由仅生效于外部主动访问本机流量

服务器本地程序发起外网请求 → 优先匹配全局默认路由 → 统一从 eth0 主网卡出站 → 正常回包至 eth0

主网卡业务不受影响,正常联网

辅助网卡新增辅助私网绑定弹性ip后不通

  • 私网信息如下表

    类型

    私网IP地址

    弹性IP

    带宽

    主私网

    192.168.67.229

    120.xxx.xx.38(普通模式)

    5

    辅助私网

    192.168.67.154

    120.xxx.xx.8(普通模式)

    1

    辅助私网

    192.168.67.175

    --

    --

    辅助私网

    192.168.67.59

    --

    --

  • 弹性IP无法ping通

解决方法

前面提到eth1 的路由,外网出口写死走网关 192.168.67.1。参考以下操作,给需要的ip都独立建立一个路由表。

  1. 编辑路由表,新增表号。

    echo "103 eth1_154_table" >> /etc/iproute2/rt_tables

  2. 配置策略规则和路由。

    ip rule add from 192.168.67.154 table eth1_154_table
    ip route add default via 192.168.67.1 dev eth1 table eth1_154_table

  3. 刷新生效。

    ip route flush cache

  4. 内核参数(如果之前没改)。

    sysctl -w net.ipv4.conf.all.rp_filter=2
    sysctl -w net.ipv4.conf.eth1.rp_filter=2
  5. 若本地依然无法ping通辅助私网的弹性ip,或者拿同vpc内网主机ping测试辅助私网也不通。

  6. 检查辅助网卡中是否同时包含了主私网和辅助私网。

  7. 若无辅助私网,则手动添加辅助私网:ip addr add 192.168.67.154/24 dev eth1

  8. 测试成功

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈