想请教一下网络大佬们, Surge 的 Ponte 在 Apple TV 上内网穿透回家访问 NAS 没成功,是哪里出错了呢?

2 天前
 GabrielleBellamy

本人是网络相关的小白。最近因为把 Surge 升级到最新了,于是想尝试一下 Ponte 内网穿透,连接家里的 NAS ,但一点都没成功。我已经把站里大部分与 Surge Ponte 有关的帖子都看了一遍,也照着更改了几遍,但我的设备还是没法正常运行,请大佬支支招~

情况如下:

  1. 我有一个 Apple TV ,上面运行了 Surge ,设定了 Always On ,因此应该是不会断开的。
  2. 所有设备上都装有 Surge ,都是最新版本。
  3. Apple TV 上打开了 Ponte ,设置的类型为 NAT Traversal 。设置这个类型是因为我用 MacBook Pro 上的 Surge 检测了一下,可以支持 Full Cone NAT ,于是就选择了这个类型。其他类型我也都试过,都没成功。(没有公网 IP ,因此静态端口转发肯定不会成功)名称设置成了 appletv 。
  4. Apple TV 端使用了独立的配置文件,配置文件中不包含 IP-CIDR 到其他设备的规则。
  5. 同时,Apple TV 配置文件的开头,skip 的部分保留了192.168.0.0/16, 而在所有客户端上将这一条删去了。
  6. 在客户端上,设置规则IP-CIDR,192.168.0.185/24,DEVICE:appletv,放在配置文件较后的位置,具体位于 GEOIP,CN,"🎯 全球直连"FINAL,🐟 漏网之鱼的前面,彼此紧接着。192.168.0.185 是我家里网络里 NAS 的地址,这样写应该是没问题的吧?
  7. 接着我配置了各个设备端,然后想测试一下官网手册给出的用例,结果都失败了。其中,连接系统文件共享服务是用 MacBook Pro 作为服务器测试的,当然不出意外也是失败的。报错为“The operation couldn't be completed. Operation not supported”。在测试通过这个 Ponte 访问家中其他设备时,自然也是连不上。
  8. 我发现,当我在家里(服务器端)的网络下时,Ponte 诊断显示一切正常,只是提醒我在同一个网段下的时候 ponte 转发不会被激活。然而当我离开家、换成别的网络的时候,在 Surge 内的 Ponte 似乎也显示异常,诊断结果是“Surge on the remote device may not be turned on. (POSIX:61)”。这样来说其实还是没有成功打通的样子。

请问各位大佬们,我漏掉了什么步骤吗?或者路由器的什么设置需要我特别配置的?我没有公网 IP ,暂时就不考虑这个类型了(很多教程都是基于公网 IP 的,似乎更顺利一些)。谢谢谢谢🙏

1085 次点击
所在节点    Apple
20 条回复
tediorelee
2 天前
虽然我现在有公网 IP 了用的静态转发,但是之前一直用的 ponte 的 NAT Traversal 也用的好好的

看了下 OP 的描述,"skip 的部分保留了 192.168.0.0/16"这里我一般都没有在意过, 默认都包含了这个规则

"设置规则 IP-CIDR,192.168.0.185/24,DEVICE:appletv"按照你的 NAS 的 ip 地址是 192.168.0.185 的话是不是应该直接给整个网段都配置 ponte 的 DEVICE 规则?类似 IP-CIDR,192.168.0.0/16,DEVICE:appletv
我的配置是这样 IP-CIDR,192.168.0.0/16,GoHome,no-resolve ,同时 GoHome 这个规则组下:

[Proxy Group]
GoHome = select, DEVICE:HOMEMINI, DIRECT

最后你可以试试看手机流量下,访问 appletv.sgponte 能不能行?这个域名是 surge 内部直接解析到 ponte 设备的
Koma
2 天前
手机上 surge 的工具>远程控制器里应该可以看到 Ponte 设备,用数据流量测试一下能不能连接。
explorerproxy
2 天前
路由器端口转发设置了么
GabrielleBellamy
2 天前
@Koma 嗯,测试是一换网就出错,但同网没有意义🥹
GabrielleBellamy
2 天前
@explorerproxy 没有设置诶,因为没有公网 ip ,用静态端口转发会有端口出来,6208 端口。但 nat traversal 的设置里没有端口,该转发哪个端口呢?谢谢🙏
explorerproxy
2 天前
@GabrielleBellamy 比如

