Przejdź do głównej zawartości

Wymagania dotyczące bramki SEW

Systemy operacyjne ​

Linux ​

Usługa SDA Glue dla systemu Linux została zbudowana w oparciu o SoftEther VPN Client, wykorzystując natywny stos IP systemu Linux oraz iptables do zarządzania zaporą sieciową. Choć usługa może działać w innych dystrybucjach systemu Linux, nie została ona szczegółowo przetestowana w systemach opartych na nftables, takich jak Red Hat Enterprise Linux. Aby zapewnić optymalną kompatybilność i wsparcie, zdecydowanie zalecamy wdrożenie bramki w dystrybucjach opartych na Debianie.

Wymagania systemowe:

  • Architektura: ARM, ARM64, i386 lub AMD64
  • Procesor i pamięć: minimum dwurdzeniowy procesor 1 GHz oraz 512 MB RAM
  • Zarządzanie usługami: systemd
  • Wersja jądra: 5.6+
  • Dystrybucja: dystrybucje oparte na Debianie lub Ubuntu
  • Zależności: SoftEther VPN Client (instalowany automatycznie podczas konfiguracji); OpenVPN (opcjonalnie, wymagana instalacja ręczna)

Windows ​

Implementacja SDA Glue dla systemu Windows wykorzystuje OpenVPN Community Client i zależy od mechanizmu Windows Network Address Translation (WinNAT/NetNat) w zakresie funkcjonalności sieciowej. Należy pamiętać, że WinNAT może nie być domyślnie włączony we wszystkich wersjach systemu Windows i może wymagać ręcznej aktywacji.

Wymagania systemowe:

  • System operacyjny: Windows 10 Professional/Enterprise lub Windows Server 2016 albo nowszy
  • Architektura: ARM, ARM64, i386 lub AMD64
  • Procesor i pamięć: minimum dwurdzeniowy procesor 2 GHz oraz 2 GB RAM
  • Uprawnienia: usługa wymaga podwyższonych uprawnień do zarządzania zasobami sieciowymi
  • Zależności: OpenVPN Community Client (instalowany automatycznie podczas konfiguracji)
  • Funkcje sieciowe: WinNAT/NetNat (patrz instrukcje konfiguracji poniżej)

Weryfikacja WinNAT

Aby sprawdzić, czy funkcja WinNAT jest włączona w systemie:

  1. Otwórz program PowerShell jako Administrator
  2. Wykonaj następujące polecenie:
Get-NetNat

Oczekiwane rezultaty:

  • Funkcja włączona: polecenie zostaje wykonane pomyślnie (może zwrócić pusty wynik, jeśli nie istnieją żadne konfiguracje NAT)
  • Funkcja wyłączona: wyświetlany jest komunikat o błędzie „Get-NetNat : Invalid class”

Włączanie WinNAT

Jeśli WinNAT nie jest włączony, wykonaj poniższe kroki, aby go aktywować:

  1. Otwórz program PowerShell jako Administrator
  2. Wykonaj następujące polecenia:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
  1. Po pomyślnym wykonaniu uruchom ponownie komputer
  2. Zweryfikuj aktywację, uruchamiając ponownie Get-NetNat

Docker i Kubernetes ​

SDA Glue może zostać wdrożone w środowiskach kontenerowych przy zachowaniu określonych wymagań konfiguracyjnych umożliwiających działanie funkcji VPN. Usługa wymaga dostępu do urządzenia TUN hosta oraz uprawnień administracyjnych sieci w celu zestawienia bezpiecznych tuneli.

Wymagania systemowe:

  • Architektura hosta: ARM64 lub AMD64
  • Dostęp do urządzenia TUN: --device=/dev/net/tun — dostęp do wirtualnego interfejsu tunelu sieciowego
  • Uprawnienia sieciowe: --cap-add=NET_ADMIN — konfiguracja interfejsów sieciowych i zarządzanie routingiem

Urządzenie TUN (/dev/net/tun): interfejs TUN to wirtualne urządzenie sieciowe działające w warstwie 3 (poziom IP) stosu sieciowego, powszechnie wykorzystywane przez klientów VPN do zestawiania bezpiecznych tuneli. Klienci VPN używają urządzeń TUN do szyfrowania danych przed przesłaniem ich przez serwer VPN za pośrednictwem tunelu. Bez dostępu do tego urządzenia skonteneryzowana usługa SDA Glue nie może utworzyć tuneli sieciowych niezbędnych do nawiązania łączności.

Uprawnienie NET_ADMIN: to uprawnienie systemu Linux umożliwia kontenerowi wykonywanie operacji sieciowych, w tym konfigurację interfejsów, modyfikację tablicy routingu oraz zarządzanie zaporą sieciową. Kontenery VPN wymagają uprawnienia NET_ADMIN, aby zarządzać zasobami sieciowymi i zestawiać właściwy routing dla bezpiecznej komunikacji z usługami SEW Cloud.

docker run -d \
--name glue \
--restart always \
--device=/dev/net/tun \
-p 8080:8080 \
-v glue-data:/var/lib/sdaglue \
--cap-add=NET_ADMIN \
public.ecr.aws/t9c5s2d1/sdaglue:latest

Pełne szczegóły wdrożenia, przykłady konfiguracji oraz wskazówki dotyczące rozwiązywania problemów.