探索未知,记录点滴

Surge for Mac之网关模式的妙用

Spread the love

购买Surge for mac一个半月了,给我的感受和体验简直完美,目测是2018年度我用过的最佳软件了。在使用过程中,感受到了规则分流带来的好处以及各种强大的功能。今天重点想要大家分享一下Surge for Mac之「网关模式」。

tg交流群:Newlearnerの水群

surge入门篇:传送门

《Surge for Mac之网关模式的妙用》

网关是什么

网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

《Surge for Mac之网关模式的妙用》

通俗来讲,网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。

Surge的网关模式

  • 家庭内网实现效果

(图片来自网络)

《Surge for Mac之网关模式的妙用》

如图所示,家宽从光猫进入到无线路由器处,Lan口分出两条线分别连接MacBook Air和交换机。交换机连接ps4、Apple TV、nas和安卓电视四个设备,Macbook、iPad、iPhone和MacBook Air连接WiFi。其中MacBook Air是我们使用Surge作为网关的设备,开启增强模式之后DNS为198.18.0.2。可以看到ipad、ps4以及apple tv用的是MacBook Air的网关(有的地方叫做路由器),同时采用了MacBook Air的DNS。那么这三个设备就可以享受科学上网的乐趣了(图中以绿色标出)。

  • 有何优点

1、不必购买能刷固件的路由,可以节省一笔钱。但是如果你用路由不仅仅为了科学上网,或者一直在用ssr/v2,请无视这条。

2、方便管理和监控,在Mac的Surge Dashboard上,可以看见所有经过该网关设备的流量情况。

3、先前版本中 Surge Mac 只支持以 HTTP/SOCKS5 代理方式向 LAN 内其他设备提供服务,但是代理方式有一些明显弊端,如:

  • 代理协议本身不支持 UDP;
  • 很多设备不支持配置代理;
  • 部分支持配置代理的设备,也有很多流量不走代理;
  • 部分设备走代理会出现连接异常断开的问题(如 Apple TV 和 PS4);

对于这些设备,最好还是以配置网关的形式去接管流量,macOS 10.13 后完善了 Kernel 的转发机制,使得 Surge Mac 也可以用来当做网关了,这简直是一个福音。

如何部署

  • 准备工作

家庭宽带、能用的路由器一只、mac一台、Surge for Mac软件(别想盗版了,不存在的)以及其他若干设备

  • 步骤

1、打开Surge for Mac,「设置为系统代理」—开启「增强模式」—选好你的代理。

《Surge for Mac之网关模式的妙用》

注:想要开启增强模式(enhanced mode),必须要在配置中指定好DNS,且会强制所有应用走surge tun接口,只代理tcp流量,不能代理udp和icmp。

2、操作你想要连接的设备,进入「设置」-「WLAN配置」,将获取ip的方式从自动DHCP改为手动,ip地址填写路由器网段当中未被占用的地址(可任意),子网掩码不变,网关(路由器)填写Mac的ip内网地址。

《Surge for Mac之网关模式的妙用》

《Surge for Mac之网关模式的妙用》

《Surge for Mac之网关模式的妙用》

主流设备如图,少了安卓因为站主从来没用过。详细步骤不赘述。

3、将WiFi的DNS服务器改为198.18.0.2,同surge的增强模式,强制所有流量走他的代理隧道。

《Surge for Mac之网关模式的妙用》

4、打开Surge Dashboard,看见“远程客户端”有设备的ip号,即为成功。这个时候拿起手机,享受路由器才能提供的无需内核代理即可科学上网的乐趣吧。

《Surge for Mac之网关模式的妙用》

总结与补充

个人认为Surge的网关模式相当于在主路由下面安装了一个二级路由(虽然网段不变),因此通过网关模式连接Mac电脑的设备由Mac统一管理,流量统一根据规则走,并且这些设备在主路由中只显示为一个设备。

当然关于网关的子设备设置,还有取巧的办法。登录主路由的管理界面,打开DHCP设置,将网关和DNS默认为Surge需要的值即可,这样一旦连接WiFi,自动成为Mac网关模式下的子设备,也非常方便。

《Surge for Mac之网关模式的妙用》

有Mac的朋友不妨体验一下,稳定性和效果非常好,确实可以省去一笔购置路由的钱。但是为了这个功能再去买Mac和Surge,那真的不如买群殴国度了~

在基础篇讲了可以用http代理的方式实现类似的功能,但是其弊端上文也讲到了,因此网关模式确实是个不错的家庭网络拓扑结构下的解决方案。

  1. Creolophus说道:

    感觉有点多此一举...订surge的钱不如买台路由器,而且你PS4就不翻墙了吗。。PS4上还能用Netflix当机顶盒看4K美剧。。

    1. Newlearner365说道:

      “Mac装win双系统是多此一举”既视感,抛开需求谈好不好都是耍流氓。不是人人都有玩ps4这种对nat类型要求严格设备的需求,普通人拿Mac做网关,硬路由做ap给家里的手机等设备用无可厚非。
      其次,surge的gateway模式简单易用,除了要配置dhcp之外。surge的fake-ip和rules方案至今在软路由平台上,只有一个koolclash能打的。
      所以我不赞成这是多此一举的做法,当然,选什么是大家的自由。

  2. 海天无影说道:

    缺点是还要将macbook一直开着…… :razz:
    我在这ios下 不通过局域网 热点就能共享vpn 不知道有没有方法啊

    1. Newlearner365说道:

      应该是无解的(叹气) :lol:

  3. jj说道:

    咨询下大佬,我们一个班大约有50个同学,如果同时需要翻墙,是否能够使用 surge 网关模式作为方案呢?

  4. ayumi说道:

    您好,咨询下
    surge用mac电脑做网关一定要有线连接的吗??我有2台苹果电脑,一台是macbookpro,一台imac,其中笔记本没网口的,台式机有网口,但放置的地方没布局网线接口一直用的wifi。那mac通过wifi使用surge能做网关吗?还是一定要连接有线才行??

    1. Newlearner365说道:

      您好,只需将您的 iMac 和 MBP 放置于同一个路由器 Wi-Fi 下,即可开启网关模式,网线是非必须的

  5. John说道:

    您好,感谢大佬的分享。如果哪天我有钱买个MAC一定回来看看。请问你对clash或者其他网关有没有一些理解呢

    1. John说道:

      读过了您关于shuttle的那篇文章,有没有更多windows教程呢

  6. S.C说道:

    您好请问一下Surge的网关模式能不能在iOS的设备上使用?在家里有一个7*24小时开机的iPad是不是也能实现文章中的体验?

  7. ChangeHow说道:

    我这边使用了 Surge 增强模式之后,除了网关的机器,其余都无法观看YTB视频,但是YTB视频中的静态资源是能够加载出来的,twitter 的 feed 流刷不出来

    1. hu说道:

      遇到了类似情况,关闭路由器的ipv6就可以了。

  8. amundsen说道:

    我觉得这个方案更好:光猫下连接一台7*24开机的mac mini作为家庭服务器,再连接交换机,交换机下再连接硬路由作为ap、nas、ps4等,这样岂不是对于各个终端的分流更方便

发表评论

邮箱地址不会被公开。 必填项已用*标注

Recommended
早就了解到现在大部分…