macOS 内外网共存方案:配置双网卡实现网络分流

在日常工作中,我们经常需要同时接入公司的内网与互联网。本文将介绍如何在 macOS 系统中通过配置双网卡,实现内外网同时接入,避免频繁切换网络接口的烦恼,提升开发效率。

1. 目标与网络环境

目的:实现电脑同时接入内网与互联网,提升工作流畅度。

网络环境

  • 内网:有线网卡
  • 外网:无线网卡(wifi)

2. 查看网络硬件接口

在终端执行以下命令,查看所有硬件端口及其对应的设备名:

shell 复制代码
networksetup -listallhardwareports

命令输出中可根据 Hardware Port 判断是 Wi-Fi 还是有线网卡,并记住对应的 Device 名称。例如,有线网卡为 en5,Wi-Fi 为 en0


3. 查看当前路由表

运行以下命令查看系统的路由表:

shell 复制代码
netstat -nr

输出示例:

字段说明:

  • Destination:目标网络地址
  • Gateway:网关(下一跳)
  • Netif:对应的网络接口

可看到默认流量会优先走 en0(无线网卡)连接外网。


4. 调整网络服务优先级

macOS 会根据服务顺序选择首选网卡,默认可能优先使用有线网络,导致无法访问互联网。

调整步骤如下

  1. 打开「系统偏好设置」 → 「网络」
  2. 点击左下角齿轮图标,选择「设定服务顺序」
  3. 将「Wi-Fi」拖至有线网卡之上
  4. 点击「完成」保存

更改应用后,再次检查路由表确认 Wi-Fi 是否已优先:

shell 复制代码
netstat -nr

5. 配置静态路由,实现内外网流量分流

虽然服务顺序已优化,但访问某些内网 IP 仍需通过内网网卡。这时可添加静态路由,实现精准流量分流。

方法一:通过网关添加路由

shell 复制代码
sudo route add -net 20.20.136.0 -netmask 255.255.255.0 20.20.136.1

说明:

  • 20.20.136.0:目标内网段
  • 255.255.255.0:子网掩码(CIDR /24
  • 20.20.136.1:内网网关地址

方法二:指定使用网卡发送数据

shell 复制代码
sudo route add -net 20.20.136.0 -netmask 255.255.255.0 -interface en5

这样访问该网段的流量将直接通过 en5(有线内网)发送。

如需删除该路由:

shell 复制代码
sudo route delete -net 20.20.136.0 -netmask 255.255.255.0

若添加时系统提示已存在,可先删除再添加:


6. 验证配置是否生效

可使用如下命令检查路由表:

shell 复制代码
netstat -nr

若设置成功,会看到指定网段通过 en5 发送的条目:

进一步验证某个具体 IP:

shell 复制代码
route -n get 20.20.136.88

输出中将显示接口为 en5

至此,macOS 下内外网共存配置完成,访问内网资源与互联网可同时进行,无需频繁切换网络。


参考资料

相关推荐
天蓝色的鱼鱼15 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping15 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙16 小时前
[译] Composition in CSS
前端·css
白水清风16 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix16 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户221520442780016 小时前
new、原型和原型链浅析
前端·javascript
阿星做前端16 小时前
coze源码解读: space develop 页面
前端·javascript
叫我小窝吧16 小时前
Promise 的使用
前端·javascript
NBtab17 小时前
Vite + Vue3项目版本更新检查与页面自动刷新方案
前端
天天扭码17 小时前
来全面地review一下Flex布局(面试可用)
前端·css·面试