一篇讲清楚蘑菇视频:网络适配的“优先级规则”,搞懂就不乱了

蘑菇视频 主题宇宙 94

一篇讲清楚蘑菇视频:网络适配的“优先级规则”,搞懂就不乱了

一篇讲清楚蘑菇视频:网络适配的“优先级规则”,搞懂就不乱了-第1张图片-蘑菇视频下载 - 官方APP免费安装入口

很多人在笔记本插上网线后发现流量还走着 Wi‑Fi,或者连上 VPN 后某些流量还是走本地网络,常常搞不清楚哪里出了问题。网络适配器之间的“优先级规则”(通常表现为路由和接口的 metric/顺序/DNS 优先级)才是幕后主角。把这些概念弄明白,网络就不再“任性”——下面把关键概念、常见场景和实际操作都讲清楚,按平台给出可直接执行的办法。

一、先搞清楚:什么是“优先级规则”?

  • 默认路由(default gateway):当目标地址不在本地子网内,系统会使用一条默认路由把流量发出去。如果有多条默认路由,系统按“优先级”选择。
  • metric(或称路由/接口度量值):数值越小表示优先级越高。系统会选择 metric 值最低的路由/接口来发包。
  • 绑定顺序 / 服务顺序(某些系统对 DNS/服务有额外优先级):比如 macOS 的“服务顺序”决定哪个接口优先用于 DNS 查询或拨号。
  • DNS 顺序:有时多个接口或 VPN 提供不同的 DNS,解析顺序也会影响结果。 要点:低 metric 赢,明确设置比靠“自动”更可控。

二、常见场景与问题举例(对应解决思路)

  • 场景:插网线后流量仍走 Wi‑Fi → 检查接口 metric,适当把以太网 metric 设为更低。
  • 场景:连上公司 VPN,但部分流量不走 VPN → VPN 客户端可能没有修改默认路由或 metric;需调整 VPN 的路由策略或添加静态路由。
  • 场景:多网络(有线、无线、手机热点)互相冲突 → 为不同连接设置明确 metric 或服务顺序;必要时创建持久路由。
  • 场景:某个应用必须通过特定网卡 → 在 Windows 可用 ForceBindIP / 代理;在 Linux 可用 network namespaces;在 macOS 可用应用级代理 / SOCKS。

三、实操:按平台设置优先级(可复制执行) Windows

  • 查看接口和 metric:
  • PowerShell: Get-NetIPInterface
  • 旧命令: route print
  • 设置接口 metric(示例把以太网设为 10,Wi‑Fi 为 20):
  • GUI:控制面板 → 网络和 Internet → 网络连接 → 右键适配器 → 属性 → IPv4 → 属性 → 高级 → 取消“自动度量”,手动填写“接口度量值”。
  • PowerShell(管理员):
    • Get-NetIPInterface 先确认 InterfaceIndex;
    • Set-NetIPInterface -InterfaceIndex 4 -InterfaceMetric 10
  • netsh(也可):
    • netsh interface ipv4 set interface "Ethernet" metric=10
  • 查看路由表与默认路由:
  • route print 或 Get-NetRoute

macOS

  • GUI(最直观):系统偏好设置 → 网络 → 左下齿轮(…)→ 设置服务顺序,拖动把优先用的接口放前面。
  • 命令行:
  • 查看服务顺序:networksetup -listnetworkserviceorder
  • 设置服务顺序:networksetup -ordernetworkservices "Ethernet" "Wi-Fi" "Bluetooth PAN" (按需要列出顺序)
  • 查看路由:netstat -rn 或 route get 8.8.8.8

Linux(以常见发行版为例)

  • 临时查看/修改:
  • 查看路由:ip route show
  • 查看某目标走哪个接口:ip route get 8.8.8.8
  • 临时添加默认路由并带 metric:sudo ip route add default via 192.168.1.1 dev eth0 metric 100
  • NetworkManager(常见桌面管理器):
  • 设置连接的 route metric:nmcli connection modify "Wired connection 1" ipv4.route-metric 100
  • 重新激活连接:nmcli connection up "Wired connection 1"
  • systemd-resolved / netplan / ifupdown 各有配置方式(可根据发行版把 metric 写进对应配置文件)
  • 持久路由请在网络配置里写入,不要仅用临时 ip route add

四、DNS 优先级与解析问题

  • 多个接口同时存在时,系统可能同时有多个 DNS 服务器条目,解析顺序影响域名解析结果。
  • Windows:可在适配器 IPv4/IPv6 的高级设置中设置 DNS 服务器和顺序;也可以使用 netsh winsock reset 或 ipconfig /flushdns 排查。
  • Linux(systemd-resolved):使用 resolvectl status 查看每个接口的 DNS。NetworkManager 可以设置 “ipv4.dns-priority” 或在连接中指定 DNS。
  • macOS:服务顺序决定 DNS 查询先从哪个接口的 DNS 服务器开始。

五、验证与排错小技巧

  • 确认哪个接口在发包:
  • Windows: route print、Get-NetRoute、tracert 目标
  • Linux: ip route get 目标、traceroute
  • macOS: route get 目标、traceroute
  • 测试 DNS:nslookup/ dig(指定服务器)看是否解析到想要的结果。
  • VPN 问题:连上 VPN 后用 ipconfig /all(Windows)或 ip addr/route(Linux/macOS)确认默认路由是否被 VPN 覆盖;查看是否启用了“使用远程网关(use default gateway on remote network)”或类似选项。
  • 若改了设置无效,重启网络服务或断开重连通常能清除旧路由缓存。

六、进阶技巧(按需使用)

  • 持久化静态路由:Windows 可用 route add -p 或在路由表配置里加入持久条目;Linux 写入网络配置文件或使用 Netplan。
  • 应用级路由:在 Windows 上使用 ForceBindIP 强制某应用绑定到指定网卡;在 Linux 上可以用 network namespaces 或 ip rule + ip route 配合策略路由实现按进程/用户分流。
  • Docker/虚拟化:容器或虚拟机通常有独立网络命名空间,注意它们的默认路由和主机的路由不会自动一致。
  • IPv6:同样有 metric 概念,别忘了同时检查 IPv6 的路由优先级。

七、快速检查清单(按此排查常见“乱”)

  1. 确认当前有哪些接口:查看接口列表和状态。
  2. 查看默认路由和各路由的 metric。
  3. 把你希望优先的接口 metric 设为更小的数值(例如:以太网 10、Wi‑Fi 20,VPN 5)。
  4. 检查 DNS 顺序和解析是否符合预期。
  5. 若需按应用分流,考虑应用级工具或使用网络命名空间/代理。
  6. 测试并重启网络服务/断开重连,确保配置生效。

结语 网络适配器的“优先级规则”看起来有点抽象,但核心只有两点:默认路由和 metric(数值越小优先),再加上 DNS 顺序和平台各自的服务顺序。把这些概念弄清楚并按需调整设置,绝大多数“连上网但不走期望网络”的问题都能迎刃而解。按你用的平台选对应的方法改一遍,遇到具体情形可以把相关命令输出贴过来,我再帮你看哪儿出问题。

标签: 一篇 讲清楚 蘑菇

抱歉,评论功能暂时关闭!