Zdalny dostęp#

vCLU działa lokalnie – nie wymaga konta w chmurze, nie posiada wbudowanego TLS i w pełni funkcjonuje bez dostępu do internetu. Aby uzyskać dostęp zdalny, użyj zewnętrznego tunelu szyfrowanego.

Nie wystawiaj vCLU bezpośrednio na internet bez szyfrowanego tunelu. Brak wbudowanego TLS oznacza, że cały ruch jest przesyłany jako plaintext.

Tailscale (zalecany)#

Tailscale to mesh VPN typu zero-config. Raspberry Pi staje się węzłem sieci Tailscale i jest dostępne pod prywatnym adresem IP z dowolnego miejsca.

Instalacja#

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Po autoryzacji w przeglądarce Raspberry Pi otrzyma adres z puli 100.x.y.z.

Dostęp do vCLU#

http://100.x.y.z:8080

Tailscale wspiera MagicDNS – jeśli hostname Pi to vclu-pi, panel jest dostępny pod:

http://vclu-pi:8080

Zalety#

  • Konfiguracja w jednej komendzie
  • Szyfrowanie WireGuard end-to-end
  • Brak konieczności otwierania portów na routerze
  • Działa za NAT i firewallem
  • Darmowy plan do 100 urządzeń

Cloudflare Tunnel#

Cloudflare Tunnel pozwala wystawić panel webowy przez HTTPS bez otwierania portów. Ruch przechodzi przez sieć Cloudflare i trafia na localhost.

Instalacja#

# Zainstaluj cloudflared
curl -fsSL https://pkg.cloudflare.com/cloudflared-linux-arm64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb

# Zaloguj się do Cloudflare
cloudflared tunnel login

# Utwórz tunel
cloudflared tunnel create vclu
cloudflared tunnel route dns vclu vclu.twoja-domena.pl

# Uruchom tunel
cloudflared tunnel run --url http://localhost:8080 vclu

Zalety#

  • HTTPS z certyfikatem Cloudflare – bez konfiguracji
  • Brak otwartych portów na routerze
  • Ochrona DDoS w cenie
  • Możliwość dodania dodatkowej autoryzacji (Cloudflare Access)

WireGuard / OpenVPN#

Tradycyjny VPN daje pełny dostęp do sieci domowej – nie tylko do vCLU, ale do wszystkich urządzeń w LAN.

WireGuard na Raspberry Pi#

sudo apt install wireguard
wg genkey | tee privatekey | wg pubkey > publickey

Skonfiguruj /etc/wireguard/wg0.conf z adresami i kluczami, a następnie:

sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

OpenVPN#

Alternatywnie skonfiguruj OpenVPN na routerze (jeśli wspiera) lub bezpośrednio na Raspberry Pi za pomocą narzędzia pivpn.

MCP – zdalny dostęp dla agentów AI#

Endpoint MCP działa na tym samym porcie co panel webowy (/mcp). Agent AI łączy się do niego przez HTTP z uwierzytelnieniem kluczem API.

Konfiguracja#

{
  "mcpServers": {
    "vclu": {
      "url": "http://100.x.y.z:8080/mcp",
      "headers": {
        "X-API-Key": "vclu_mcp_abc123..."
      }
    }
  }
}

Za tunelem Tailscale użyj adresu Tailscale. Za Cloudflare Tunnel użyj domeny HTTPS.

Bezpieczeństwo MCP#

Każdy bot MCP ma:

  • Własny klucz API – hash SHA-256 przechowywany w .vclu.json
  • Profile dostępu – ograniczają, które urządzenia bot może odczytywać i sterować
  • Logi audytu – każde wywołanie narzędzia jest logowane

Szczegóły konfiguracji botów w rozdziale Uwierzytelnianie.

Porównanie metod#

MetodaSzyfrowanieOtwarte portyHTTPSTrudność
TailscaleWireGuardNieNie (HTTP po tunelu)Niska
Cloudflare TunnelTLSNieTakŚrednia
WireGuardWireGuardTak (1 port UDP)NieŚrednia
OpenVPNTLS/SSLTak (1 port)NieWysoka

Usługi niedostępne zdalnie#

Niektóre usługi vCLU działają wyłącznie w sieci lokalnej (LAN) i nie są tunelowane:

UsługaProtokółDlaczego tylko LAN
Discovery GrentonUDP broadcastWymaga broadcastu w segmencie L2
TFTP (konfiguracja OM)UDP port 69Protokół bez szyfrowania, wymaga LAN
mDNS (HomeKit)MulticastApple Home wymaga urządzeń w tej samej sieci
MQTT BrokerTCP port 1883Klienci MQTT łączą się lokalnie

Panel webowy, REST API i MCP – te usługi działają przez tunel bez ograniczeń.

Dobre praktyki#

  • Zawsze używaj szyfrowanego tunelu – nigdy nie wystawiaj portu 8080 bezpośrednio na internet
  • Generuj osobne klucze API dla każdej integracji zewnętrznej
  • Używaj profili dostępu, aby ograniczyć uprawnienia botów AI
  • Regularnie sprawdzaj logi audytu w panelu webowym
  • Rozważ Cloudflare Access lub Tailscale ACL dla dodatkowej warstwy autoryzacji