异地 sd-wan 组网方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v0rtix
V2EX    宽带症候群

异地 sd-wan 组网方案

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

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

    除开这个问题总体体验我觉得挺满意了,毕竟便宜啊。
    adrianzhang
        6
    adrianzhang  
       2024-07-26 16:16:44 +08:00
    前几天不就有本站一个 v 友说他家的方案么。标题好像是:…跟 tailscale 碰一碰
    bobryjosin
        7
    bobryjosin  
       2024-07-26 16:19:32 +08:00 via Android
    其实简单的 wireguard 就可以,规模不大手搓也不难,交换公钥配个地址就结束了
    v0rtix
        8
    v0rtix  
    OP
       2024-07-26 16:22:28 +08:00
    @bobryjosin 打算两地的路由器上装 vpn 客户端直接组网
    xmlf
        9
    xmlf  
       2024-07-26 16:31:04 +08:00 via Android
    @chenbin36255
    wireguard 就可以啊。
    我就是在两端路由器上配置的,路由器下机器随意访问双方。当然,你也可以限定部分机器访问
    ConfusedBiscuit
        10
    ConfusedBiscuit  
       2024-07-26 17:34:25 +08:00
    先把 OpenVPN 搞定吧,跟着官网教程,除了证书那部分比较复杂,其他真算是很好配置了。你用 wireguard 还得担心被 QOS ,还得手动配置两端路由,如果是动态公网 ip 还得定期执行 reresolve-dns.sh 脚本。而 OpenVPN 只要服务端配置好,客户端自动下发,动态 ip 支持也比较好。
    GotKiCry
        11
    GotKiCry  
       2024-07-26 18:01:02 +08:00
    直接用 Docker 搭建 l2tp/openvpn/ikev2 server 就行,我自己目前是用 Frp+zerotier
    yghack
        12
    yghack  
       2024-07-26 18:02:40 +08:00
    我用的 ipsec 直接打通
    NSAgold
        13
    NSAgold  
       2024-07-26 18:46:29 +08:00 via Android
    最好是 tinc/openvpn 这种基于 tcp 的吧,wireguard 之类的 udp 的可能会被运营商 QoS 的很惨
    doublebu
        15
    doublebu  
       2024-07-27 16:03:52 +08:00   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  
       2024-07-27 19:24:40 +08:00 via Android
    zerotier 非常傻瓜
    esee
        17
    esee  
       2024-07-28 03:02:22 +08:00 via Android
    我用的 openvpn ,把家里,工作室,还有云上的几个机器一起组网,目前感觉挺好用的,主要是,家里和工作室,只要路由器组网就行,下面的终端都是自动路由到一起。
    glanmillan0516y
        18
    glanmillan0516y  
       2024-07-29 16:28:39 +08:00
    能支持 EVPN 的话就搞 EVPN over GRE 吧,不支持就用 IPSEC 打开推送路由的功能。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5053 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:35 PVG 17:35 LAX 01:35 JFK 04:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86