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 下内外网共存配置完成,访问内网资源与互联网可同时进行,无需频繁切换网络。


参考资料

相关推荐
小满zs1 小时前
React-router v7 第五章(路由懒加载)
前端·react.js
Aotman_1 小时前
Vue el-from的el-form-item v-for循环表单如何校验rules(二)
前端·javascript·vue.js
vvilkim3 小时前
深入解析TCP Keep-Alive机制:原理、作用与最佳实践
网络·网络协议·tcp/ip
在无清风3 小时前
Java实现Redis
前端·windows·bootstrap
耕耘虫4 小时前
解决 .Net 6.0 项目发布到IIS报错:HTTP Error 500.30
网络·网络协议·http·iis·net·静态文件·.net 6.0
_一条咸鱼_5 小时前
Vue 配置模块深度剖析(十一)
前端·javascript·面试
yechaoa6 小时前
Widget开发实践指南
android·前端
前端切图仔0016 小时前
WebSocket 技术详解
前端·网络·websocket·网络协议
JarvanMo6 小时前
关于Flutter架构的小小探讨
前端·flutter
Doris Liu.7 小时前
macOS取证分析——Safari浏览器、Apple Mail数据和Recents数据库
数据库·macos·缓存·sqlite·safari·电子数据取证·macos取证