オープンソースプロジェクト
passteque/gluetun avatar
passteque/gluetun

GluetunはVPN経由の通信をDockerネットワークへ閉じ込める

複数の VPN プロバイダー用のシン Docker コンテナ内の VPN クライアント。Go で記述され、OpenVPN または Wireguard、DNS over TLS を使用し、いくつかのプロキシ サーバーが組み込まれています。

スター 15,499フォーク 618GoMIT

ひと目でわかる

これは何?
Go製のGluetunは、OpenVPNまたはWireGuard、多数のVPNプロバイダ、DNS over TLS、内蔵プロキシを薄いコンテナにまとめる。
誰に向いている?
Gluetunは、VPNを通すコンテナと同じネットワーク名前空間を使い、通信経路をDocker構成で管理したい場合に向く。プロバイダの認証方式、地域、ポート転送、VPN切断時の到達性は組み合わせで変わるため、対応一覧だけで実運用を決められない。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に Go です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

薄いコンテナが担うVPNクライアント

READMEの冒頭では、Gluetunは軽量なスイスアーミーナイフ的なVPNクライアントであり、薄いDockerコンテナとして動作し、複数のVPNサービスプロバイダに接続できると説明されている。リポジトリメタデータでは言語はGoで、15,081スター、605フォーク、329のオープンイシューが記録されており、アーカイブはされていない。READMEには、このリポジトリとgluetun-wikiだけがGluetunの公式サイトであり、公式と称する他のサイトは詐欺であるという警告がある。また、2026-05-21にgithub.com/passteque/gluetunへ移行すると発表されている。これはメンテナ単独管理の組織で、Dockerイメージ名は変わらない。理由は、GitHub SponsorsをOpen Source Collectiveへ移すための個人的な事務手続きによるものと説明されている。

Gluetunのプロバイダ設定は、資格情報、国や都市、VPN方式、ポート転送などを環境変数とComposeの構成へ分けて扱う。READMEの対応表は入口であり、契約や認証情報の有効性、選んだサーバーの混雑までは判断できない。

GluetunはVPN経由の通信をDockerネットワークへ閉じ込めるでは、薄いコンテナが担うVPNクライアントを導入判断の確認対象として切り分け、READMEに明記された範囲と実際の環境で変わる部分を別々に記録する。薄いコンテナが担うVPNクライアントに関する版、入力、出力を残せば、同じ確認を後からやり直せる。

プロバイダとOpenVPN・WireGuardの選択

READMEには23のプロバイダが列挙されている:AirVPN、Cyberghost、ExpressVPN、FastestVPN、Giganews、HideMyAss、IPVanish、IVPN、Mullvad(Wireguardのみ)、NordVPN、Perfect Privacy、Privado、Private Internet Access、PrivateVPN、ProtonVPN、PureVPN、SlickVPN、Surfshark、TorGuard、VPNSecure.me、VPNUnlimited、Vyprvpn、Windscribe。OpenVPNはこのリストのすべてのプロバイダでサポートされる。Wireguardはカーネル空間とユーザー空間の両方で一部のプロバイダに対応している:AirVPN、FastestVPN、Ivpn、Mullvad、NordVPN、Perfect Privacy、ProtonVPN、Surfshark、Windscribe。Cyberghost、Private Internet Access、PrivateVPN、PureVPN、Torguard、VPN Unlimited、VyprVPNについては、カスタムプロバイダ経由でWireguardを利用でき、カスタムのWireguard設定も受け付ける。AmneziaWGは現時点ではカスタムプロバイダのみ対応で、READMEはそのうえWireguardプロバイダの対応を進めているとし、issue #134を参照している。

VPNコンテナを共有ネットワーク名前空間で使う構成では、依存サービスの公開ポートとヘルスチェックを一緒に確認する。Gluetun側のファイアウォールが期待どおりに遮断するか、DNSリークがないか、再接続時にアプリが復旧するかをログと外部確認で分けて測る必要がある。

GluetunはVPN経由の通信をDockerネットワークへ閉じ込めるでは、プロバイダとOpenVPN・WireGuardの選択を導入判断の確認対象として切り分け、READMEに明記された範囲と実際の環境で変わる部分を別々に記録する。プロバイダとOpenVPN・WireGuardの選択に関する版、入力、出力を残せば、同じ確認を後からやり直せる。

DNS over TLSとファイアウォールの関係

GluetunはDNS over TLSを内蔵し、ユーザーがDNS over TLSサービスプロバイダを選択できる。悪意のあるホスト名や広告用ホスト名、IPアドレスをDNSレベルでブロックし、24時間ごとにライブ更新する。複数のDNS over TLSプロバイダを選ぶと、split horizon DNSが可能になる。コンテナにはファイアウォールのkill switchが組み込まれており、必要なVPNサーバーとLANデバイスへのトラフィックだけを許可する。プロキシサーバーも3つ内蔵している:Shadowsocks(SOCKS5に暗号化層を追加しTCPとUDPをトンネリング)、SOCKS5(TCPとUDPをトンネリング)、HTTP(TCP経由でHTTPとHTTPSをトンネリング)。READMEはSOCKS5プロキシの一部を@angelakisと@adjscentに謝意を表している。また、Perfect Privacy、Private Internet Access、PrivateVPN、ProtonVPN向けのカスタムVPNサーバー側ポートフォワーディングも挙げている。

