V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
uncat
V2EX  ›  分享发现

如何只基于 Linux 内核模块,实现无公网 IP 的多个局域网之间互通

  •  
  •   uncat · 340 天前 · 1847 次点击
    这是一个创建于 340 天前的主题,其中的信息可能已经有所发展或是发生改变。
    21 条回复    2024-01-22 09:17:21 +08:00
    Augix
        1
    Augix  
       340 天前 via Android
    Headscale+Tailscale 完事,能直通为什么要中转
    kenvix
        2
    kenvix  
       340 天前
    中转没意思,延迟高带宽还小。你要找的是不是:NetMaker
    uncat
        3
    uncat  
    OP
       340 天前
    > 能直通

    两个位于运营商 NAT 设备后的局域网,能直通?

    Headscale+Tailscale 如何解决这个场景的,可以说说。
    kenvix
        4
    kenvix  
       340 天前
    @uncat #3 通过收集数据构建合理的预测模型,两个 NAT4 都能。不过 Tailscale 和 NM 做不到
    uncat
        5
    uncat  
    OP
       340 天前
    > 能直通

    两个位于运营商 NAT 设备后的局域网,能直通?

    Headscale+Tailscale 如何解决这个场景的,可以说说。

    @kenvix
    kenvix
        6
    kenvix  
       340 天前
    @uncat #5 你又不说你是 NAT 几,是否有 IPV6 ,怎么说
    uncat
        7
    uncat  
    OP
       340 天前
    @Augix 见 #3 。
    0o0O0o0O0o
        8
    0o0O0o0O0o  
       340 天前 via iPhone
    https://arthurchiao.art/blog/how-nat-traversal-works-zh/
    jasonyang9
        9
    jasonyang9  
       340 天前
    我想知道用 systemd-networkd 控制 WG 与 wg 命令和 wg-quick 脚本的差异在哪里?
    Jat001
        10
    Jat001  
       340 天前   ❤️ 1
    @jasonyang9 #9 没有差别,用 iproute2 也能做到
    Jat001
        11
    Jat001  
       340 天前   ❤️ 1
    同类软件太多了,光基于 wireguard 的就有 tailscale/headscale zerotier netmaker netbird ,另外还有 slack 的 nebula
    uncat
        12
    uncat  
    OP
       340 天前   ❤️ 1
    @jasonyang9

    wg-quick 一套 bash 脚本,是对 [wg]( https://git.zx2c4.com/wireguard-tools/about/) 这个命令行工具的封装。

    WireGuard 社区在推进 wireguard-tools 向 iproute2 的合并(最终希望基于 ip 命令而不是 wg 命令来管理 WireGuard 设备)

    systemd-networkd 是 systemd 包的一部分,意味着你开箱即用,不需要在生产服务器上安装任何包(比如 wireguard-tools )
    uncat
        13
    uncat  
    OP
       340 天前
    @Jat001 快速的看了一下这些项目( tailscale/headscale zerotier netmaker netbird nebula )的依赖,底层实际上都是 WireGuard 协议,并没有很大不同。
    Jat001
        14
    Jat001  
       340 天前
    @uncat #13 nebula 不是基于 wireguard
    uncat
        15
    uncat  
    OP
       340 天前
    @0o0O0o0O0o 谢谢。
    uncat
        16
    uncat  
    OP
       340 天前
    @kenvix 写这篇文章时希望这篇文章具有普遍可用的,NAT 穿透暂时不是普遍可用的,所以没涉及。
    esee
        17
    esee  
       340 天前 via Android
    wg 用的 udp ,我的移动宽带 qos 很严重,完全用不了
    uncat
        18
    uncat  
    OP
       339 天前
    @esee

    我也是移动宽带,整个 WireGuard 网络的节点分布在新加坡,香港,北京,广州,暂时没有遇到你所说的问题。

    运营商对 MTU 会有一定的限制(过大的 MTU 会导致丢包),所以在文章中,我默认 MTU 是 1280 。不然修改你的 MTU 为 1280 再试试。

    PS: 默认 MTU 大小是 1500 ,降低 MTU 的是通过牺牲部分性能换取跨城通信的兼容性。
    uncat
        19
    uncat  
    OP
       339 天前
    不然 -> 不妨
    SenLief
        20
    SenLief  
       339 天前
    不能直连的局域网不能称为局域网。
    sky96111
        21
    sky96111  
       339 天前 via Android
    写的很细,但看完后才发现这不就是 wg 的基本用法吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:23 · PVG 05:23 · LAX 13:23 · JFK 16:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.