octelium/octelium
GitHub: octelium/octelium
一个开源自托管的统一零信任安全访问平台,整合了 VPN、ZTNA、API/AI 网关和 PaaS 能力。
Stars: 3684 | Forks: 124
[](https://opensource.org/licenses/Apache-2.0)
[](https://www.gnu.org/licenses/agpl-3.0)
[](https://octelium.com/external/discord)
[](https://octelium.com/external/slack)
## 目录
- [什么是 Octelium?](#what-is-octelium)
- [使用场景](#use-cases)
- [主要功能](#main-features)
- [在 Codespace 中试用 Octelium](#try-octelium-in-a-codespace)
- [安装 CLI 工具](#install-cli-tools)
- [安装您的第一个 Cluster](#install-your-first-cluster)
- [实用链接](#useful-links)
- [许可证](#license)
- [支持](#support)
- [常见问题](#frequently-asked-questions)
- [法律声明](#legal)
## 什么是 Octelium?
Octelium 是一个免费、开源、自托管的统一零信任安全访问平台,它具有足够的灵活性,可以用作现代零配置远程访问 VPN、综合零信任网络访问 (ZTNA)/BeyondCorp 平台、ngrok/Cloudflare Tunnel 替代方案、API 网关、AI/LLM 网关、用于构建 MCP 网关和基于 AI agent 的架构/agentic meshes 的可扩展访问和部署基础设施、类似 PaaS 的容器化应用部署平台、Kubernetes gateway/ingress,甚至可以用作家庭实验室基础设施。
Octelium 提供可扩展的零信任架构 (ZTA),通过基于 WireGuard/QUIC 隧道的私有客户端访问以及公共无客户端访问,为人类和工作负载提供基于身份、应用层 (L7) 感知的无秘密安全访问,可在任何环境中访问任何位于 NAT 后的私有/内部资源,以及受公开保护的资源(如 SaaS API 和数据库),并基于每个请求进行上下文感知的访问控制。

## 使用场景
Octelium 是一个多功能平台,可以作为许多不同需求的完整或部分解决方案。以下是一些关键的使用场景:
* **现代远程访问 VPN:** 作为 **OpenVPN Access Server、Twingate 和 Tailscale** 等商业远程访问/企业 VPN 的零信任、七层感知替代方案,通过 WireGuard/QUIC 提供零配置客户端访问,并通过动态的、基于身份的、上下文感知的 _策略_ 提供无客户端访问。
* **统一 ZTNA/BeyondCorp 架构:** 一个综合的零信任网络访问 (ZTNA) 平台,类似于 **Cloudflare Access、Google BeyondCorp 或 Teleport**。
* **自托管安全隧道:** 一种用于安全隧道和反向代理的可编程基础设施,支持基于身份的安全访问以及匿名无客户端访问,提供比 **ngrok 或 Cloudflare Tunnel** 更强大的自托管替代方案。您可以在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/http/open-source-self-hosted-ngrok-alternative) 查看示例。
* **自托管 PaaS:** 一个可扩展的平台,用于部署、管理和托管您的容器化应用程序,类似于 **Vercel 或 Netlify**。请参阅 [Next.js/Vite 应用](https://octelium.com/docs/octelium/latest/management/guide/service/http/nextjs-vite) 的示例。
* **API 网关:** 一个自托管、可扩展且安全的微服务 API 网关,提供比 **Kong Gateway 或 Apigee** 更强大的替代方案。您可以在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/http/api-gateway) 查看示例。
* **AI 网关:** 一个可扩展的 AI 网关,为任何 AI LLM 提供商提供基于身份的访问控制、路由和可见性。请在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/ai/ai-gateway) 查看示例。
* **统一对 SaaS API 的零信任访问:** 为团队和工作负载提供对 SaaS API 的无秘密访问,无需管理和分发长期且权限过大的 API 密钥。请在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/http/zero-trust-saas-api) 查看通用示例,AWS Lambda 在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/http/lambda-zero-trust-secretless-access),AWS S3 在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/http/s3-zero-trust-secretless-access)。
- **MCP 网关和基于 A2A 的架构** 用于模型上下文协议 [(MCP)](https://modelcontextprotocol.io/introduction) 网关和 Agent2Agent 协议 [(A2A)](https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/)-基于的架构的安全基础设施,提供身份管理、基于标准 OAuth2 客户端凭证和持有者身份验证的认证、安全的远程访问和部署,以及通过策略即代码实现的基于身份、L7 感知的访问控制和可见性(在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/ai/self-hosted-mcp) 查看示例)。
* **家庭实验室 (Homelab):** 一个统一的自托管 Homelab 基础设施,用于从任何地方连接并提供对所有位于 NAT 后资源的安全远程访问(例如您的所有设备,包括笔记本电脑、IoT、云提供商、Raspberry Pis、路由器等),以及作为一个安全的部署平台,用于部署并私下或公开托管您的网站、博客、API,或远程测试重型容器(例如 LLM 运行时如 Ollama,数据库如 ClickHouse 和 Elasticsearch,Pi-hole 等)。请参阅 [远程 VSCode](https://octelium.com/docs/octelium/latest/management/guide/service/homelab/remote-vscode-code-server) 和 [Pi-hole](https://octelium.com/docs/octelium/latest/management/guide/service/homelab/pihole) 的示例。
* **Kubernetes Ingress 替代方案:** 标准 Kubernetes ingress 控制器和负载均衡器的更高级替代方案,允许您通过动态的、L7 感知的策略即代码路由到任何 Kubernetes 服务(在 [这里](https://octelium.com/docs/octelium/latest/management/guide/service/http/open-source-kubernetes-ingress-controller) 查看示例)。
## 主要功能
- **现代、统一的零信任架构** Octelium 建立在可扩展的身份感知代理架构之上,用于控制应用层 (L7) 的访问,统一了人类和工作负载对私有和受保护公共资源的访问。它支持通过 WireGuard/QUIC 进行零配置类 VPN 客户端访问和无客户端 BeyondCorp 访问,所有这些都建立在 Kubernetes 之上以实现自动扩展(在 [这里](https://octelium.com/docs/octelium/latest/overview/how-octelium-works) 详细了解 Octelium 的工作原理)。
- **动态无秘密访问** Octelium 的七层感知能力使 _用户_ 能够无缝访问受应用层凭证保护的资源,而无需暴露、管理和分发此类秘密(在 [这里](https://octelium.com/docs/octelium/latest/management/core/service/secretless) 阅读更多内容)。这适用于 HTTP API 而无需共享 API 密钥和访问令牌,SSH 服务器而无需共享密码和私钥,Kubernetes 集群,PostgreSQL/MySQL 数据库以及任何受 mTLS 保护的 L7 协议。
- **现代、动态、细粒度访问控制** Octelium 为您提供了一个现代的、集中的、可扩展的、细粒度的、动态的、上下文感知的、七层感知的、基于属性的访问控制系统 (ABAC),基于每个请求使用 [CEL](https://cel.dev/) 和 [OPA](https://www.openpolicyagent.org/) (Open Policy Agent) 的策略即代码(在 [这里](https://octelium.com/docs/octelium/latest/management/core/policy) 阅读更多内容)。Octelium 没有“管理员”用户的概念,默认情况下强制执行零权限 (zero standing privileges)。
- **上下文感知、基于身份、L7 感知的动态配置和路由** 使用 CEL 和 OPA 的策略即代码,基于每个请求路由到不同的上游、代表不同上游上下文和账户的不同凭证。您可以在 [这里](https://octelium.com/docs/octelium/latest/management/core/service/dynamic-config) 详细了解动态配置。
- **持续强认证** 一个针对人类和工作负载 _用户_ 的统一认证系统,支持任何使用 OpenID Connect 或 SAML 2.0 的 Web 身份提供商 以及 GitHub OAuth2(在 [这里](https://octelium.com/docs/octelium/latest/management/core/identity-providers#web-identity-providers) 阅读更多内容)。它还允许通过基于 OIDC 的断言为工作负载提供无秘密认证(在 [这里](https://octelium.com/docs/octelium/latest/management/core/identity-providers#workload-identity-providers) 阅读更多内容)。内置支持通过 FIDO2/WebAuthn/Passkey、TOTP 和 TPM 2.0 _认证器_ 进行 MFA/重新认证/登录。
- **OpenTelemetry 原生审计和可见性** 实时、基于身份、L7 感知的可见性和访问日志记录。每个请求都被记录并导出到您的 OpenTelemetry OTLP 接收器,以便与您的日志管理和 SIEM 工具无缝集成。
- **轻松、无密码 SSH** Octelium 客户端甚至可以在没有 root 访问权限的情况下提供 SSH 服务,使您能够 SSH 到容器、IoT 设备或其他无法运行 SSH 服务器的主机(在 [这里](https://octelium.com/docs/octelium/latest/management/core/service/embedded-ssh) 阅读更多内容)。
- **轻松部署、扩展和保护对容器化应用程序作为 _服务_ 的访问** Octelium 为您提供开箱即用的类似 PaaS 的功能,以轻松部署、管理和扩展您的容器化应用程序,并将其作为 _服务_ 提供,以提供无缝的安全客户端私有访问、无客户端公共 BeyondCorp 访问以及公共匿名访问。您可以在 [这里](https://octelium.com/docs/octelium/latest/management/core/service/managed-containers) 详细了解托管容器。
- **集中式和声明式管理** 像管理 Kubernetes 一样,使用 `octeliumctl` CLI 对您的 Octelium 集群进行声明式管理(在 [这里](https://octelium.com/docs/octelium/latest/overview/management) 阅读此快速管理指南)。您可以将 _集群_ 配置存储在 Git 中,以便轻松复现和使用 GitOps 工作流。
- **无需更改您的基础设施** 您的上游资源根本不需要知道 Octelium 的存在。它们可以侦听任何位于 NAT 后的专用网络,甚至是 localhost。无需公共网关,无需在防火墙后打开端口即可在任何地方提供您的资源。
- **避免传统 VPN 网络问题** Octelium 基于客户端的网络消除了传统 VPN 所面临的一整类网络和路由问题。支持双栈专用网络,无论上游是否支持,也无需处理 NAT64/DNS64 的麻烦和不一致性。使用您自己域名的统一专用 DNS。同时支持 WireGuard(内核、TUN 以及通过 [gVisor](https://gvisor.dev/) 的非特权实现)以及实验性的 QUIC(TUN 和通过 gVisor 的非特权)隧道,通过一个轻量级的零配置客户端,可以在任何 Linux、MacOS、Windows 环境以及容器环境(例如您工作负载的 Kubernetes sidecar 容器)中运行。
- **开源且专为自托管设计** Octelium 是完全开源的,专为单租户自托管而设计。没有基于云的专有控制平面,这也不是某个功能齐全的 SaaS 付费服务的简陋演示开源版本。您可以在运行于廉价云 VM/VPS 之上的单节点 Kubernetes 集群上托管它,也可以在可扩展的生产云或本地多节点 Kubernetes 安装上托管它,而不受供应商锁定。
## 安装您的第一个 Cluster
阅读 [这里](https://octelium.com/docs/octelium/latest/overview/quick-install) 的快速指南,在任何廉价的云 VM/VPS 实例(例如 DigitalOcean Droplet、Hetzner server、AWS EC2、Vultr 等)或运行较新 Linux 发行版(Ubuntu 24.04 LTS 或更高版本、Debian 12+ 等)的本地 Linux 机器/MacOS/Windows 内的 Linux VM(至少 2GB RAM 和 20GB 磁盘存储)之上安装单节点 Octelium _Cluster_,这足以满足大多数开发、个人或不要求高可用性多节点 _集群_ 的生产用例。以 root 身份 SSH 进入您的 VPS/VM 后,您可以按如下方式安装 _Cluster_:
```
curl -o install-cluster.sh https://octelium.com/install-cluster.sh
chmod +x install-cluster.sh
# 替换 为您的实际域名
./install-cluster.sh --domain
```
一旦 _Cluster_ 安装完成。您可以按照 [这里](https://octelium.com/docs/octelium/latest/overview/management) 的指南开始管理它。
## 在 Codespace 中试用 Octelium
您可以在 GitHub Codespace 内安装和管理一个演示 Octelium _Cluster_,而无需将其安装在真实的 VM/机器/Kubernetes 集群上,只需将其作为演练场来熟悉 _Cluster_ 的管理方式。访问 [这里](https://github.com/octelium/playground) 的演练场 GitHub 仓库并在 Codespace 中运行它,然后按照那里的 README 说明安装 _Cluster_ 并开始与它交互。
## 安装 CLI 工具
您可以在 [这里](https://octelium.com/docs/octelium/latest/install/cli/install) 查看所有可用选项。您可以按如下方式快速安装预编译二进制文件的 CLI:
对于 Linux 和 MacOS
```
curl -fsSL https://octelium.com/install.sh | bash
```
对于 Windows Powershell
```
iwr https://octelium.com/install.ps1 -useb | iex
```
您也可以通过 Homebrew 安装 CLI:
```
brew install octelium/tap/octelium
```
## 实用链接
- [什么是 Octelium?](https://octelium.com/docs/octelium/latest/overview/intro)
- [什么是零信任?](https://octelium.com/docs/octelium/latest/overview/zero-trust)
- [Octelium 如何工作](https://octelium.com/docs/octelium/latest/overview/how-octelium-works)
- [管理 Cluster 的第一步](https://octelium.com/docs/octelium/latest/overview/management)
- [策略和访问控制](https://octelium.com/docs/octelium/latest/management/core/policy)
- [无秘密访问](https://octelium.com/docs/octelium/latest/management/core/service/secretless)
- [连接到 Clusters](https://octelium.com/docs/octelium/latest/user/cli/connect)
## 许可证
Octelium 是免费的开源软件:
* 客户端组件根据 Apache 2.0 许可证授权。这包括:
- `/client` 目录中的 `octelium`、`octeliumctl` 和 `octops` CLI 代码。
- `/apis` 目录中的 `octelium-go` Golang SDK 和olang protobuf API。
- `/pkg` 目录。
* 集群端组件(`/cluster` 目录中的所有组件)根据 GNU Affero General Public (AGPLv3) 许可证授权。Octelium Labs 还为不希望遵守 AGPLv3 许可证的企业提供商业许可证作为替代方案(在 [这里](https://octelium.com/enterprise) 阅读更多内容)。
## 支持
- [Octelium 文档](https://octelium.com/docs/octelium/latest/overview/intro)
- [Discord 社区](https://octelium.com/external/discord)
- [Slack 社区](https://octelium.com/external/slack)
- [通过电子邮件联系](mailto:contact@octelium.com)
- [Reddit 社区](https://www.reddit.com/r/octelium/)
## 常见问题
- **项目目前的状况如何?**
目前处于公开测试阶段。它基本上是 v1.0,但存在一些错误。架构、主要功能和 API 在项目开源并公开发布之前已经稳定下来。
- **谁是这个项目的幕后推手?**
到目前为止,Octelium 由 George Badawi 开发,他是 Octelium Labs LLC 的唯一所有者。请参阅 [https://octelium.com/contact](https://octelium.com/contact) 了解如何联系我。您也可以直接发送电子邮件至 [contact@octelium.com](mailto:contact@octelium.com)。
- **Octelium 是远程访问 VPN 吗?**
从三层角度来看,Octelium 可以无缝地作为零配置远程 WireGuard/QUIC 访问/企业 VPN 运行。然而,它是一种现代零信任架构,基于身份感知代理(在 [这里](https://octelium.com/docs/octelium/latest/overview/how-octelium-works) 阅读关于 Octelium 如何工作),而不是在三层操作,以提供动态的细粒度应用层 (L7) 感知访问控制、动态配置和路由、无秘密访问和可见性。您可以在 [这里](#main-features) 阅读更多关于主要功能的信息。
- **为什么 Octelium 是 FOSS?有什么猫腻吗?**
Octelium 是一个完全免费的开源软件。它旨在完全自托管,没有隐藏的“服务器端”组件,也没有人为限制(例如 SSO 税)。Octelium 不是作为一个又一个“虚假”的开源软件项目发布的,后者只提供非常有限的功能或让您的自托管生活变得困难,以迫使您最终放弃并转向单独的功能齐全的付费 SaaS 版本。换句话说,Octelium Labs LLC 不是一家 SaaS 公司。它也不是一家由风险投资资助的公司,到目前为止,除了其唯一所有者外,它没有任何外部资金。因此,您可能会问:有什么猫腻?商业模式是什么?答案是该项目的资金来源于为企业提供的专门支持、AGPLv3 许可组件的替代商业许可以及提供额外的企业级专有功能和集成(例如 Splunk 及类似供应商的 SIEM 集成、来自 Microsoft Entra ID 和 Okta 的 SCIM 2.0/目录同步、由 Hashicorp Vault 及类似 vault 提供商支持的托管静态秘密加密、EDR 集成等)的混合。您可以在 [这里](https://octelium.com/enterprise) 阅读更多内容。
- **这个项目开放外部贡献吗?**
非常欢迎您报告错误和请求功能。但是,该项目目前不接受外部贡献。换句话说,不会接受 Pull Request。不过,这在不远的将来可能会发生变化。
- **如何报告安全相关的错误和漏洞?**
请发送电子邮件至 [security@octelium.com](mailto:security@octelium.com)。
## 法律声明
Octelium 和 Octelium 徽标是 Octelium Labs, LLC 的商标。
WireGuard 是 Jason A. Donenfeld 的注册商标。
Octelium
标签:AI智能体, AI网关, API网关, BeyondCorp, CISA项目, Cloudflare Tunnel替代, EVTX分析, Ingress, JSONLines, Kubernetes网关, L7应用层, MCP网关, NAT穿透, PaaS, PE 加载器, QUIC, VPN, WireGuard, ZTNA, 内网穿透, 基础架构, 大模型网关, 子域名突变, 安全访问, 家庭实验室, 容器化部署, 开源, 无密码访问, 日志审计, 替代Ngrok, 用户代理, 网络安全, 自托管, 请求拦截, 远程访问, 隐私保护, 零信任, 零配置