SDA Gateway 요구 사항
운영 체제
Linux
Linux용 SDA Glue 서비스는 SoftEther VPN Client를 기반으로 구축되었으며, 방화벽 관리를 위해 네이티브 Linux IP 스택과 iptables를 활용합니다. 이 서비스는 다른 Linux 배포판에서도 동작할 수 있으나, Red Hat Enterprise Linux와 같은 nftables 기반 시스템에서는 충분히 테스트되지 않았습니다. 최적의 호환성과 지원을 위해 Debian 기반 배포판에 Gateway를 배포하는 것을 강력히 권장합니다.
시스템 요구 사항:
- 아키텍처: ARM, ARM64, i386 또는 AMD64
- CPU 및 메모리: 최소 1 GHz 듀얼 코어 프로세서 및 512 MB RAM
- 서비스 관리: systemd
- 커널 버전: 5.6 이상
- 배포판: Debian 또는 Ubuntu 기반 배포판
- 종속성: SoftEther VPN Client(설치 과정에서 자동 설치됨), OpenVPN(선택 사항, 수동 설치 필요)
Windows
SDA Glue의 Windows 구현은 OpenVPN Community Client를 활용하며, 네트워크 기능을 위해 Windows Network Address Translation(WinNAT/NetNat)에 의존합니다. WinNAT는 모든 Windows 버전에서 기본적으로 활성화되어 있지 않을 수 있으며, 수동 활성화가 필요할 수 있다는 점에 유의하십시오.
시스템 요구 사항:
- 운영 체제: Windows 10 Professional/Enterprise 또는 Windows Server 2016 이상
- 아키텍처: ARM, ARM64, i386 또는 AMD64
- CPU 및 메모리: 최소 2 GHz 듀얼 코어 프로세서 및 2 GB RAM
- 권한: 네트워크 리소스를 관리하기 위해 서비스에 상승된 권한이 필요합니다
- 종속성: OpenVPN Community Client(설치 과정에서 자동 설치됨)
- 네트워크 기능: WinNAT/NetNat(아래 구성 지침 참조)
WinNAT 확인
시스템에서 WinNAT 기능이 활성화되어 있는지 확인하려면:
- PowerShell을 관리자 권한으로 실행합니다
- 다음 명령을 실행합니다:
Get-NetNat
예상 결과:
- 기능 활성화됨: 명령이 정상적으로 실행됩니다(NAT 구성이 없는 경우 빈 결과가 반환될 수 있음)
- 기능 비활성화됨: "Get-NetNat : Invalid class" 오류 메시지가 표시됩니다
WinNAT 활성화
WinNAT가 활성화되어 있지 않은 경우, 다음 단계에 따라 활성화하십시오:
- PowerShell을 관리자 권한으로 실행합니다
- 다음 명령을 실행합니다:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
- 명령이 성공적으로 실행된 후 컴퓨터를 재시작합니다
Get-NetNat을 다시 실행하여 활성화를 확인합니다
Docker 및 Kubernetes
SDA Glue는 VPN 기능을 사용하기 위한 특정 구성 요구 사항과 함께 컨테이너 환경에 배포할 수 있습니다. 이 서비스는 보안 터널을 구성하기 위해 호스트의 TUN 디바이스 접근 권한과 네트워크 관리 기능이 필요합니다.
시스템 요구 사항:
- 호스트 아키텍처: ARM64 또는 AMD64
- TUN 디바이스 접근:
--device=/dev/net/tun— 가상 네트워크 터널 인터페이스에 대한 접근 - 네트워크 기능:
--cap-add=NET_ADMIN— 네트워크 인터페이스 구성 및 라우팅 관리
TUN 디바이스(/dev/net/tun): TUN 인터페이스는 네트워킹 스택의 레이어 3(IP 수준)에서 동작하는 가상 네트워크 디바이스로, VPN 클라이언트가 보안 터널을 구성할 때 일반적으로 사용됩니다. VPN 클라이언트는 TUN 디바이스를 사용하여 데이터를 암호화한 후 터널을 통해 VPN 서버로 전달합니다. 이 디바이스에 접근할 수 없으면 컨테이너화된 SDA Glue는 연결에 필요한 네트워크 터널을 생성할 수 없습니다.
NET_ADMIN 기능: 이 Linux 기능은 컨테이너가 인터페이스 구성, 라우팅 테이블 수정 및 방화벽 관리를 포함한 네트워크 관련 작업을 수행할 수 있도록 허용합니다. VPN 컨테이너는 네트워크 리소스를 관리하고 SDA Cloud 서비스와의 보안 통신을 위한 적절한 라우팅을 구성하기 위해 NET_ADMIN 기능이 필요합니다.
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