IPv4-tcp, udp
来自 所有主机 位于 wan
通过 所有路由 IP 在 端口 6000-7000
转发到 surge ip, 端口 6208 位于 lan
msdurex
2 天前
一般的 SD-WAN 可能有 4 个 VPN Tunnels 来保证稳定性,这个 Surge Ponte 用来做 SMB 可能不是很稳定。
stanasis
2 天前
路由器把 mac ip:6208 转发到外部端口 6208
Koma
2 天前
@GabrielleBellamy nat traversal 默认应该就是 6208 ,我的TV 用静态转发在路由设置把 6208 占了,Mac 的 nat traversal 离开外网就连不上了。
JMC95
2 天前
主要是需要路由器开 DMZ 或者端口转发

skip 这个部分先不用管,配置好先用 ponte 在外网环境诊断一下,看看什么情况

配置放的位置没问题,具体规则是
IP-CIDR,192.168.0.185/32,DEVICE:appletv
或者
IP-CIDR,192.168.0.0/24,DEVICE:appletv
GabrielleBellamy
2 天前
@explorerproxy #6 @stanasis @JMC95 谢谢🙏我试了试,果然可以在 surge 里通了。就是实际使用还是不通,我再找找原因,可能是不同的设置界面有些不一样。我再试试看~
@Koma #9 原来如此~
@msdurex 谢谢🙏
SakuraYuki
2 天前
@GabrielleBellamy http 6208 https 6209
JMC95
1 天前
@GabrielleBellamy 通了理论上就能转发了,实际使用不行就去看最近请求,规则按照我给你的改了吗?不行的话截图请求日志看看
GabrielleBellamy
1 天前
@JMC95 已经全部通了~我把过程写在附言里了~谢谢大佬!👍🙏
SakuraYuki
1 天前
proxy group 这步其实可以省略,只要把相关的 rule 放在 rule list 最前面保证域名不被外部 dns 解析或者 ip 不走 ip-cidr 之类的规则就行了
GabrielleBellamy
1 天前
@SakuraYuki #15 谢谢~🙏我试过,好像没用。如果把相关 rule 放在前面,surge 会提醒你,IP-CIDR 类型的规则不能放在巴拉巴拉的前面,建议用户移到底部。至于解析的问题,加了 no-resolve 和不加对我似乎没区别,都不通。最后通的是因为全局+proxy group 。也许不同的配置不太一样,我看站里确实有人加了 no-resolve 就好了,但也有像我一样加了也没用的。
liuleisail
1 天前
路由 udp 放行
xpn282
14 小时 28 分钟前
个人觉得:
1 ,如果 Surge 的接管模式是默认的话,那就和 skip 没什么关系,可以无视这个选项。
2 ,我觉得是你的规则有问题,而不是有无策略组的问题。因为你用全局模式的话,要使用 DEVICE:APPLETV 节点必须要有一个策略组才能指向 DEVICE:APPLETV 。所以你误以为一定要有策略组才行。

那么问题来了,为什么全局模式才行,为什么规则模式不行?那只能是你的整个规则有问题咯。真正完美的方案是用规则模式,只把回家内网的流量指向 DEVICE:APPLETV ,其他流量不需要先绕回家。
好好研究一下规则吧,配置最好是自己学会编写,不要用其他人的配置文件。
GabrielleBellamy
8 小时 32 分钟前
@xpn282 谢谢,确实是规则问题比较大。我后来又再加一条规则,特定软件和特定访问的流量走这个策略组,就和只加规则差不多了,不在全局下也能用,但效果上比全局慢。但这确实不是最简洁的版本。我规则确实很多,少说应该也有几千条,是一开始到现在不断累积的,肯定有一些相互冲突部分吧我想。
xpn282
6 小时 10 分钟前
@GabrielleBellamy
几千条规则是什么意思,你的规则是用规则集吗?规则集一般几条就够了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1102696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX