Featured image of post 配置Surge网关接管家庭网络,让老旧Mac也能成为Homelab

配置Surge网关接管家庭网络,让老旧Mac也能成为Homelab

Mac + Surge = Homelab Mini

前言

前言的前言

此篇文章的图片以WebP格式托管在中国大陆的服务器上,WebP格式可以以很小的体积展示出惊艳的显示效果。这极大地减轻了您的设备的加载负担。我们已经尽最大努力保证您的访问体验。

本篇博客也是一个测试项目。

进入正题

由于疫情隔离在家很是无聊,突然在压箱底儿找到了个屏幕坏掉的Macbook。经过在🍟整点薯条群组内的灵魂交流,突然灵感迸发。调试了一段时间很是满意。下面我将会介绍我是如何利用 Surge for Mac 这个 SUPER POWERFUL 的代理软件优化我家里的网络,以及遇到的一些困难,并且我是如何解决的。

我准备了什么

U5fu6M.webp

我的部署方案

因为我们是想让这台旧Mac作旁路由, 所以直接将Mac连到路由器上就OK。

  • 我的MacBook屏幕是坏掉的,所以在初次部署的时候会有很多困难!
  • 为了方便以后操控电脑,我推荐使用Apple官方推出的VNC工具:Apple Remote Desktop
    • 这个工具超级超级好用,延迟很低很丝滑。
    • 别看到价格就劝退,要勤于Google。

Surge网关

相信看到我这篇文章的你已经是一位 power user of Surge。所以我们不对具体细节进行介绍。

在有显示器的条件下操作:

  • 去官网获取free trial安装包
  • 倒入配置
  • MacOS仅在熄屏时才会开启VNC通道,所以你需要将其熄屏才能脱离显示器操作。
  • 记得关闭所有电池选项
    • 低电量模式选择 永不
    • 点击右下角的选项...,请按下图设置:
U5JKFF.webp

在VNC上操作:

把电脑和路由器连接好后:

  • 进入Surge主界面,按照指引开启Surge的DHCP服务器。
  • 网络设备选择:Ethernet
  • 根据指引关闭路由器的DHCP服务器。

推荐观看这个视频,了解更详细的Surge部署技巧,本文不作详细介绍。


增强内容

Surge远程控制器

  • 我们可以在Surge主界面 -> 更多 -> 通用 -> 远程控制器 内设置。
  • 然后在Surge iOS内,通过UI操作控制你的Surge网关。
  • 出门在外怎么办?自行google搭建FRP

Web Dashboard

  • Surge for Mac 提供了一个网页管理面板,这个面板可以比远程控制器操作更多内容。
  • 同样在Surge主界面 -> 更多 -> 通用 -> 远程控制器 内设置。
  • 出门在外怎么办?自行google搭建FRP

MitM

  • Surge网关可以作为一个amazing MitM Tool,我们需要先给想要被MitM的设备安装与网关相同的根证书。

    • 这里我推荐使用Airdrop安装(因为他不需要多余的步骤,直接就可以安装)。
    • Apple TV可以借助Surge网关的MitM功能,运行脚本为流媒体开启双字幕。这里不详细介绍。(因为我没有Apple TV!)

我遇到的问题和解决办法

  • 在Surge网关下观看YouTube会变得超级无敌慢,目前探索出了以下影响因素:
    • 模块:Block HTTP/3 & QUIC
      • 如果有类似问题的可以试试反复开关这个模块,观察是否有变化。
    • 规则:AND,((PROTOCOL,UDP), (DOMAIN-SUFFIX,googlevideo.com)),REJECT-NO-DROP
      • 这曾是老刘在推特力推的规则,但我观察到我的问题出现在这条规则上。
      • 同样的,如果有类似问题的可以试试反复开关这个模块,观察是否有变化。
    • 参数:udp-policy-not-supported-behaviour = REJECT
      • 援引官方文档:
如果没有代理服务器支持 UDP 转发,可修改为「 direct 」或注释下条,但需注意同一目标主机名 TCP 请求与 UDP 请求的源地址不同所造成的隐私及安全风险。

这些问题显然都与UDP有关,如果还有问题出现,请自检本地或者咨询代理提供商。


NAS Mini

TimeMachine

  • 在同一个局域网下,你的另外一台Mac上的Finder -> 位置 应该会显示作为Surge网关Mac的名称。
  • 打开 TimeMachine设置 -> 添加备份磁盘.. ,Mac会自动检索到备份位置。
  • 这里有两个位置即两个注册用户,我们以 tutu 为例。 截屏2022 12 09 上午9.30.15
  • 输入密码。这里的密码即为tutu用户的锁屏密码。 U5JOOd.webp
  • 输入密码之后就会自动配置时间机器,我们等待即可。

常见问题

  • 如果你的被备份电脑开启了Surge而显示连接失败,请尝试在Surge配置文件增加:
tun-excluded-routes = 239.255.255.250/32
  • 239.255.255.250/32是组播地址,如果在连接VNC出现问题,也应尝试配置该参数。
  • 如果你嫌备份太慢,这是因为 MacOS 本身对其进行了限流的措施, 使用以下命令解除限制:
sudo sysctl debug.lowpri_throttle_enabled=0
  • 推荐第一次备份结束后重新开启限流,以免出现硬盘读写高占用影响正常使用的情况。
sudo sysctl debug.lowpri_throttle_enabled=1

Docker

MacOS可以完美运行Docker,所以运行一些脚本,搭建私人影音库等等NAS能做的事他也能做到。

安装

  • 我们首先需要连接SSH,我这里使用NextSSH为例,FinalShell同理。 U5JNfH.webp
    • 地址为Surge网关在内网中的地址,你的可能和我不一样。
    • 端口填写默认的22端口,如果使用FRP工具,我不建议在公网暴露22端口。
    • 密码即为锁屏密码。
  • 我们使用homebrew安装docker
brew install docker
  • 什么?你还没有homebrew?
/bin/bash -c "$(curl -fsSL https://raw.iqiq.io/Homebrew/install/HEAD/install.sh)"

使用

  • 和其他系统一样,我们可以通过命令行控制docker。不过MacOS提供了一个图形管理界面(就是一个app)。
  • 自己折腾吧!

后记

欢迎加入我的telegram交流群:图图の翻斗後花園

  • 本文只是提供一种思路,所有项目均为学习和研究目的,不得将本项目中任何内容用于违反国家/地区/组织等的法律法规或相关规定的其他用途。
  • 所有直接或间接使用本项目的个人和组织,应24小时内完成学习和研究,并及时删除本项目中的所有内容。如对本项目的功能有需求,应自行开发相关功能。
Licensed under CC BY-NC-SA 4.0
Last updated on Apr 02, 2023 19:50 +0800
Supports IPv6, HTTP/3, TLS 1.3 & DNSSEC