メインコンテンツまでスキップ

SDA Gateway 要件

オペレーティングシステム ​

Linux ​

Linux 版 SDA Glue サービスは SoftEther VPN Client 上に構築されており、ファイアウォール管理にはネイティブの Linux IP スタックと iptables を利用します。本サービスは他の Linux ディストリビューションでも動作する可能性がありますが、Red Hat Enterprise Linux などの nftables ベースのシステムでは十分な検証が行われていません。最適な互換性とサポートのため、Gateway は Debian 系ディストリビューション上に展開することを強く推奨します。

システム要件:

  • アーキテクチャ: ARM、ARM64、i386 または AMD64
  • CPU およびメモリ: 最低 1 GHz デュアルコアプロセッサおよび 512 MB RAM
  • サービス管理: systemd
  • カーネルバージョン: 5.6 以上
  • ディストリビューション: Debian または Ubuntu ベースのディストリビューション
  • 依存関係: SoftEther VPN Client(セットアップ時に自動インストール)、OpenVPN(オプション、手動インストールが必要)

Windows ​

Windows 版 SDA Glue は 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 機能が有効になっているかを確認するには:

  1. PowerShell を管理者として開きます
  2. 次のコマンドを実行します:
Get-NetNat

想定される結果:

  • 機能が有効な場合: コマンドが正常に実行されます(NAT 構成が存在しない場合は空の結果が返ることがあります)
  • 機能が無効な場合: 「Get-NetNat : Invalid class」というエラーメッセージが表示されます

WinNAT の有効化

WinNAT が有効になっていない場合は、以下の手順で有効化してください:

  1. PowerShell を管理者として開きます
  2. 次のコマンドを実行します:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
  1. 正常に実行された後、コンピューターを再起動します
  2. 再度 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

展開の詳細、構成例、トラブルシューティングガイドの全文はこちら。