GluetunはVPN経由の通信をDockerネットワークへ閉じ込めるでは、DNS over TLSとファイアウォールの関係を導入判断の確認対象として切り分け、READMEに明記された範囲と実際の環境で変わる部分を別々に記録する。DNS over TLSとファイアウォールの関係に関する版、入力、出力を残せば、同じ確認を後からやり直せる。

プロキシと依存コンテナのネットワーク

イメージはAlpine 3.23ベースで、サイズは43.1MBであり、READMEはこれを小さいと説明している。対応アーキテクチャはamd64、i686(32ビット)、ARM 64ビット、ARM 32ビットv6/v7、ppc64le。READMEはまた、GluetunがKubernetesのサイドカーコンテナとして動作できると述べ、@rorphに感謝している。セットアップセクションはプロバイダ別の説明をwikiに委ね、docker-compose.ymlの例を示している。その例ではqmcgaw/gluetunイメージを使い、NET_ADMINケーパビリティと/dev/net/tunデバイスを要求し、8888ポートをHTTPプロキシ、8388ポートをShadowsocksのTCP/UDPにマップし、/gluetunにボリュームをマウントし、VPN_SERVICE_PROVIDER、VPN_TYPE、OPENVPN_USER、OPENVPN_PASSWORD、WIREGUARD_PRIVATE_KEY、WIREGUARD_ADDRESSES、TZ、UPDATER_PERIODといった環境変数を設定する。イメージはghcr.io/qdm12/gluetunとしても利用できる。

GluetunはVPN経由の通信をDockerネットワークへ閉じ込めるでは、プロキシと依存コンテナのネットワークを導入判断の確認対象として切り分け、READMEに明記された範囲と実際の環境で変わる部分を別々に記録する。プロキシと依存コンテナのネットワークに関する版、入力、出力を残せば、同じ確認を後からやり直せる。

イメージのサイズと対応アーキテクチャ

READMEには完全なセットアップ手順は含まれておらず、プロバイダ別のガイドはgluetun-wikiに誘導されている。wikiはgithub.com/qdm12/gluetun-wikiにあり、READMEはそのcommon errorsとFAQページ、そのうえ他のコンテナの接続、LANデバイスの接続、VPNサーバーリストの更新、プロバイダ追加の各ページにリンクしている。READMEのdocker-compose.ymlは最も怠惰な人向けと説明されている。コメントでは、外部コンテナが接続できるようにするにはcontainer_name行のコメントを外す必要があると書かれている。環境変数ブロックにはOpenVPNとWireguardの両方の変数があり、wikiのセットアップページを参照するコメントが付いている。READMEはまた、Unraidテンプレートの修正に関するディスカッションと、提案用のイシュートラッカーへのリンクを含む。

GluetunはVPN経由の通信をDockerネットワークへ閉じ込めるでは、イメージのサイズと対応アーキテクチャを導入判断の確認対象として切り分け、READMEに明記された範囲と実際の環境で変わる部分を別々に記録する。イメージのサイズと対応アーキテクチャに関する版、入力、出力を残せば、同じ確認を後からやり直せる。

Compose設定から接続を確認する

GluetunはMITライセンスで公開されており、著作権はQuentin McGaw(2018)に帰属する。このライセンスは、ソフトウェアのコピーを使用、複製、変更、統合、公開、配布、サブライセンス、販売する権利を、すべてのコピーまたは実質的な部分に著作権表示と許可表示が含まれることを条件に許諾する。また、ソフトウェアは現状のまま提供され、いかなる種類の保証もなく、著者または著作権者は使用から生じる請求や損害について責任を負わないと述べている。READMEには、プロジェクトのセキュリティ保証、サポートモデル、リリース頻度は記載されておらず、これらはwiki、リリース履歴、イシュートラッカーで確認する必要がある。

GluetunはVPN経由の通信をDockerネットワークへ閉じ込めるでは、Compose設定から接続を確認するを導入判断の確認対象として切り分け、READMEに明記された範囲と実際の環境で変わる部分を別々に記録する。Compose設定から接続を確認するに関する版、入力、出力を残せば、同じ確認を後からやり直せる。

編集部の結論

Gluetunは、VPNを通すコンテナと同じネットワーク名前空間を使い、通信経路をDocker構成で管理したい場合に向く。プロバイダの認証方式、地域、ポート転送、VPN切断時の到達性は組み合わせで変わるため、対応一覧だけで実運用を決められない。採用前に使うプロバイダとプロトコルを固定し、ログの接続先、DNS応答、外部IP、VPN停止時に依存コンテナが通信できないことを検証する必要がある。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート