news 2026/5/10 20:30:14

排查一个多网卡的机器上不了网的问题(更改默认路由)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
排查一个多网卡的机器上不了网的问题(更改默认路由)

1. 首先查看自己的网关

先用inconfig查看自己的ip,如果ip已经被分配到了,网关肯定已经配好了。最简单的几个方法如下(任选一个在终端执行):

1. 用ip route

推荐这个:

iproute

输出里类似会有一行:

default via 192.168.11.1 dev wlp4s0 ...

via后面的地址就是你的网关,比如这里就是:
192.168.11.1(示例)


2. 用ip r | grep default

简化版:

ipr|grepdefault

同样看via后面的地址。


3. 用route -n(旧命令)

有些系统还带这个命令:

route -n

输出里会有一行:

Destination Gateway Genmask Flags Iface 0.0.0.0 192.168.11.1 0.0.0.0 UG wlp4s0

Gateway那一列就是网关地址。


4. 用nmcli(如果用 NetworkManager)

nmcli device show wlp4s0|grepIP4.GATEWAY

会显示:

IP4.GATEWAY: 192.168.11.1

2. 查看自己的默认网关以及相关信息

这是一个容器内的设备,使用一个网线接在一个座位无线中继的路由器上,这个路由器的ip是192.168.11.5,也应该是网关,但是这个设备现在上不了网,它的信息输出如下: bash-5.2# ip routedefault via192.168.2.1 dev eth0 proto static192.168.2.0/24 dev eth0 proto kernel scopelinksrc192.168.2.100192.168.11.0/24 dev eth1 proto kernel scopelinksrc192.168.11.20 bash-5.2# route -nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0192.168.2.10.0.0.0 UG000eth0192.168.2.00.0.0.0255.255.255.0 U000eth0192.168.11.00.0.0.0255.255.255.0 U000eth1 bash-5.2# ifconfigeth0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.2.100 netmask255.255.255.0 broadcast192.168.2.255 inet6 fe80::c22b:31ff:fe0d:6e64 prefixlen64scopeid 0x20<link>ether c0:2b:31:0d:6e:64 txqueuelen1000(Ethernet)RX packets250442bytes75435281(71.9MiB)RX errors0dropped0overruns0frame0TX packets125bytes19412(18.9KiB)TX errors0dropped0overruns0carrier0collisions0device interrupt17base 0x2000 eth1:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.11.20 netmask255.255.255.0 broadcast192.168.11.255 inet6 240a:429a:200:7640:6076:3371:13f0:bbc7 prefixlen64scopeid 0x0<global>inet6 240a:429a:200:7640:c22b:31ff:fe0d:6e65 prefixlen64scopeid 0x0<global>inet6 fe80::c22b:31ff:fe0d:6e65 prefixlen64scopeid 0x20<link>ether c0:2b:31:0d:6e:65 txqueuelen1000(Ethernet)RX packets187400bytes172449194(164.4MiB)RX errors0dropped0overruns0frame0TX packets552762bytes589704680(562.3MiB)TX errors0dropped0overruns0carrier0collisions0device interrupt18base 0x2000 lo:flags=73<UP,LOOPBACK,RUNNING>mtu65536inet127.0.0.1 netmask255.0.0.0 inet6 ::1 prefixlen128scopeid 0x10<host>loop txqueuelen1000(Local Loopback)RX packets689976bytes705456856(672.7MiB)RX errors0dropped0overruns0frame0TX packets689976bytes705456856(672.7MiB)TX errors0dropped0overruns0carrier0collisions0

从你贴的信息看,现在这个容器或主机的默认网关配置和你实际的物理连接是不一致的,这就是“上不了网”的主要原因。

先把现状理一下:

  • eth0: 192.168.2.100/24,默认网关指向192.168.2.1default via 192.168.2.1 dev eth0
  • eth1: 192.168.11.20/24,接在你的“无线中继路由器”上,这个路由器 IP 是192.168.11.5

你说“用一根网线接在一个无线中继路由器上”,那么真正能通外网的那条链路大概率是:

设备 eth1 (192.168.11.20)中继路由器 192.168.11.5→ 上级 Wi‑Fi/AP → 互联网

但当前路由表的默认路由走的是另外一个网络:

default via 192.168.2.1 dev eth0

也就是说:所有去外网的包都从eth0发给192.168.2.1,而不是从 eth1 发给 192.168.11.5,所以肯定上不了网(或者走的是一个根本不存在/不通的网关)。


1. 先确认 192.168.11.5 在 eth1 上是否可达

在容器里:

ping-c4192.168.11.5
  • 如果 ping 不通:

    • 要么你接线的那端 IP 没配成 192.168.11.5
    • 要么中继路由器 LAN 口不是 192.168.11.x 网段 / 被关机 / 接错口
    • 需要先在“无线中继路由器”上确认:
      • 它 LAN 口 IP 是否确实是 192.168.11.5/24
      • DHCP 开/关无所谓,但 IP 必须在 192.168.11.0/24 内
  • 如果 ping 得通,说明二层/三层直连是好的,只是默认路由错了。


2. 临时改默认网关到 192.168.11.5

在容器里,先删掉原来的默认路由,再加上新的(以 eth1 为出口):

iproute del defaultiprouteadddefault via192.168.11.5 dev eth1

然后测试外网:

ping-c48.8.8.8ping-c4www.baidu.com
  • 8.8.8.8 能 ping 通但域名不行 → DNS 问题
  • 都不行 → 再排查中继路由器本身是否能上网

可以再看下路由表是否已经改对:

iproute

应该变成类似:

default via 192.168.11.5 dev eth1 192.168.2.0/24 dev eth0 ... 192.168.11.0/24 dev eth1 ...

3. 容器里如何做“持久化”配置

这取决于你怎么启动容器的:

3.1 如果是 Docker,默认网络模式(bridge)

通常容器内部的 192.168.2.100 / 192.168.11.20 这种地址是你额外做了 macvlan 或 host 网络才会看到的。
常见几种情况:

  • --network host:那实际上你看到的是宿主机的网络配置,路由应该在宿主机上改,而不是容器里。

  • --network macvlan0/ 自建网络:网关应当在建网络时指定,如:

    dockernetwork create -d macvlan\--subnet=192.168.11.0/24\--gateway=192.168.11.5\-oparent=eth1 mynet

    然后用这个 network 启容器。

  • 如果你是通过某些编排(docker‑compose / k8s)指定了静态 IP,那么也要在对应 yml 里设置 gateway。

你可以把docker ps/docker inspect <容器>的网络配置贴出来,我可以按你实际环境给一套准确的配置方法。

3.2 如果容器是直接 chroot / LXC

那可能路由跟一个“轻量级系统”一样,用:

  • Alpine:/etc/network/interfaces或 openrc 的 net scripts
  • Debian/Ubuntu:/etc/network/interfaces或 netplan
  • CentOS/Rocky:NetworkManager / ifcfg

可以先看一下容器里是哪个发行版:

cat/etc/os-release

我可以根据这个告诉你要改哪一个配置文件、写什么内容来把默认网关改成 192.168.11.5。


4. 还需要确认的几个点(可以按顺序试)

  1. 宿主机能否从 192.168.11 段上网
    在宿主机上(不是容器):

    • ip addr看 eth1/IP 是不是和容器类似
    • ping 192.168.11.5
    • ping 8.8.8.8

    如果宿主机本身就上不了网,那是中继路由器/上游网络的问题,不是容器的问题。

  2. DNS
    当你能 ping 通 8.8.8.8,但ping www.baidu.com不行时,在容器里设定 DNS,例如编辑/etc/resolv.conf

    nameserver223.5.5.5 nameserver8.8.8.8

    然后再试。


5. 总结你现在最应该做的操作

在容器里立刻尝试:

ping-c4192.168.11.5# 确认中继路由器可达iproute del default# 删除原来的 default via 192.168.2.1iprouteadddefault via192.168.11.5 dev eth1ping-c48.8.8.8ping-c4www.baidu.com

把这三步的输出贴出来(特别是ping 192.168.11.5ip route之后的结果),我可以帮你继续分析:

  • 是中继路由器没网
  • 还是容器网络模式/路由没配对
  • 或者还存在 NAT/DNS 其他问题。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 9:06:34

如何用FSMN VAD做电话录音分析?尾部静音阈值调节指南

如何用FSMN VAD做电话录音分析&#xff1f;尾部静音阈值调节指南 1. FSMN VAD&#xff1a;轻量高效的语音活动检测利器 你有没有遇到过这样的问题&#xff1a;手头有一堆电话录音&#xff0c;想快速找出其中的通话片段&#xff0c;但人工听一遍太费时间&#xff1f;或者在做语…

作者头像 李华
网站建设 2026/5/10 17:19:00

Plan Mode:在执行前安全探索和规划

Plan Mode&#xff1a;在执行前安全探索和规划核心观点&#xff1a;Plan Mode是Claude Code中最被低估的功能。在做出大的改动前&#xff0c;用Plan Mode进行只读探索&#xff0c;能避免80%的后悔决策。 关键词&#xff1a;Plan Mode、只读模式、复杂决策、架构设计、风险评估、…

作者头像 李华
网站建设 2026/5/10 18:59:00

ERNIE 4.5-VL大模型:424B参数如何变革多模态?

ERNIE 4.5-VL大模型&#xff1a;424B参数如何变革多模态&#xff1f; 【免费下载链接】ERNIE-4.5-VL-424B-A47B-Base-Paddle 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-VL-424B-A47B-Base-Paddle 导语&#xff1a;百度最新发布的ERNIE 4.5-VL-424B…

作者头像 李华
网站建设 2026/5/10 18:58:59

PowerTool:Windows系统性能优化神器完整使用手册

PowerTool&#xff1a;Windows系统性能优化神器完整使用手册 【免费下载链接】ViVeTool-GUI Windows Feature Control GUI based on ViVe / ViVeTool 项目地址: https://gitcode.com/gh_mirrors/vi/ViVeTool-GUI 您是否曾为Windows系统运行缓慢而烦恼&#xff1f;想要一…

作者头像 李华
网站建设 2026/5/9 19:03:02

DeepSeek-Coder-V2:免费开源的AI编程效率神器

DeepSeek-Coder-V2&#xff1a;免费开源的AI编程效率神器 【免费下载链接】DeepSeek-Coder-V2-Lite-Instruct 开源代码智能利器——DeepSeek-Coder-V2&#xff0c;性能比肩GPT4-Turbo&#xff0c;全面支持338种编程语言&#xff0c;128K超长上下文&#xff0c;助您编程如虎添翼…

作者头像 李华
网站建设 2026/5/10 9:23:36

DeepSeek-VL2:3款MoE模型如何提升图文交互效率?

DeepSeek-VL2&#xff1a;3款MoE模型如何提升图文交互效率&#xff1f; 【免费下载链接】deepseek-vl2 探索视觉与语言融合新境界的DeepSeek-VL2&#xff0c;以其先进的Mixture-of-Experts架构&#xff0c;实现图像理解与文本生成的飞跃&#xff0c;适用于视觉问答、文档解析等…

作者头像 李华