V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ixdeal
V2EX  ›  程序员

无公网内网穿透方案请教

  •  
  •   ixdeal · 2023-10-25 01:53:54 +08:00 · 4169 次点击
    这是一个创建于 430 天前的主题,其中的信息可能已经有所发展或是发生改变。

    家里网络内网有个 PVE 主机,已经和所有节点做好 Headscale 组网(暂时没搭 derp),访问各处节点资源很方便也很爽,甚至用到 exit node 模式科学,速度也可以。

    现在打算在家里的 PVE 主机上装一个 wireguard 然后人在外面拨入时候访问内网资源,由于 wireguard 安装时候需要指定访问入口,wo 我也不打算用外网/国内机器做 frp 穿透,这种情况下请问什么方案最好?

    我打算用 CF 的 zero trust/tunnel,但不知道速度如何? 理论上只是需要 CF 来创立指定入口方便拨入而已,一旦链接建立,速度应该是没有问题吧,但不确定,所以来这里问问。

    第 1 条附言  ·  2023-10-25 02:32:10 +08:00
    试了下 ddns 完美解决,速度很快, 就是有个问题,wireguard 拨入家中 PVE 后,无法科学。 拨入的 PVE 运行了个 v2raya 做透明代理,同时 PVE 内网中资源也无法访问,启用 headscale 也不行,估计是 wireguard 和 PVE 内网不同网段设置问题,回头研究下如何解决。


    https://github.com/NewFuture/DDNS/releases/tag/v2.13.3
    23 条回复    2023-10-27 14:40:52 +08:00
    worldquant
        1
    worldquant  
       2023-10-25 01:58:57 +08:00
    cf tunnel 很舒服
    heiher
        2
    heiher  
       2023-10-25 08:03:09 +08:00 via Android
    243634473
        3
    243634473  
       2023-10-25 08:32:48 +08:00   ❤️ 1
    用 ipv6
    V2DBA
        4
    V2DBA  
       2023-10-25 09:10:14 +08:00
    推荐 netbird ,也是基于 wireguard 封装的,不过易用性比较好。多台机器都加入后,就可以通过内网地址互通了。试了下 Mac 的远程共享完美支持,操作简单。
    https://netbird.io/
    V2DBA
        5
    V2DBA  
       2023-10-25 09:11:39 +08:00
    这种方式,甚至不要求你有一个自己的域名
    yhwfr1
        6
    yhwfr1  
       2023-10-25 09:30:38 +08:00
    @V2DBA 你那里速度受限制吗?我这里两部机器之间的文件传输速度只有 5M 。
    Geo200
        7
    Geo200  
       2023-10-25 09:30:47 +08:00
    @V2DBA #4 这种跟 zerotier 有什么区别吗?
    ersic
        8
    ersic  
       2023-10-25 09:36:45 +08:00
    现在 vscode 自带了,很方便
    nodejsexpress
        9
    nodejsexpress  
       2023-10-25 09:47:46 +08:00
    学到了,谢谢楼主
    V2DBA
        10
    V2DBA  
       2023-10-25 10:37:22 +08:00
    @Geo200 #7 没对比过,不过功能应该都是类似的,都是基于 wireguard 封装的。
    V2DBA
        11
    V2DBA  
       2023-10-25 10:37:59 +08:00
    @yhwfr1 #6 额,这个还没测过,我家里机器用的 WIFI 连接,本身网速就不高。。
    V2DBA
        12
    V2DBA  
       2023-10-25 10:42:34 +08:00
    @worldquant #1 这个确实比较通用,只要有一个域名,任意机器都能访问内网。不过 cloudflare 国内访问速度很慢,一直没搞定国内加速。另外每种服务都得主动搞个 tunnel ,也比较麻烦。基于 wireguard 的安全性好些,必须先加到组里才能互通,另外因为是直接在网络层就打通了,所以高层的 TCP 协议不管什么端口都可以直接连接。
    V2DBA
        13
    V2DBA  
       2023-10-25 10:46:42 +08:00
    @worldquant #1 这个确实比较通用,只要有一个域名,任意机器都能访问内网。不过 cloudflare 国内访问速度很慢,一直没搞定国内加速。另外这种是基于 HTTP 的,每种服务都得主动搞个 tunnel 。
    基于 wireguard 的安全性好些,必须先加到组里才能互通,另外因为是直接在网络层就打通了,所以高层的 TCP 协议不管什么端口都可以直接连接。
    V2DBA
        14
    V2DBA  
       2023-10-25 10:54:09 +08:00
    其实楼主既然能通过 DDNS 来访问了,肯定已经申请公网 IP 了,只不过会随时会变不是固定的而已。这种需求,我更推荐 ddns-go( https://github.com/jeessy2/ddns-go),不过其实两者功能差不多,只不过 ddns-go 是 golang 实现的,安装更方便;还提供了 web 页面编辑,编辑也更友好;还有就是支持 ddns-go -s install 一键安装成服务,不用搞自动启动/重启这种东西了
    kursk
        15
    kursk  
       2023-10-25 12:22:36 +08:00   ❤️ 1
    @ixdeal 关于 wg 连接后不能科学的问题,原因可能出在 wg 连接后,默认会在本地增加一条 src 为 0.0.0.0 的路由,让所有流量走 wg 的通道,你要改一下配置,例如,如果内网是 192.168.10.0/24 网段,在 wg 拨号的客户端上加上下面的配置
    AllowedIPs = 192.168.10.0/24
    这样 wg 连接后,这有这个网段会走 wg ,其余走默认路由,该科学的就会科学
    ixdeal
        16
    ixdeal  
    OP
       2023-10-25 12:59:32 +08:00
    @kursk #15 IOS 的客户端如何操作?
    ixdeal
        17
    ixdeal  
    OP
       2023-10-25 13:09:40 +08:00
    @Geo200 #7 没有 ios 端,谁会用它?
    ixdeal
        18
    ixdeal  
    OP
       2023-10-25 13:17:13 +08:00
    @ixdeal #16 IOS 端目前是 0.0.0.0/0 ,应该是已经包含了这个 192.168.10.0/24 了吧
    neochan
        19
    neochan  
       2023-10-25 14:06:53 +08:00
    @243634473 不好用,不知你那如何。在家用路由拨号,外网 rdp 直连 pc 远控,卡的不行。可能是中间传输路线有 6to4 转换,整条链路性能受限严重。
    neochan
        20
    neochan  
       2023-10-25 14:07:53 +08:00
    不如 zerotier 这种 vxlan 来得实在。稳定 3MB/s
    hangvane
        21
    hangvane  
       2023-10-25 19:40:03 +08:00
    cf tunnel 只有那么几个 IP 可连,我的速度只有 2MB/s ,就是可以直接开放 http 到公网还不错。看视频还是 ddns 出来 vpn 回家吧
    kursk
        22
    kursk  
       2023-10-27 14:40:04 +08:00
    @ixdeal 如果 IOS 端目前是 0.0.0.0/0 ,那么问题就应该出在这里,这条路由的范围太宽了。这意味着你 wg 客户端的设置项 AllowedIPs = 0.0.0.0/0 ,则 wg 连接后,会在客户端边产生一条目标端为 0.0.0.0/0 ,装置为 wg 的路由条目,即让所有不匹配其它路由的流量最终从 wg 的通道出去,导致你原先应该走科学上网的流量(应该通过 vps 的流量)也从 wg 的通道出去,所以就不能科学了。
    将 AllowedIPs = 192.168.10.0/24 ,目的就是缩小路由段范围
    kursk
        23
    kursk  
       2023-10-27 14:40:52 +08:00
    我没有 IOS 的设备,我只用 android 、Linux 和 windows ,但是 wg 的配置项应该是一样的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:38 · PVG 22:38 · LAX 06:38 · JFK 09:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.