Support | 微信 & TG: @scomper

局域网其他设备共享上网

2018.05.03 10:28

Surge Mac 新版本支持网关模式,这给家庭和局域网用户带来了更便利的科学上网方式,同时也解决了家庭用户设备数量众多的 Surge 授权问题,只需要在一台电脑上安装好 Surge Mac 并启用「增强模式」,其他的设备都能顺畅的访问网络,iPhone、Apple TV、PS4 等等。

局域网内共享上网有两种方式,一个是以前所采用的 HTTP/SOCKS5 代理方式,一种是软路由的网关方式,前者无法处理 Apple TV、PS4 等设备很多流量不走代理的问题,后者就不存在这方面的困扰,而且配置也不复杂。为此更新了以前的这篇 《局域网其他设备共享上网》,补充了 Surge Mac 网关代理的部分。

不管是代理方式还是网关方式,配置的核心无非是围绕几个参数在进行设置:

  • 首先明确 Mac 主机的 IP 地址和 Surge Mac 工作状态(增强模式还是非增强模式)
  • 选择是按代理方式配置还是按网关方式配置,两者不要混在一起
  • 明确其他设备中需要填写的 IP 相关设置,如:IP 地址、网关地址、DNS 地址

HTTP 代理模式

Mac 上安装 Surge 后,局域网中的其他设备不用安装软件也可以访问 Twitter、Google 这类需要代理的网站,只需要简单的在 Wi-Fi 设置中添加一个 HTTP 代理即可。

图示 MacBook 和 iPhone 连接的是同一个 Wi-Fi 网络, 192.168.0.3 是 MacBook 的 IP 地址。Mac 上打开 Surge,iPhone 上只需要到 Wi-Fi 的设置(设置-无线局域网)中点击已经连接的 WiFi 右侧的 ⓘ,滑动到 WiFi 详细配置页的底部,选择 HTTP 代理-手动,输入 MacBook 的 IP 地址和代理地址端口即可。

针对 Wi-Fi 设置的 HTTP 代理是随着当前的 SSID 走的,切换到其他 Wi-Fi HTTP 代理这块默认是关闭的。
Surge Mac 的配置文件中,请确认包含 interface = 0.0.0.0 这一行,默认的端口是 6152 和 6153,如果想自定义端口可以加上 port = 8888socks-port = 8889


Surge Dashboard 的界面中可以在 Remote Clients 的列表中查看到已经连接的设备和访问情况,对于小型团队来说,这种共享的方式就能解决网络的访问问题,而且其他成员不需要购买软件或知晓密码。作为主机的 MacBook 只要不关闭其他成员就都能正常的访问。

Surge for iOS 同样可以共享代理给局域网的其他用户,设置方式和 Surge for Mac 一样。

  • 高级设置中启用「允许 WiFi 访问」,默认端口是 HTTP 6152,SOCKS 6153;
  • 通过Surge 分析中的「网络诊断」可以知道 iPhone 当前的 IP 地址(en0 IPv4);
  • 如果需要使用其他端口,同样是修改配置文件部分。

以上图为例,其他同一个局域网的设备,只需要在 Wi-Fi 设置中添加一个 HTTP 代理即可,如:10.0.1.44,端口号 8888.

Surge 网关模式

Surge Mac 2.6.0 版本以后,开始支持 Gateway,可以将安装有 Surge 的 Mac 电脑当成网关来使用(先前版本中 Surge Mac 只支持以 HTTP/SOCKS5 代理方式向 LAN 内其他设备提供服务),从而让其他设备通过它无障碍的访问网络,这也解决了以前 PS4 Pro 上 YouTube 的登录问题,Surge 终于可以当软路由来使用了。

macOS 中按住 ⌥ 键点击顶栏的 Wi-Fi 图标可以查看本机的 IP 地址,例如本例中作为网关的 Mac 的 IP 地址是 10.0.1.50。

  • macOS 升级到 10.13 或更新的版本;
  • 作为网关的电脑使用静态 IP 或者在 DHCP 中保量固定的 IP 地址;
  • Surge Mac 里启用增强模式;
  • 其他设备的网络设置中,手动设置 IP 地址(不使用 DHCP),将网关地址设置为 Surge Mac 设备的地址,DNS 地址修改为 198.18.0.2;

其他设备上设置好以后,可以在 Surge Mac 的 Dashboard 控制台中查看该设备的网络访问,例如下图所示中 PS4 Pro (IP:10.0.1.26)的访问 YouTube 的情况一目了然。

