如何实现 iOS 小火箭可以同时访问家里局域网并且实现出国

2023-03-01 11:07:14 +08:00
 xpn282

家里移动宽带,有公网 IPv6 ,并且已经做了 ddns 绑定域名。 不想用端口转发的方式回家,因为 ddns+端口转发和模拟家里局域网还是有区别的。

现在想 iPhone 实现在外网访问家里的局域网( 192.168.x.x),并且同时可以出国。用过 zerotier ,但是开启 zerotier 了,家里局域网能访问,当就不能出国了。后来研究了 OpenWrt 开服务器+iOS 小火箭的方案,但是访问家里局域网不完美。

方案如下: OpenWrt 的 Passwall 开 Socks 服务器,然后 iOS 小火箭通过域名+端口的方式添加 Socks 服务器做节点,然后在小火箭的配置文件把 192.168.0.0/16 设为代理 proxy 。到此为止小火箭可以通过 Socks 服务器节点出国了,同时也可以在浏览器访问家里的路由器界面,浏览器访问家里的 alist 也可以,但就是不能用手机上的 nPlayer 之类播放器( smb 、webdav )访问,所以看不了视频。

这方案不够完美,不知道还有什么解决方案

10344 次点击
所在节点    Apple
69 条回复
xpn282
2023-03-01 20:38:34 +08:00
我找到了解决方案,重点在小火箭的配置文件。下面把总流程说一下:
1 ,把自己的公网 ip 绑定动态域名。
2 ,在 OpenWrt 的 Passwall 上服务器端开启 Socks 服务器。
3 ,在小火箭添加 Socks5 节点,地址就填动态域名,其他信息就填 Socks 服务器的信息即可,备注名随便填一个方便让自己识别的就好了。
4 ,重点就是小火箭配置文件。用默认的也可以,找其他更多分流规则的也可以。下面要修改一下配置文件,这是重点,在配置文件的“通用”里,分别在“跳过代理”和 tun 旁路路由”下把“192.168.0.0/16”删除。然后在配置文件的“规则”里添加一条规则,类型选 IP- CIDR ,策略选上面第 3 步添加的 Socks5 节点,不解析域名开启,地址填 192.168.0.0/16 。

这样修改后,访问局域网时就会通过 socks5 节点连接到家里的 Passwall 服务器上了,就可以访问所有局域网设备。至于小火箭主页的节点可以随便选其他的,不影响局域网访问!

最终实现的效果就是只用一个 vpn 工具(小火箭)同时解决了外网访问局域网段( 192.168.x.x )和国内外分流,使用体验像在家一样。
duduke
2023-03-02 10:10:43 +08:00
不懂,有 ipv6 不是随便访问吗?有啥不能操作的,为啥还要安装 zero ,反正我现在家庭局域网随便访问,用的 ng 反代,不知道你要搞成啥样的
mountainl
2023-03-02 10:36:26 +08:00
感谢分享,按照楼主方法成功了
summersun2021
2023-03-02 11:16:20 +08:00
有点不明白,我用的是端口转发,打开小火箭正常出国,有什么不同吗?
xpn282
2023-03-02 11:51:35 +08:00
@duduke
我不懂反代理是什么,作用是什么。。。
我的需求就是外网直接能访问家里的 192.168.x.x 地址,像在家一样,打开 192.168.2.1 就能进入 OpenWrt ,不需要每个设备都搞 域名+端口
xpn282
2023-03-02 12:00:18 +08:00
@summersun2021
域名+端口转发 和 vpn 异地组网还是有区别的。。
我的方式能在外面用流量直接对家里内网段 192.168.x.x 进行访问,hass ,infuse 等等 app 不需要另外添加域名+端口,就可以直接使用了,就像在家一样。甚至可以在外面投屏到家里电视机上。。
summersun2021
2023-03-02 13:42:48 +08:00
不过我严格按照你的方法来处理,可以出国但是内网访问不了,特别是第四部的步骤。(路由器 ip 是 192.168.6.1 )
summersun2021
2023-03-02 14:06:15 +08:00
第四点是严格进行,下面说下前三个步骤,还在路由开放了 1080 端口。看看有什么错误:

