V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zshstc
V2EX  ›  宽带症候群

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

  •  
  •   zshstc · 2022-02-11 12:07:57 +08:00 · 10166 次点击
    这是一个创建于 887 天前的主题,其中的信息可能已经有所发展或是发生改变。
    科学了那么久一直没搞懂怎么才能正确从外面手机移动网络接回自己家的局域网。
    设备:iPhone 12/R4S
    公网 IP: 有

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

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

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

    有没有直接用小火箭或者手机自带的网络设置就可以实现三个场景的方案呢?
    第 1 条附言  ·  2022-02-11 13:25:10 +08:00
    还有点没说清楚,就是尽量能用小火箭或者 ios 自带的 vpn 功能实现就最好了,如果要下载其他 app 太麻烦。。。
    第 2 条附言  ·  2022-02-16 10:01:27 +08:00
    说明下标题中的‘移动网络’是指的手机蜂窝网络,并不是中国移动运营商的网络。
    用的手机和家庭宽带都是中国电信的。
    59 条回复    2024-04-02 16:43:57 +08:00
    xlsepiphone
        1
    xlsepiphone  
       2022-02-11 12:08:34 +08:00 via Android
    tailscale
    Livid
        2
    Livid  
    MOD
       2022-02-11 12:18:07 +08:00 via iPhone
    Tailscale 里可以把家里的其他网段也暴露到 Tailscale 网络上。
    keepeye
        3
    keepeye  
       2022-02-11 12:19:51 +08:00
    vpn 的典型应用场景吧
    cvbnt
        4
    cvbnt  
       2022-02-11 12:25:37 +08:00 via Android
    OpenVPN
    cctrv
        5
    cctrv  
       2022-02-11 12:26:36 +08:00 via iPhone
    就是 VPN 。
    我以前用 OpenVPN 。然後 VPN 回家就可以透過有翻牆的寬帶翻牆上網了。

    大陸內到大陸的使用 VPN 是白名單的。所以也不會阻斷。

    只有大陸對境外的 VPN 會被阻斷。
    ltkun
        6
    ltkun  
       2022-02-11 12:27:38 +08:00 via Android
    openvpn 可以满足你所有要求 包括科学上网
    Lentin
        7
    Lentin  
       2022-02-11 12:42:11 +08:00 via iPhone
    你局域网估计放行了吧 设置一下 192.168 这个网段走代理就行,我是路由搭的 ss 回家的,可以访问 pc 的 rdp 服务之类的
    zshstc
        8
    zshstc  
    OP
       2022-02-11 13:01:27 +08:00
    @keepeye

    @cctrv

    @ltkun

    OpenVPN 是一个 app 是吧?
    软路由上能找到 openvpn-server 这个插件,那么 IOS 上要怎么使用呢?是要下载 APP 还是用小火箭?还是系统自带的 VPN 功能?
    zshstc
        9
    zshstc  
    OP
       2022-02-11 13:02:23 +08:00
    @Lentin 看了下科学插件的设置,没有吧内网 ip 设置为代理。
    小火箭端也是走的全局
    neilyoone
        10
    neilyoone  
       2022-02-11 13:57:13 +08:00
    蒲公英内网穿透啊
    比 DDNS + 端口转发 方便太多了
    gps949
        11
    gps949  
       2022-02-11 14:36:16 +08:00
    随着 tailscale 的出镜率越来越高,我感觉它在大陆快完了
    villivateur
        12
    villivateur  
       2022-02-11 14:41:24 +08:00 via Android
    wireguard 连回家,openwrt 上有现成的软件
    simplove
        13
    simplove  
       2022-02-11 14:53:05 +08:00
    ZeroTier 最好是有个中转 moon
    vmebeh
        14
    vmebeh  
       2022-02-11 14:55:57 +08:00 via iPhone
    wireguard
    yongboy
        15
    yongboy  
       2022-02-11 15:22:44 +08:00
    若宽带 ISP 提供了公网 IPV6 ,那就可以在 OpenWRT 路由器拨号,并使用 DDNS 绑定上域名,然后开启 IPv6 OpenVPN ,移动手机上 4G 自动支持 IPv6 网络。
    zhangxudong
        16
    zhangxudong  
       2022-02-11 15:44:19 +08:00
    @cctrv 小姐姐销声匿迹好久了啊
    xhcnb
        17
    xhcnb  
       2022-02-11 15:46:28 +08:00
    有公网 ip 就使用 lt2p/ipsec vpn, ios 系统可以直接添加 vpn 配置就可以了
    需特殊处理的是 场景 1 需要让 mdns 广播数据包跨 vpn, 不然你用手机 vpn 之后无法发现 apple tv
    Lentin
        18
    Lentin  
       2022-02-11 16:03:02 +08:00 via iPhone
    我直接用 opkg 的源装的 ss ,楼主可以试试
    opkg install luci-app-shadowsocks-libev
    fastcache
        19
    fastcache  
       2022-02-11 16:20:48 +08:00 via iPhone
    Ovpn 稳如狗
    sxcsfan
        20
    sxcsfan  
       2022-02-11 17:11:28 +08:00
    投屏需要跨网段转发 mdns ,如果是 openwrt 的话装一个 avachi 把 reflector 打开
    SenLief
        21
    SenLief  
       2022-02-11 17:34:44 +08:00 via iPhone
    现在一般用 wg 了
    photon006
        22
    photon006  
       2022-02-11 17:35:44 +08:00
    wireguard: https://github.com/WeeJeWel/wg-easy , 一行 docker 命令部署。
    ik
        23
    ik  
       2022-02-11 19:42:24 +08:00 via iPhone
    也不知道为什么楼上都是推荐 vpn 的, 既然有小火箭, 肯定是 v2ray ss http socks 这类代理优先的。 我看你的方案是可行的,但是为什么访问不了可能得排查一下,1. 测试 socks 代理是否能正常联通。2. 确定小火箭的路由规则, 访问内网是不是走了家里的代理。
    ik
        24
    ik  
       2022-02-11 19:51:21 +08:00 via iPhone
    @ik 哦 我知道了 投屏 和打印 可能确实需要 vpn
    datocp
        25
    datocp  
       2022-02-11 20:17:15 +08:00 via Android   ❤️ 1
    。。。
    用 openwrt
    Opkg update
    Opkg install softethervpn

    哎,有公网 softether 是最无敌的,所有的链路全程掌握在自己手里。既是服务器端又是客户端,一个进程连通一切。
    用途 1 在外面通过手机 l2tp 连回家内网
    用途 2 家里通过 softether 的 l2 桥接借道公司移动专线连到搬瓦工 vps,将这个接口和 wlan 连接。家里的 wifi 直接全局出墙,平时就看 youtube
    用途 3 用 3 层路由模式打通两个不同网段的局域网

    最吸引人的地方它有 windows gui 配置界面,好像不适合苹果用户。习惯,其它也就玩 openvpn ,拉倒吧老掉牙的文本配置界面。跟这种一个进程可以配置各种设定的 vpn 不是一个级别。搜索一下官方的文档吧,有各种各样的组网文档。
    littlewing
        26
    littlewing  
       2022-02-11 20:19:15 +08:00
    Cisco vpn
    littlewing
        27
    littlewing  
       2022-02-11 20:19:21 +08:00
    ikev2
    snw
        28
    snw  
       2022-02-11 21:29:55 +08:00 via Android
    如果是国区 App Store ,好像只有 Anyconnect 和自带的 VPN(比如 ikev2)可用,对应的服务端软件实现是 ocserv 和 strongswan 等,不过正统 VPN 配置起来都比较麻烦。
    如果不限于国区,那么选择比较多。
    dxgundam01
        29
    dxgundam01  
       2022-02-11 21:54:00 +08:00 via Android
    ipv6 啊,我用手机下载群晖的文件基本有个 6,7m/s 的速度
    ohiu
        30
    ohiu  
       2022-02-11 22:03:22 +08:00
    tailscale 只支持 linux 下内网网段暴露吧
    jtshs256
        31
    jtshs256  
       2022-02-11 23:32:27 +08:00 via iPhone
    如果把打印机和 aTV 的需求砍掉就有一堆选择,最简单的 ss server 就行,不然牵涉到 mDNS reflector 的话还是麻烦…路由器那头好弄,iOS 这头的客户端没 TAP ,也不知道哪些支持 mDNS-SD 的…
    把投屏换成用 HomePod 吼就简单多了…
    wwhc
        32
    wwhc  
       2022-02-11 23:34:28 +08:00
    提醒一下,softether 有可能连接到第三方服务器中转,在第三方服务器可能存在解密再加密的状况
    mandymak
        33
    mandymak  
       2022-02-12 09:36:32 +08:00
    @datocp 苹果有 sstp connect app 可以用 softether 。
    Believer
        34
    Believer  
       2022-02-12 10:58:14 +08:00
    移动不是只有 ipv6 地址吗? ipv4 地址是 nat 后的吧?
    ily433664
        35
    ily433664  
       2022-02-12 11:23:48 +08:00
    openvpn 有公网 ip 就可以用,连上后就和在家里内网访问一样
    laucenmi
        36
    laucenmi  
       2022-02-12 15:53:29 +08:00
    @datocp softether 是神器

    @wwhc 关闭动态 DDNS, VPN Azure 应该就没问题了吧
    darknoll
        37
    darknoll  
       2022-02-12 20:14:41 +08:00
    tailscale 速度最快
    ivan_wl
        38
    ivan_wl  
       2022-02-13 17:25:26 +08:00
    softether, 支持 l2dp sstp openvpn 等各种协议,各种手机电脑系统自带 vpn 功能都直接支持。
    callmepopo
        39
    callmepopo  
       2022-02-15 13:49:48 +08:00
    一个经验分享,可能对你有用
    家庭宽带:杭州移动宽带,有公网 ipv4 地址。
    移动、联通手机网络或宽带可直连回家,电信手机网络或宽带无法访问移动宽带的公网 IP 地址。
    zshstc
        40
    zshstc  
    OP
       2022-02-17 12:28:36 +08:00
    实测 tailscale 和 ZeroTier 无法满足场景 3 的需求,不知道是哪里没有设置好。
    850521109
        41
    850521109  
       2022-02-17 20:04:38 +08:00
    @cctrv 主要是没有公网 ip
    blackmao
        42
    blackmao  
       2022-08-14 13:38:35 +08:00
    推荐个机场 https://xflash.pro
    wangweitung
        43
    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
        44
    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
        45
    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
        46
    photon006  
       2022-08-25 10:11:17 +08:00
    @wangweitung 加上 dns 试试,没有特殊设置就是你的主路由 ip:10.10.10.1 ,用了 adguardhome 就要改成 adguardhome 所在 ip 。
    wangweitung
        47
    wangweitung  
       2022-08-25 10:15:59 +08:00
    @photon006 加了 DNS ,是 10.10.10.1 。没有用 adghome 。
    photon006
        48
    photon006  
       2022-08-25 11:38:32 +08:00
    @wangweitung 检查 10.10.10.205 上的服务是否监听的 0.0.0.0 ,手机不方便可以用电脑版 wireguard 测试,telnet 检测端口是否通。
    wangweitung
        49
    wangweitung  
       2022-08-26 22:20:20 +08:00
    @photon006 我想了下,我的需求可能是:从 docker 访问宿主机
    找了个教程,还没看明白。。。。
    https://jingsam.github.io/2018/10/16/host-in-docker.html
    wangweitung
        50
    wangweitung  
       2022-08-27 11:34:39 +08:00
    @photon006 可以这么解决,手机连接 docker 的 wg-easy 后,使用 docker 的 ip+端口访问同一个宿主机的其他 docker 服务即可。
    xiaoxiannv
        51
    xiaoxiannv  
       2022-11-29 10:25:13 +08:00 via iPhone
    @jtshs256 没理解把投屏换成用 HomePod 吼就简单多了这句话是什么意思。请问想异地控制 homepod 有什么优雅的方案吗?
    xiaoxiannv
        52
    xiaoxiannv  
       2022-11-29 10:27:19 +08:00 via iPhone
    @xhcnb 求解如何让 mdns 广播数据包跨 vpn ?
    xhcnb
        53
    xhcnb  
       2022-11-29 10:57:27 +08:00
    @xiaoxiannv 要看你使用的 vpn 是什么, 可以搜索一下关键字 mdns reflector + vpn 类型, 默认情况下一般 vpn 都不允许广播数据包的
    xiaoxiannv
        54
    xiaoxiannv  
       2022-11-29 11:12:59 +08:00 via iPhone
    @xhcnb 牵涉到 mDNS reflector 的话还是麻烦…路由器那头好弄,iOS 这头的客户端没 TAP ,也不知道哪些支持 mDNS-SD 的。
    xiaoxiannv
        55
    xiaoxiannv  
       2022-11-29 11:13:11 +08:00 via iPhone
    @xhcnb 毫无头绪
    rhaegarlai
        56
    rhaegarlai  
       2023-07-18 17:33:36 +08:00
    @xiaoxiannv 所以你最后怎么解决
    @zshstc 你解决到投屏的问题吗,mdns 转发这个才是最难的点
    zshstc
        57
    zshstc  
    OP
       364 天前 via iPhone
    @rhaegarlai #56 我已经放弃了
    xiaoxiannv
        58
    xiaoxiannv  
       358 天前 via iPhone
    @rhaegarlai 弃了
    tywg001
        59
    tywg001  
       106 天前
    用 wg 加 udp-proxy-2020 可以实现内网 upnp,就可以 dlna 投屏,我现在就是这个在外面听内网 dlna 服务器的歌
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1410 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:46 · PVG 07:46 · LAX 16:46 · JFK 19:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.