PS4 网络设置中「设定互联网连接 - 选择连接方式(Wi-Fi 或 LAN)- 定制」中「IP 地址设定 - 手动」填写 IP 地址和网关地址,PS4 自己的 IP 只要是和 MacBook 处于同一个网段的 IP 即可,网关地址填写 MacBook 的 IP,首选 DNS 填写 198.18.0.2。

同理设置 Apple TV 的 IP 地址,如下图所示,Apple TV 自己的 IP 手动设为 10.0.1.11,网关设为 Mac 的 IP 地址 10.0.1.50,DNS 设为 198.18.0.2。

为了便于理解附上一张家庭网络布局的图示,具体的家庭网络的分析可以阅读《宽带网络问题的分析》。

作为网关的 MacBook Air 通过无线和有线分享代理给其他网络设备,等于 MacBook Air 有两个 IP 地址都可以用,有线是 10.0.1.30,无线是 10.0.1.50,DNS 一样都是 198.18.0.2。建议通过有线将 MacBook Air 连接到网络,经过实验发现即便是启用 InsomniaX 这样的软件禁用合盖休眠,WiFi 还是可能会断开。

MacBook Air 上没有启用 Surge 的增强模式之前,网络设置中 DNS 的设置和其他设备一样是 10.0.1.1,启用增强模式后会变成 198.18.0.2。

Surge Gateway 模式不支持 Rewrite 等 HTTP 高级功能。

HTTP 代理模式虚拟机设置

Parallels Desktop 虚拟机中的 Windows 通过 Mac 主机共享上网在设置上也是同样的道理,区别在于相对与虚拟机而言,MacBook 的 IP 地址是和虚拟机处于同一个网段的 IP,所以我们需要做的是查出 Mac 主机在虚拟机中具体的 IP 地址,Macbook 上可以通过 iStat Menus 查看,或者使用 ifconfig 命令 ifconfig vnic0 在终端中查询(感谢 Jeanccccs 提供的命令行方法 )。

  • 选择「共享网络」的方式;
  • 在「代理」设置中填写 Mac 主机的 IP 地址和端口

Mac 终端下用 ifconfig 命令查看 PD 的虚拟网络接口,Windows 用 ipconfig 命令查看。虚拟机中填写的是 Mac 主机和虚拟机同一个网段的 IP,例如在 Mac 终端中输入 ifconfig 查到的 vnic0 的 IP 地址,将这个地址填写到虚拟机的代理设置中即可。

Parallels Desktop 针对虚拟机的具体配置中,选择「共享网络」的方式,虚拟机就能访问互联网,如果想升级虚拟机中的 Google Chrome 或者访问 Twitter,就需要在 IE 中设置代理。

Surge 网关模式虚拟机设置

HTTP 代理模式我们修改的是 Windows 网络设置中的「代理」部分的参数,如果是网关模式就不需要修改代理部分,代理部分保持默认的空白。网关模式只需要到「更改适配器选项」中改变 IP 地址和 DNS 地址。

  • Parallels Desktop 网络选择「共享网络」的方式;
  • Surge Mac 启用「增强模式」;
  • 在「以太网」设置中手动设置 IP 地址、网关和 DNS 地址。

调整 Windows 虚拟机的 IP 地址前,确认 Mac 主机上的 Surge Mac 已经启用,同时勾选了「增强模式」。

打开以太网的属性面板,

  • 首先可以通过「详细信息」查看一下虚拟机的 IP 地址,并记录下来,例如 10.211.55.3
  • 点击「属性」修改「Internet 协议版本 4(TCP/IPv4)」中的 IP 地址
  • 从默认的自动 IP 地址改为手动填写,10.211.55.3、网关 10.211.55.2,DNS 198.18.0.2

网关地址其实就是 Mac 主机和虚拟机处于同一个网段的 IP 地址,在终端窗口中通过 ifconfig vnic0 命令可查看。IP 地址的填写部分如下图所示,最后记得「确定」保存即可。

在虚拟机里打开浏览器访问 Google 试试看,Surge Mac 的控制台里能看到很多 10.211.55.3 的访问,这就说明网络配置是畅通的。


作为代理的 Mac 主机上,一些同样控制网络访问或 DNS 解析的应用可能和 Surge 冲突,例如杀毒软件、过滤广告的 AdGuard、网络封包分析工具 Charles 等。

禁止 MacBook 休眠的软件推荐 KeepingYouAwakeInsomniaX(推荐 brew cask install InsomniaX 方式安装,已经包含 2.1.8 的安全补丁),前者是单纯的禁用休眠(不合盖),后者支持合盖休眠但是长时间工作不利于散热。

Comments
Write a Comment