1 ,把自己的公网 ip 绑定动态域名。(已经绑定,能用域名访问本地路由)
2 ,在 OpenWrt 的 Passwall 上服务器端开启 Socks 服务器。(启用有双钩标志,就设置了个端口号 1080 ,SOCKS 节点设置和 tcp 一样,UDP 节点关闭)
3 ,在小火箭添加 Socks5 节点,地址就填动态域名,其他信息就填 Socks 服务器的信息即可,备注名随便填一个方便让自己识别的就好了。(修改了三个地方,分别是域名+端口+备注名)
xpn282
2023-03-02 14:25:41 +08:00
@summersun2021 你在小火箭上能使用 socks5 节点来出国吗?或者换个端口试试看?

第 4 步的“跳过代理”和“ tun 旁路路由”都有“192.168.0.0/16”的哦,都要删除哦
summersun2021
2023-03-02 14:43:37 +08:00
@xpn282 能出,2 个地方都删了。规则那也添加了 192.168.0.0/16
xpn282
2023-03-02 15:10:08 +08:00
@summersun2021 那我也不懂了。。。你试试小火箭全局代理看看,能不能访问局域网
summersun2021
2023-03-02 15:20:02 +08:00
嗯,也不行,算了,不捣鼓了。
xpn282
2023-03-02 15:34:32 +08:00
@summersun2021 有一些配置文件的”规则”里已经默认有 192.168.0.0/16
的规则,或者类似规则,一般都是默认直连了,你看看有的话,就不要自己添加 192.168.0.0/16 这个规则了,在原有的基础上修改为 socks 节点。

没成功一般都是局域网 ip 没被代理。。。不行的话,我也不知道了
goodryb
2023-03-02 16:28:14 +08:00
话说 socks5 直接暴露在公网上安全吗
之前也试过在 openwrt 上启用 server ,手机不管出国还是访问局域网都经过这 server 来转发,但总感觉这个速度会变慢,后来家里的服务都设置了端口转发,正常出国还是走小火箭。
szdosar
2023-03-02 16:54:42 +08:00
乐于探索,乐意分享,谢谢你。
xpn282
2023-03-02 17:09:49 +08:00
@goodryb 安不安全我也不知道,还有其他协议可以选择,比如 v2ray 什么的………

我的这个方案,只有局域网流量经过家里的 Passwall 的 socks5 服务器而已哦……其他流量是不经过的哦……其他国内外分流也还是由小火箭的配置文件决定,由小火箭主页选的节点决定哦
goodryb
2023-03-02 17:45:46 +08:00
@xpn282 #36 是的,分流的原理我是看明白了,只是我比较担心 socks5 的安全问题,搜索了下貌似只有账号和密码认证
xpn282
2023-03-02 18:02:53 +08:00
@goodryb 起码比动态域名+端口转发安全吧,,动态域名+端口转发可以直达设备的登入界面。。。。输入设备密码就可以访问了,比如路由界面,nas 界面。。这样是不是更不安全。。。

socks 服务器的话,要先破了 socks 后,才能达到各个设备的登入界面
,不知道我这样理解对不对。。。
systemcall
2023-03-04 00:13:35 +08:00
socks5 似乎是明文的
也许可以直接拿 v2ray 搭一个吧,v2ray 本身是支持这些功能的,用规则+代理链就可以了
xpn282
2023-03-07 10:13:20 +08:00
补充:一般配置文件的规则都带有“192.168.0.0/16”这个规则了,搜索找到这条规则,然后进行修改就可以,不需要重新添加这条规则了,不然会导致规则重复!如果配置文件里没有这条规则才需要重新添加!

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

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

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

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

© 2021 V2EX