最近在折腾网络架构的时候,一直在寻找一个既能快速部署,又不用暴露太多底层配置的 Looking Glass(LG)方案。尤其是对于已经在用 Link42 做网络管理的朋友来说,如果能有一套“开箱即用”的配套工具,那绝对是省时省力的福利。

刚好,看到开发者 pmman 开源了一个新项目——link42-lg。这个项目很有意思,作者自己也打趣说“99% 的代码由 AI 编写”,但这并不妨碍它成为一个解决痛点的高效工具。它专门为 Link42 设计,主打一个快速、轻量且功能相对完整的公开展示页面。

Link42-LG 项目界面示例

Link42-LG:一个可快速部署的 Link42 配套 Looking Glass

📌 为什么关注它?

传统的 LG 部署往往需要我们自己去处理前端 API 的对接,最头疼的是 Token 的安全性问题。如果直接在前端请求 API,Key 很容易泄露。Link42-LG 很好地解决了这个问题,它采用了“前后端一体”的架构:

  1. 后端代理 API:所有的 API 请求都由后端转发给 Link42,浏览器端根本接触不到 Token,安全性大大提升。
  2. Docker 一键启动:不需要复杂的依赖安装,只要有 Docker,几分钟就能跑起来。
  3. 数据持久化:使用 SQLite 存储配置,哪怕是容器重启,你的节点配置和规则也不会丢。

🛠 核心功能拆解

别看它轻量,该有的功能一个不少,而且针对 BIRD 路由协议做了不少优化:

  • BIRD 协议深度支持:不仅支持标准的路由查询(Route Lookup)、协议列表,还能查看协议详情。更棒的是,它对 eBGP 协议详情做了结构化展示,读路由表再也不用面对一堆难啃的纯文本了。
  • 智能路由查询:支持按来源 ASN 查询首选路由,这对于分析多线接入或 BGP 选路情况非常有帮助。
  • 网络诊断工具集:集成了 Ping 和 Traceroute 功能,这是 LG 的标配,方便访客测试网络连通性。
  • 访问控制与隐私保护:公开页面会自动隐藏节点地址信息,保护核心网络拓扑。同时支持按地域筛选节点,用户体验更好。
  • 防刷机制:内置了单节点查询的并发限制,避免因为大量访客同时发起查询把后端或者节点 Agent 给“打穿”了。
  • UI 细节:支持中英文切换和暗色模式,这对咱们这种长期盯着屏幕的运维人员来说简直是护眼福音。
  • 高度可配置:管理员登录后,可以随意配置 API Base、Token、公开节点、节点图标以及协议的公开/隐藏规则。

🚀 保姆级部署教程

在开始之前,请务必确保你已经部署好了 Link42 主控,并在那里生成了用于对接的 Token。这是 LG 能够获取数据的前提。

1. 准备配置文件

在你的服务器上新建一个目录,创建一个 docker-compose.yml 文件,填入以下内容:

services:
  link42-lg:
    image: pmman/link42-lg:latest
    container_name: link42-lg
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      # 这里必须修改成一个强密码
      LG_ADMIN_PASSWORD: "change-me"
      # 如果你有 HTTPS,可以设置为 true
      LG_COOKIE_SECURE: "true"
      # 单节点并发限制,建议设置为 2-5
      LG_NODE_CONCURRENCY_LIMIT: "2"
    volumes:
      # 数据库挂载,防止配置丢失
      - ./data:/app/data
      # 配置文件挂载
      - ./config:/app/config

2. 启动容器

保存文件后,在当前目录下执行启动命令:

docker compose up -d

3. 初始化配置

启动成功后,直接访问 http://你的服务器IP:8000。此时页面是空的,需要在右上角点击“登录”。

  • 密码就是你刚才在 LG_ADMIN_PASSWORD 里设置的内容。
  • 进入管理后台后,填入你的 Link42 API 地址(Base URL)和之前生成的 Token。
  • 保存配置后,系统就会开始拉取节点信息,你就可以在前端看到你的网络拓扑了。

关于数据存储,容器内默认使用 /app/data/looking-glass.sqlite3 文件,通过 volume 映射到了宿主机的 ./data 目录下。如果你以后想备份或者迁移配置,直接打包这个目录即可。

💡 适用场景与总结

需要强调的是,Link42-LG 并不是一个通用的万能 LG,它强依赖于 Link42 的 API。因此,它的最佳适用人群是:

  • 已经在使用 Link42 搭建网络环境的 VPS 商或网络爱好者。
  • 想要快速给客户或社区提供一个公开的网络质量查询页面,但不想花太多时间开发前端的人员。

总的来说,作为一个轻量级的配套工具,它够用、安全,而且部署门槛极低。如果你正好符合上述场景,强烈建议拿个小鸡试一试。至于作者说的“AI 代码”问题,在开源世界里,能用就是硬道理,遇到 Bug 提个 PR 也就是了。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