Surge Guide — 轻松访问家中的网络服务

Yachen Liu
Nov 8, 2016 · 3 min read

近期我开始写一些新手向的使用指引,介绍一些不常见的 Surge 使用方式。不定期更新。

相信各位在自己的家中都有一些长期联网的设备,在外出时可能需要访问,比如 NAS 等,通常有两个方式实现:

  1. 直接设置 NAT 端口转发
  2. 架设 VPN 服务器

方法 1 配置简单,但是问题在于直接将相应的服务暴露在公网上,安全性较低,且当增加服务时需要不断去维护转发表。

方法 2 配置起来比较麻烦,但是安全性高,连上之后可以直接访问内网内所有设备。但是 VPN 发动比较麻烦,对所处的网络也有一定要求。

利用 Surge iOS,可以做到无缝的远程安全访问内网设备。

首先我们需要做好以下准备:

  1. 内网中需要一个可以运行代理服务器的设备(如 RaspberryPi、路由器)
  2. DDNS 服务及客户端(DSM 可作为客户端,很多路由器也支持,服务推荐使用花生壳,老牌服务商一直很稳定,且个人使用免费)
  3. 一个可配置的域名

正式开始:

  1. 首先我们需要在内网建立一个代理服务器,由于大家都比较熟悉 ss-server,推荐使用,配置起来非常简单。具体按照配置方法可以参照其他教程。此处假设该设备 IP 为 192.168.1.4,端口号 8388。

2. 配置路由,将 8388 端口的 TCP 访问转发至 192.168.1.4 的 8388。

3. 配置域名指向设备的内网 IP,比如

diskstation.internal.home.yach.me -> 192.168.1.20

gen8.internal.home.yach.me -> 192.168.1.30

假设 DDNS 已经将公网 IP 对应到 home.yach.me

4. 配置 Surge 规则,首先加入相应的 Proxy 设置

[Proxy]
HomeProxy = custom, home.yach.me, 8388,……

然后,为了使的在内网中使用时,不再通过代理进行转发,可以使用 SSID Group。

[Proxy Group]
Home=ssid, default=HomeProxy, HomeSSID=DIRECT, HomeSSID2=DIRECT

最后加入相应的规则

[Rule]
DOMAIN-SUFFIX,internal.home.yach.me,Home,force-remote-dns

(鉴于大部分内网使用的服务使用的都是 raw TCP,请一定加上 force-remote-dns)

5. 搞定,启动 Surge。现在在任何地方访问 *.internal.home.yach.me 都畅通无阻了。

(注 1:不要使用 home.yach.me 这样的容易猜测的域名,有导致自己的公网 IP 暴露的可能性。)

(注 2:新版的 ss-server 使用的是内建的 DNS Client,且没有读取 /etc/hosts,导致无法手动配置域名映射,所以要求准备一个可配置的域名。如果用其他代理服务,那么其实不需要一个真正的域名。)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store