烧饼论坛
登录

Link42:一个快捷的组网管理面板,支持udp2raw/mimic等伪装协议

452
  • pmman
    Lv.1 初来乍到

    平时折腾组网时,WireGuard 配置多起来以后维护会比较麻烦:接口和端口记不住、两端配置容易改漏、节点多了看不清拓扑,出了问题还要逐台 SSH 排查。

    所以根据我日常的需求,在 gpt 老师的全程帮助下 vibe coding 出了 Link42,用一个主控面板管理多台 Linux 和 OpenWrt 节点上的点对点连接。

    项目地址:https://github.com/pmman289/link42

    界面

    Link42 主控首页

    首页会显示节点地域、在线状态、链路数量、延迟和丢包。拓扑位置可以拖动保存,也可以全屏查看。

    Link42 全屏拓扑

    多条相同节点间的连接会合并展示,断开的连接会使用单独的线型标识。拓扑主要用于看节点关系,不需要在图上区分 WireGuard 和 GRE,具体协议和接口状态可以在节点连接列表中查看。

    目前能做什么

    节点和 Agent 管理

    • 集中查看节点名称、地域、入口地址、系统类型、Agent 版本和在线状态
    • 支持常见 Linux 发行版、Alpine、OpenWrt
    • 面板生成节点安装命令,不需要手工维护 Agent Token
    • 支持 Agent 在线升级
    • 节点入口地址使用列表管理,可以同时记录公网 IP、内网 IP、IPv6 和域名

    WireGuard 连接管理

    可以创建两种连接:

    • 受管连接:Link42 同时生成和维护双方配置,自动处理密钥、Peer、隧道地址、入口地址、路由、启动和开机自启
    • 手动连接:只管理当前节点,对端可以是其它面板、路由器或不受 Link42 管理的设备

    已有的 wg-quick 配置可以先扫描导入。导入后默认只是观察记录,不会直接修改节点文件;确认接管后才会生成部署计划并下发。

    连接支持一端没有入口地址,适用于 NAT、单向拨入和出入口不对称的情况。修改接口名时也会清理旧接口、旧配置和服务。

    GRE 和 GRE over IPv6

    除了 WireGuard,Link42 也支持受管和手动 GRE:

    • IPv4 GRE 和 GRE over IPv6
    • 多个隧道地址和经隧道路由
    • GRE Key、TTL、MTU、路径 MTU 探测
    • IPv6 encaplimit none
    • Linux 与 OpenWrt
    • 云厂商 EIP/NAT 场景的 “对外地址” 和“实际绑定地址”分离

    新增 udp2raw ICMP / ICMPv6

    这次更新给 WireGuard 的 udp2raw 连接中间层增加了 ICMP 模式。

    创建受管连接时可以选择哪一端运行 udp2raw 服务端,再选择 ICMP 传输。Link42 会根据服务端 IP 自动使用 ICMPv4 或 ICMPv6,并负责双方安装、配置、启动和开机自启。

    udp2raw ICMP 配置

    这个模式适合 UDP 质量较差、UDP 被限制,或者需要尝试其它外层传输方式的网络。

    除了 ICMP,udp2raw 仍支持 FakeTCP 和 UDP 模式。也可以选择 mimic 作为网卡层中间层,但 mimic 对系统、内核和网卡能力有额外要求。

    链路监测

    每条 WireGuard 或 GRE 连接都可以设置监测目标,由对应节点 Agent 定期执行 ping。

    面板会记录:

    • 当前、平均、最低和最高延迟
    • 抖动
    • 丢包率
    • 稳定度
    • 最近 1 小时到 30 天的历史样本

    节点插件

    目前内置了两个节点插件。

    BIRD 配置编辑

    可以递归读取 /etc/bird.conf/etc/bird 下的配置文件,使用带搜索、快捷键和语法模式的编辑器修改多个文件。

    端口台账

    NAT VPS 经常需要维护一段入口端口,但时间久了很难记住每个端口的用途。

    端口台账可以保存可用端口范围、扫描系统监听端口、补充用途、分页展示,并按端口号或用途搜索。

    端口台账

    Looking Glass 第三方 API

    Link42 提供了与面板内部 API 分离的第三方 Looking Glass API,可以创建独立 Token 给 Link42-lg 项目使用。

    快速部署

    准备数据目录:

    sudo mkdir -p /opt/link42
    

    启动主控:

    docker run -d \
      --name link42 \
      --restart unless-stopped \
      -p 8000:8000 \
      -v /opt/link42:/link42 \
      pmman/link42:latest
    

    打开:

    http://主控IP:8000
    

    首次登录密码会输出到容器日志:

    docker logs link42
    

    登录后添加节点,面板会生成对应的 Agent 安装命令。节点上线后就可以创建、导入和监测连接。

    适合哪些场景

    • DN42 多节点互联
    • 多台 NAT VPS 的 WireGuard 管理
    • 家庭网络、软路由和云服务器互联
    • 小型多机房或实验室网络
    • 需要同时维护 Linux 和 OpenWrt 节点

    Link42 目前仍在持续开发,涉及路由和节点配置的功能建议先在测试节点验证。项目完全 vibe coding,遇到问题可以直接在 GitHub 提 Issue,也欢迎提交 PR。

    项目地址:https://github.com/pmman289/link42

2 条回复

  • bubu
    Lv.1 初来乍到
    #1

    也在做组网软件,这个好东西,参考参考

  • Showfom
    Lv.1 初来乍到管理员
    #2

    支持一下

发表回复