求问移动网络翻回家里网络的正确姿势

2022-02-11 12:07:57 +08:00
 szsgz
科学了那么久一直没搞懂怎么才能正确从外面手机移动网络接回自己家的局域网。
设备:iPhone 12/R4S
公网 IP: 有

希望用上的场景:
1.在外面可以手机投屏到家里房间的 Apple TV ,比如提醒孩子该休息眼睛了,之类;
2.在外面可以使用家里的打印机;在外面可以直连家里的其他设备包括路由器,NAS 等;
3.在外面使用家里的网络设置,包括 Openwrt 里的科学 /ADG 等现成的设置。

已经一知半解的解决方案:
openwrt 中的科学插件开启‘服务端’,使用 socks5 协议,IOS 端使用小火箭全局连接。这个方法好像只能实现场景 3 的功能,但是实测无法直接访问内网中的设备,不知道是哪里没有做对。

ZeroTier 等穿透工具,没试过不过好像要 IOS 端下载另外的 APP 实现。

有没有直接用小火箭或者手机自带的网络设置就可以实现三个场景的方案呢?
11522 次点击
所在节点    宽带症候群
59 条回复
850521109
2022-02-17 20:04:38 +08:00
@cctrv 主要是没有公网 ip
blackmao
2022-08-14 13:38:35 +08:00
推荐个机场 https://xflash.pro
wangweitung
2022-08-24 21:41:51 +08:00
@photon006 这个很好啊,但是我有一个问题。

在主路由( 10.10.10.1 )下,我用 ubuntu ( 10.10.10.205 )装了 docker 版 wg-easy ,手机连接后我可以访问主路由下的其他设备(如 10.10.10.204 ),但是我不能通过内网 ip 访问 ubuntu ( 10.10.10.205 )及装在上面的 docker 服务。是哪里设置错了嘛?
photon006
2022-08-25 09:05:40 +08:00
@wangweitung 参考这样呢:

docker run -d \
--name=wireguard \
-e WG_HOST=vpn.example.com \
-e WG_PORT=38293 \
-e PASSWORD=password \
-e WG_DEFAULT_DNS=10.10.10.1 \
-e WG_DEFAULT_ADDRESS=10.10.1.x \
-e TZ=Asia/Shanghai \
-v /opt/wireguard/wg-easy:/etc/wireguard \
-p 38293:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy

WG_HOST 可以配你的公网 ip 或者 ddns 域名。

openwrt 开启端口转发把 38293/udp 隐射到公网,浏览器登录: http://10.10.10.205:51821 管理客户端,手机扫码连接测试。

如果没有公网 ip 可以用 vps 公网 ip ,用 frp 把 38293/udp 内网穿透到公网照样使用,不过所有流量经过 vps 中转,没有公网 ip 直连速度快。
wangweitung
2022-08-25 09:23:49 +08:00
@photon006 我就是这么设置的。我的 docker 命令如下:
```
sudo docker run -d
--name=wg-easy
-e WG_HOST=123.com
-e PASSWORD=12345a
-v ~/.wg-easy:/etc/wireguard
-p 51820:51820/udp
-p 51821:51821/tcp
--cap-add=NET_ADMIN
--cap-add=SYS_MODULE
--sysctl="net.ipv4.conf.all.src_valid_mark=1"
--sysctl="net.ipv4.ip_forward=1"
--restart unless-stopped
weejewel/wg-easy
```
已经可以连接,可以正常使用。

docker 跑在我局域网的 10.10.10.205ip 的 server 上,我手机连上后,无法访问 10.10.10.205 上的其他服务。
photon006
2022-08-25 10:11:17 +08:00
@wangweitung 加上 dns 试试,没有特殊设置就是你的主路由 ip:10.10.10.1 ,用了 adguardhome 就要改成 adguardhome 所在 ip 。
wangweitung
2022-08-25 10:15:59 +08:00
@photon006 加了 DNS ,是 10.10.10.1 。没有用 adghome 。
photon006
2022-08-25 11:38:32 +08:00
@wangweitung 检查 10.10.10.205 上的服务是否监听的 0.0.0.0 ,手机不方便可以用电脑版 wireguard 测试,telnet 检测端口是否通。
wangweitung
2022-08-26 22:20:20 +08:00
@photon006 我想了下,我的需求可能是:从 docker 访问宿主机
找了个教程,还没看明白。。。。
https://jingsam.github.io/2018/10/16/host-in-docker.html
wangweitung
2022-08-27 11:34:39 +08:00
@photon006 可以这么解决,手机连接 docker 的 wg-easy 后,使用 docker 的 ip+端口访问同一个宿主机的其他 docker 服务即可。
xiaoxiannv
2022-11-29 10:25:13 +08:00
@jtshs256 没理解把投屏换成用 HomePod 吼就简单多了这句话是什么意思。请问想异地控制 homepod 有什么优雅的方案吗?
xiaoxiannv
2022-11-29 10:27:19 +08:00
@xhcnb 求解如何让 mdns 广播数据包跨 vpn ?
xhcnb
2022-11-29 10:57:27 +08:00
@xiaoxiannv 要看你使用的 vpn 是什么, 可以搜索一下关键字 mdns reflector + vpn 类型, 默认情况下一般 vpn 都不允许广播数据包的
xiaoxiannv
2022-11-29 11:12:59 +08:00
@xhcnb 牵涉到 mDNS reflector 的话还是麻烦…路由器那头好弄,iOS 这头的客户端没 TAP ,也不知道哪些支持 mDNS-SD 的。
xiaoxiannv
2022-11-29 11:13:11 +08:00
@xhcnb 毫无头绪
rhaegarlai
2023-07-18 17:33:36 +08:00
@xiaoxiannv 所以你最后怎么解决
@zshstc 你解决到投屏的问题吗,mdns 转发这个才是最难的点
szsgz
2023-07-19 13:23:53 +08:00
@rhaegarlai #56 我已经放弃了
xiaoxiannv
2023-07-25 23:00:43 +08:00
@rhaegarlai 弃了
tywg001
2024-04-02 16:43:57 +08:00
用 wg 加 udp-proxy-2020 可以实现内网 upnp,就可以 dlna 投屏,我现在就是这个在外面听内网 dlna 服务器的歌

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

https://yangjunhui.monster/t/833163

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

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

© 2021 V2EX