Repolode
masterking32

masterking32/MasterDnsVPN

DNSクエリと応答にTCP通信を載せて、検閲や不安定なネットワークを回避するDNSトンネリングVPN。

スター
7,314
フォーク
754
未解決の Issue
20
最終コミット
5 日前

これは何?

MasterDnsVPNはDNSクエリと応答を介してTCP通信を運び、他のプロトコルをフィルタリングするネットワークからは通常の名前解決に見えるようにします。DNSTTやSlipStreamの代替として位置づけられており、独自のトランスポートにARQ再送を採用し、これらのツールよりヘッダーのオーバーヘッドを抑えています。

クライアントはローカルのSOCKS5プロキシ(または固定TCP転送モード)を提供し、サーバーは委任されたサブドメインで動作します。クライアントは再帰リゾルバーのプールを管理し、MTUをテストして、複数ある方式のいずれかで各リゾルバーにクエリを振り分けます。信頼性向上のためにパケットを複製することもでき、稼働状況に応じてリゾルバーを無効化したり、再テストしたりします。ペイロードはXOR、ChaCha20、AES-GCMで暗号化でき、キャッシュ機能付きのローカルDNSサービスもオプションで利用できます。

セットアップには、Aレコードを持つドメインと、サブドメインをサーバーに委任するNSレコード、さらにUDP/TCPポート53の開放が必要です。Windows、macOS、Linux(ARM、MIPS、RISC-Vを含む)、Termux向けのビルド済みバイナリが提供されており、複数のアーキテクチャ向けにDockerイメージも公開されています。

主な機能

  • 01独自のトランスポートとARQ再送を使い、DNSクエリを介してTCP通信を運ぶ。
  • 02複数の選択方式を使って、リゾルバーのプールにリクエストを振り分ける。
  • 03稼働中のリゾルバーの組み合わせでMTUをテストし、それに合わせてパケットサイズを調整する。
  • 04パケットをリゾルバー間で複製し、損失の多い回線での到達率を高められる。
  • 05ペイロードをXOR、ChaCha20、AES-GCMで暗号化できる。
  • 06ローカルのSOCKS5プロキシと、キャッシュ機能付きのローカルDNSサービス(オプション)を提供する。

ユースケース

  • VPNプロトコルは遮断されていてもDNSは許可されているネットワークから、オープンなインターネットに接続する。
  • 研究目的でDNSトンネリングの挙動やリゾルバーの耐障害性をテストする。
  • 小規模なVPSやルーター相当のデバイスで、自前のトンネルサーバーを運用する。
  • 不安定な接続を介し、ローカルのSOCKS5プロキシ経由でブラウザーやアプリの通信を転送する。

クイックスタート

  1. 1

    委任するサブドメインのAレコードとNSレコードを作成し、サーバーを参照するように設定します

  2. 2

    READMEに記載された公式のLinuxサーバーインストールスクリプトを実行します

  3. 3

    サーバーのファイアウォールでUDPポート53を許可します

    sudo ufw allow 53/udp

使う前に知っておきたいこと

  • 独自のドメインが必要です。また、サーバーが動作する前にDNS委任を設定する必要があります。
  • READMEに記載されているのはLinuxサーバーのセットアップのみです。DNSレコードの反映には数時間、場合によっては最大48時間かかることがあります。
  • READMEには、教育および研究目的に限って提供されると記載されています。これを使って現地の法律を回避すると、法的な結果を招くおそれがあります。

トピック

よくある質問

MasterDnsVPN とは?
DNSクエリと応答にTCP通信を載せて、検閲や不安定なネットワークを回避するDNSトンネリングVPN。 MasterDnsVPNはDNSクエリと応答を介してTCP通信を運び、他のプロトコルをフィルタリングするネットワークからは通常の名前解決に見えるようにします。DNSTTやSlipStreamの代替として位置づけられており、独自のトランスポートにARQ再送を採用し、これらのツールよりヘッダーのオーバーヘッドを抑えています。
MasterDnsVPN は無料で使えますか?ライセンスは?
MasterDnsVPN は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
MasterDnsVPN は今もメンテナンスされていますか?
活発にメンテナンス中。MasterDnsVPN の最終コミットは 2026年11月2日 です。
MasterDnsVPN は何に使えますか?
VPNプロトコルは遮断されていてもDNSは許可されているネットワークから、オープンなインターネットに接続する。 研究目的でDNSトンネリングの挙動やリゾルバーの耐障害性をテストする。 小規模なVPSやルーター相当のデバイスで、自前のトンネルサーバーを運用する。 不安定な接続を介し、ローカルのSOCKS5プロキシ経由でブラウザーやアプリの通信を転送する。
MasterDnsVPN のインストール方法は?
委任するサブドメインのAレコードとNSレコードを作成し、サーバーを参照するように設定します READMEに記載された公式のLinuxサーバーインストールスクリプトを実行します サーバーのファイアウォールでUDPポート53を許可します: sudo ufw allow 53/udp
MasterDnsVPN はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/masterking32/MasterDnsVPN

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト