Linux 怎么在多网卡环境下指定默认的出网网卡

冰川箭仙

冰川箭仙

2026-08-02

223人浏览

原创

linux多网卡指定默认出网网卡本质是确保路由表中仅有一条default路由且指向目标网卡网关:先删除错误默认路由,再用ip route add default via x.x.x.x dev ethx添加正确条目;centos需在外网网卡ifcfg文件中配置gateway并确保内网网卡不设网关,ubuntu netplan则仅在外网接口下配置gateway4;重复或冲突的默认路由会导致外网间歇性中断。

linux 怎么在多网卡环境下指定默认的出网网卡

Linux 多网卡环境下指定默认出网网卡,本质是控制默认路由(default route)指向哪个网卡的网关。系统不会“记住”某张网卡为“默认”,而是依据路由表中 default0.0.0.0/0 条目决定所有未匹配其他路由的流量从哪走。

关键就一条:只允许一个默认网关,且必须绑定到你希望作为出口的那张网卡上


? 正确配置默认出网网卡的步骤

  • 外网网卡(如 eth0)配默认网关,内网网卡(如 eth1)不配网关
    这是最基础、最安全的做法。若两张网卡都配置了 GATEWAY=(CentOS)或 gateway4:(Ubuntu Netplan),系统会写入两条默认路由,但仅 metric 最小的一条生效——容易误判或随启动顺序变化,导致外网不通或内网被劫持。

  • 确认当前默认路由归属
    运行:

    ip route show default
    # 或
    route -n | grep '^0.0.0.0'

    输出类似:

    default via 192.168.2.1 dev eth0 proto static metric 100

    表示当前默认出口是 eth0,网关为 192.168.2.1

  • 手动修正默认路由(临时)
    若默认路由错指到内网卡(如 eth1),先删后加:

    ip route del default
    ip route add default via 192.168.2.1 dev eth0

    注意:dev eth0 必须与网关所在网段直连(即 192.168.2.1 确实是 eth0 所在子网的网关)。

    PyCharm 2026.2.0.1 Linux版
    PyCharm 2026.2.0.1 Linux版

    PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

    下载

? 让配置永久生效(按发行版)

  • CentOS/RHEL 7+(NetworkManager 或 ifcfg)
    编辑外网网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0):

    BOOTPROTO=static
    IPADDR=192.168.2.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.2.1   # ✅ 只在这里写
    DNS1=8.8.8.8
    ONBOOT=yes

    内网网卡(如 /etc/sysconfig/network-scripts/ifcfg-eth1不写 GATEWAY 行,仅配 IP 和掩码:

    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    ONBOOT=yes
  • Ubuntu/Debian(Netplan)
    编辑 /etc/netplan/*.yaml,确保只有外网接口含 gateway4

    network:
      version: 2
      ethernets:
        eth0:
          addresses: [192.168.2.100/24]
          gateway4: 192.168.2.1   # ✅ 唯一 gateway4
          nameservers:
            addresses: [8.8.8.8]
        eth1:
          addresses: [192.168.1.100/24]
          # ❌ 不写 gateway4

    应用:sudo netplan apply


⚠️ 常见错误与规避

  • 两张网卡都设了 gateway → 默认路由冲突
    系统可能保留 metric 更低的那条,但重启后顺序不定,外网时通时断。

  • 内网网卡误配网关 → 内网流量绕行外网网关
    比如 192.168.1.0/24 流量本该直连,却发给 192.168.2.1,结果丢包或被拒绝。

  • 没删旧默认路由就加新 → 出现重复 default 条目
    ip route show default 检查是否唯一;重复时用 ip route del default 清理。

  • 防火墙拦截回程路径
    即使路由正确,若 firewalldiptables 默认策略为 DROP,且内网网卡不在 trusted 区域,ping 内网可能通但 ssh 不通。补救:

    firewall-cmd --zone=trusted --add-interface=eth1 --permanent
    firewall-cmd --reload

? 需要双默认出口?用策略路由

如果业务要求:

  • 访问 A 网段走 eth0,访问 B 网段走 eth1,且两者都需上公网(比如不同 ISP)
    → 就不能只靠单 default 路由,得用 策略路由(Policy-Based Routing)
  • 创建独立路由表(如 table 100 对应 eth0,table 101 对应 eth1)
  • ip rule 按源地址或目标地址分流
  • 这属于进阶场景,日常内外网分离无需启用。

不复杂但容易忽略。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

355

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

617

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1216

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

428

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1031

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1848

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

322

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 127人学习