2026
networkingd یک control plane برای تعداد زیادی نود دروازهٔ VPN است. مالک کاربران، گروهها، پلنها، دستگاهها و سیاستهاست، آنها را به وضعیت مطلوب هر نود تبدیل میکند، و پیکربندی کلاینتها را تحویل میدهد. روی هر دروازه یک node agent اجرا میشود که وضعیت مطلوبش را میگیرد و دیمنهای data plane محلی را با آن هماهنگ میکند.
| لایه | نقش |
|---|---|
| ورودی | تونلهای کاربر نهایی به داخل (WireGuard، OpenVPN، OpenConnect) |
| خروجی | مسیرهای خروجی از نودهای دروازه |
| سیاست | چه کسی از کدام نود، ورودی، خروجی و محدودیت استفاده کند |
| ناوگان | دروازههای متعدد زیر یک control plane |
| هویت | کاربران، گروهها، پلنها، اشتراکها |
| API پورتال | چیزی که اپهای کلاینت و پورتال وب صدا میزنند |
Client apps / web portal / admin console
│ HTTPS + bearer token
▼
controlplane (Go, REST /v1/*)
│ node token + desired state
┌───────┴───────┐
▼ ▼
node-agent node-agent … N
│ │
▼ ▼
local daemons over HTTP / Unix sockets only
wireguardd · openvpnd · openconnectd · dnsd · netpolicyd
قوانین مرزی سختگیرانه و مکتوباند: control plane هرگز اجزای داخلی یک دیمن را
import نمیکند و هرگز wg یا openvpn را از طریق شل اجرا نمیکند؛ agent فقط از
راه API HTTP دیمنهای محلی با آنها حرف میزند؛ و اپهای کلاینت فقط با API پورتال
حرف میزنند، هرگز مستقیم با نود. هر دیمن مخزن خودش را دارد —
wireguardd،
openvpnd،
openconnectd،
dnsd و netpolicyd — و بهصورت
submodule اضافه شده است.
partial گزارش میشود و همان generation دوباره امتحان میشود.این یک control plane داخلی محصول است، نه یک SaaS عمومی چندمستأجری. API پورتال (احراز هویت، دستگاهها، خروجی، صورتحساب، تیکتها) و کنسول مدیریت در حال استفادهاند؛ اپهای بومی کلاینت هنوز در مرحلهٔ طراحی و ساختاند؛ IKEv2 و SSO/OIDC برنامهریزی شدهاند و هنوز عرضه نشدهاند. سورس خصوصی است.
Go و chi برای control plane و agent؛ React 19، TanStack Start / Router / Query / Table، shadcn/ui و Tailwind v4 برای کنسول مدیریت و پورتال؛ Prometheus و Alertmanager برای مانیتورینگ.