
Landscape 是由开发者 ThisSeanZhang 发起的一个开源项目,旨在通过 Web UI(网页界面)轻松地将普通的 Linux 发行版配置成高性能路由器。
以下是该项目的详细介绍:
1. 核心定位
Landscape 是一个基于 Web 的 Linux 路由器配置工具。它不像 OpenWrt 那样是一个完整的操作系统发行版,而是一个运行在现有 Linux 系统(如 Debian、Ubuntu 等)上的软件层,利用现代 Linux 内核技术实现高效的网络转发和管理。
2. 技术栈
开发语言:主要使用 Rust 编写,保证了高性能和内存安全。
核心技术:利用 eBPF (Extended Berkeley Packet Filter) 和 AF_PACKET 进行高效的数据包处理和转发。
管理界面:提供直观的 Web UI,降低了 Linux 路由配置的门槛。
3. 主要功能
基础网络配置:
- 支持 静态 IP、DHCP Client 以及 PPPoE 拨号(包括传统的 pppd 版本和高性能的 eBPF 版本)。
- 内置 DHCP Server,支持 IP-MAC 绑定和租约显示。
- IPv6 支持:支持通过 DHCPv6-PD 获取前缀并利用 RA (Router Advertisement) 分配。
分流与流量控制:
精细化分流:支持基于 IP、MAC、域名、地理位置(GeoIP/GeoSite)的匹配规则。
策略路由:可以将特定流量重定向到 Docker 容器或特定的网卡。
独立 DNS:可以为每个流量流(Flow)配置独立的 DNS 和缓存,有效防止 DNS 污染。
防火墙与 NAT:
可视化监控:
4. 系统要求
内核版本:由于大量使用了较新的 eBPF 特性,通常需要 Linux Kernel 6.9 或更高版本。
内核配置:需要内核开启 BTF/BPF 相关功能。
运行环境:支持 Docker 部署,方便环境隔离。
5. 项目特点
高性能:借助 eBPF 技术,在内核态处理数据包,效率远高于传统的用户态转发。
易用性:将复杂的 iproute2、nftables 等命令行操作转化为可视化的网页操作。
现代化:相比传统的路由器系统,它更适合部署在运行着其他服务(如 NAS、自建服务器)的通用 Linux 系统上。
项目地址:[链接登录后可见]
Landscape 项目凭借其 eBPF 高性能转发和 Linux 通用性,在以下几个领域具有显著的应用价值:
—
1. 家庭与个人实验室 (Home Lab)
这是 Landscape 最核心的应用场景。
2. 网络开发者与极客
3. 高性能边缘计算与网关
—
具体用处与价值
| 核心用处 | 详细说明 | 关键优势 |
| 简化 Linux 组网 | 告别复杂的 iptables、nftables 或 ip route 命令行,通过 Web 界面点点鼠标即可完成配置。 | 易用性: 降低了 Linux 专业路由配置的门槛,新手也能上手。 |
| 突破传统路由限制 | 运行在通用 Linux 上,不受限于特定固件,可自由安装 Python、Go 等环境或各类服务端软件。 | 扩展性: 路由不只是路由,还可以是全功能的服务器或 NAS。 |
| 智能 DNS 治理 | 能够为不同的流量流分配不同的 DNS 解析策略,支持缓存优化。 | 稳定性: 有效解决 DNS 污染,提升网页加载速度和访问准确性。 |
| 流量透明监控 | 实时显示各设备带宽占用情况,甚至可以追踪到具体连接的 IP 或域名。 | 掌控力: 方便排查内网异常流量,安全状态一目了然。 |
| 高性能转发 | 利用 eBP
|