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

异地 sd-wan 组网方案

  •  
  •   chenbin36255 · 112 天前 · 2033 次点击
    这是一个创建于 112 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需要实现类似 tailscale 的组网体验
    但是 tailscale 目前体验上不是很好 有公网 IP 有时候也没有直连
    双端都有公网 IPV4
    openvpn server 搭建一直连不上
    有没有易于部署 比较傻瓜搭建的 l2tp/openvpn/ikev2 server 的方案
    18 条回复    2024-07-29 16:28:39 +08:00
    xunandotme
        1
    xunandotme  
       112 天前
    sd-wan 包含普通企业路由器么,都有 ike 的,v1 而已。v2 动态公网 ip 会不支持吧
    Sayuri
        2
    Sayuri  
       112 天前
    babeld
    alect
        3
    alect  
       112 天前
    我记得蒲公英有售卖这种功能的路由器
    chenbin36255
        4
    chenbin36255  
    OP
       112 天前
    @alect 应该不用这种旁路硬件 双方都可以直接暴露 VPN 端口 只是缺一个 server
    tomczhen
        5
    tomczhen  
       112 天前
    之前给朋友用 openwrt+softether 搭过一个,不过规模比较小,同城两地办公点互联,有一个点有固定公网 IP (上行 20M ),为了访问 nas 共享。选的是 bridge 的三层互联方案。

    不过由于共享文件是个 100 多 MB 的 excel ,直接共享里面进行打开编辑的话最后保存老是出问题,后面撤掉了。

    除开这个问题总体体验我觉得挺满意了,毕竟便宜啊。
    adrianzhang
        6
    adrianzhang  
       112 天前
    前几天不就有本站一个 v 友说他家的方案么。标题好像是:…跟 tailscale 碰一碰
    bobryjosin
        7
    bobryjosin  
       112 天前 via Android
    其实简单的 wireguard 就可以,规模不大手搓也不难,交换公钥配个地址就结束了
    chenbin36255
        8
    chenbin36255  
    OP
       112 天前
    @bobryjosin 打算两地的路由器上装 vpn 客户端直接组网
    xmlf
        9
    xmlf  
       112 天前 via Android
    @chenbin36255
    wireguard 就可以啊。
    我就是在两端路由器上配置的,路由器下机器随意访问双方。当然,你也可以限定部分机器访问
    ConfusedBiscuit
        10
    ConfusedBiscuit  
       112 天前
    先把 OpenVPN 搞定吧,跟着官网教程,除了证书那部分比较复杂,其他真算是很好配置了。你用 wireguard 还得担心被 QOS ,还得手动配置两端路由,如果是动态公网 ip 还得定期执行 reresolve-dns.sh 脚本。而 OpenVPN 只要服务端配置好,客户端自动下发,动态 ip 支持也比较好。
    GotKiCry
        11
    GotKiCry  
       112 天前
    直接用 Docker 搭建 l2tp/openvpn/ikev2 server 就行,我自己目前是用 Frp+zerotier
    yghack
        12
    yghack  
       112 天前
    我用的 ipsec 直接打通
    NSAgold
        13
    NSAgold  
       112 天前 via Android
    最好是 tinc/openvpn 这种基于 tcp 的吧,wireguard 之类的 udp 的可能会被运营商 QoS 的很惨
    doublebu
        15
    doublebu  
       111 天前   ❤️ 3
    确实是这样,tailscale 抽风的厉害。OpenVPN 应该还是比较傻瓜式的,配置文件弄一下就好了。最后我还是折腾了一个比较“素”的方案。

    我这边是有 8 个公网 IPv4 节点(家宽以及 vps ),先用 WireGuard 组成 Mesh 拓扑。然后上层跑 VXLAN (用来打通 L2 ,后面提到的动态路由协议的运行条件)。再跑 #2 提到的 babel 协议。babel 协议主要实现 Mesh 网络里面的路由,比如某条路由不可用了,那就寻找其他路由来做。(比如 A->B 的链路断掉了,会切换成 A->C->B )

    这个方案比 Tailscale 稳,因为没有打洞的说法。由于 WireGuard 能够监听双栈,后面我切换到 IPv6 运行也很稳定,后面我接入更多的家宽节点,整个网络 robust 也更好 )

    关于 WireGuard/UDP QoS 的问题,目前在测试用 Phantun 。

    一套下来,可能比较繁琐的就是配置了。如果弄成 Tinc 那样每个机器要分发要累死。 更何况这里有 WireGuard/VXLAN/Phantun 。我的解决方法是类似 Tailscale/Zerotier 那样 C/S 架构,服务端用一个 Toml 文件做数据库,用 JS 快速糊几个接口就可以了。客户端用 Bash 脚本,放到 crontab 里面定时执行:更新 WireGuard Peer 、上报 DDNS 等。

    移动设备接入就用 OpenVPN 或者 ipsec/l2tp (在有公网的 ipv4 节点上部署)。

    更详情的可以参考我的博客,但还没完全写好: https://jinpeng.boo/article/build-a-mesh-network/
    piero66
        16
    piero66  
       111 天前 via Android
    zerotier 非常傻瓜
    esee
        17
    esee  
       111 天前 via Android
    我用的 openvpn ,把家里,工作室,还有云上的几个机器一起组网,目前感觉挺好用的,主要是,家里和工作室,只要路由器组网就行,下面的终端都是自动路由到一起。
    glanmillan0516y
        18
    glanmillan0516y  
       109 天前
    能支持 EVPN 的话就搞 EVPN over GRE 吧,不支持就用 IPSEC 打开推送路由的功能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 04:49 · PVG 12:49 · LAX 20:49 · JFK 23:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.