前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mac 同时使用无线 Wi-Fi 和有线上网,解决内网外网一起访问的问题

Mac 同时使用无线 Wi-Fi 和有线上网,解决内网外网一起访问的问题

作者头像
Hopetree
发布于 2022-09-26 10:15:26
发布于 2022-09-26 10:15:26
7.8K00
代码可运行
举报
文章被收录于专栏:tendcodetendcode
运行总次数:0
代码可运行

最近到客户现场办公,遇到了一个问题,客户的环境在内网,需要使用网线链接,而且网络只能访问客户环境,无法上外网,这就导致非常不方便。经过一番查找和尝试,发现原来可以通过网络设置和路由设置,实现内网外网同时访问。

场景和方案

首先说一下目前的情况:

  1. 客户的环境是内网环境,需要访问的 ip 网段为 10.224.xx.xx
  2. 同时插入网线和开启 Wi-Fi 的时候,发现 Wi-Fi 根本没起作用,只能访问内网,无法访问外网

方案:

  1. 通过网络偏好设置,自定义网络使用的先后顺序,优先使用 Wi-Fi 上网
  2. 设置 route 给内网环境的网段添加指定路由,使得内网网段的访问走网线而不是 Wi-Fi
  3. 设置定时任务,解决每次重新插入网线需要重新添加路由的问题

网络偏好设置

首先进入网络偏好设置,拿到网线的路由器 IP 信息备用

然后点击网络列表下面的...点击“设定服务顺序”,按照需要将网外(这里是Wi-Fi)调整到最前面

到这里,网络设置就 OK 了,此时可以发现电脑可以正常访问外网了,但是内网是不能访问的,这是正常的,因为内网目前走的是 Wi-Fi,肯定无法走通。

添加路由

内网需要的是走网线,怎么走?当然是配置路由转发。

首先我们要知道内网需要访问的网段,还有网线的路由器 IP,前面已经都收集到了,这个时候我们只需要添加一条路由配置即可(使用 root 执行),例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo route add 10.224.xx.xx/24 10.225.xx.xx

其中 10.224.xx.xx 是 内网网段,10.225.xx.xx 是网线连接的路由器 ip

添加完成之后,再去 ping 一下内网 ip 就会发现已经可以通了,此时大功告成。

定时任务

虽然上面我们已经完成了内网外网同时访问,但是有个问题,就是当网线拔出来,再插进去,我们设置的路由就失效了,就需要重新添加路由,所以我添加了一个定时任务,定期检查内网是否通。

脚本很简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash
# 定期添加路由,避免网线拔出来要重新设置

destination=10.224.xx.xx/24
gateway=10.225.xx.xx
ip=10.224.xx.xx

function echo_exit() {
    echo $*
    exit 1
}

[ "$(id -u)" -ne 0 ] && echo_exit "请使用root用户执行脚本"

ping -c 3 -n ${ip}
if [ $? -ne 0 ]; then
    echo 'nok'
    echo "route add ${destination} ${gateway}"
    route add ${destination} ${gateway}
    echo 'set route ok'
fi

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处 本文链接:https://cloud.tencent.com/developer/article/2123584 许可协议:署名-非商业性使用 4.0 国际许可协议

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年7月13日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验