WireGuard クライアント用の DNS サーバー
クライアント用に DNS サーバーを構成する必要があるのはなぜですか?
WireGuard クライアントが DNS サーバーにクエリを実行する場合、このアクセスはトンネルを通過しないため、暗号化されないままになる可能性があります。オープン WLAN などでネットワーク トラフィックを記録する人は、結果として得られたデータを使用する可能性があります。
WireGuard サーバーの監視
ユーザーがオンラインかどうかを確認するためにコマンド ラインを常に検索する必要はありません。これ用の GUI はありますか?
Darkstat は私たちにとって実用的なソリューションであることが証明されています。特に、これは Debian のパッケージとして利用可能であり、必要に応じて、WireGuard クライアントに限定されたテーブルを表示します。こちらが正しいものです設定ファイルこの場合、残念ながら、IPv4 ビューと IPv6 ビューのどちらかを選択する必要があります。どちらも機能しません。
Piホールとワイヤーガード
プライベート DNS サーバー、特に Pi-Hole も使用できますか?
最初の回答を参照してください。 WireGuard と Pi-Hole はうまく連携します。パフォーマンスの奇跡を期待しない場合は、Raspi で一緒に実行できます。 Pi-Hole を IPv6 と互換性があるように設定する方法については、c't の記事を参照してください。Raspberry Pi と Pi-hole を使用して悪意のあるコードと広告をフィルタリングする示されています。
サーバーがダサい
WireGuard サーバーが遅いと感じますが、なぜですか?何を期待できますか?
WireGuard はスリムで高速であると考えられていますが (実験では従来の VPN プロトコルより 4 倍高速であることが示されました)、もちろん奇跡を起こすことはできません。 Raspberry Pi Zero W で iperf3 を使用すると、スループットが WireGuard なしの場合の約 30 Mbit/s から、アクティブな VPN 接続のある場合の約 13 Mbit/s に低下することが観察されました。また、x86 ハードウェアでは、保護されていない接続と比較してデータ レートが大幅に低下します。つまり、古い HP MicroServer Gen8 上の Proxmox VM では、負荷が約 800 Mbit/s から 220 Mbit/s になります。
Docker 経由の WireGuard サーバー
Docker をあまりいじらずに WireGuard サーバーを起動できますか?
これを行うには基本的に 2 つの方法があります。Docker ホスト自体に WireGuard カーネル モジュールが装備されている必要があります (これにより、一切の手間が省けます)。もう 1 つは、純粋なユーザー モード実装である WireGuard-Go に依存する Docker イメージを使用することです。これは、たとえば、Docker Hub の masipcat/wireguard-go として利用できます。このようなソリューションの難点は、優れたネットワークと Docker の深い経験がなければ運用できないことです。 IPv4 の場合でも、あらゆる種類のいじりを行う必要があります。 IPv6 では労力が増加します。
WireGuard の GUI
WireGuard サーバーを管理するための優れた GUI はありますか?
まだ見つかりません。クライアントをセットアップする簡単な方法を考え出しましたシェルスクリプト助けてくれた。必要なエントリを wg0.conf ファイルに追加し、クライアントごとに個別の構成ファイルを作成し、クライアントを /etc/hosts ファイルに名前で記録して、「darkstat」内の名前で認識できるようにします。このスクリプトは、削除機能などの多くの機能が欠けている簡単な修正にすぎません。同様のスクリプトはインターネット上のさまざまな場所で見つけることができます。
断線
DSL 接続が再確立されると、スマートフォンはホーム ルーターの背後にある WireGuard サーバーへの接続を失います。その後、常に手動で WireGuard 接続を切断して再接続する必要があります。私に何ができる?
結局は少ない。 PersistentKeepAlive = 15 という設定があり、これを使用すると、WireGuard が接続上でパケットを一定の間隔 (この例では 15 秒) で送信できるようになります。残念ながら、これにより、WireGuard サーバーの IP アドレスが変更された場合に必要となる新しい名前の要求は強制されません。このような場合に備えて、サーバーの IP アドレスの変更をチェックするスクリプトなどの補助構造を構築できないモバイル デバイスでは、当面はこれを使用する必要があります。
ルーターおよび WireGuard サーバー
他の VPN テクノロジーでよく提供されているように、私のルーターを WireGuard サーバーとして機能させることはできませんか?
彼ができた。残念ながら、商用ルーターに WireGuard が実装されているのは依然として非常にまれです。ただし、OpenWRT プロジェクトは、ダウンロードを適切にサポートする代替ファームウェアを多くのルーターに提供します。 OpenWRT で WireGuard を使用する方法に関する記事はありませんOpenWrt を使用して古いルーターに新しいタスクを与える示されています。
IPv6 アクセスを確認する
WireGuard サーバーが IPv6 パケットを転送するかどうかをテストするにはどうすればよいですか?
WireGuard 接続を使用している場合は、ブラウザがネットワークにどのように接続されているかを示す Web サイトにアクセスしてください。オンラインではheiseで見つけることができますそのようなサービス, ただし、これによってわかるのは、アクセスに IPv4 アドレスが使用されているか、IPv6 アドレスが使用されているかだけです。もっと詳しく知りたい方はお届けしますipv6-test.com非常に詳しい情報。
WireGuard クライアントをホーム ネットワークから切断する
ルーターの背後に WireGuard サーバーをインストールしました。 WireGuard クライアントをホーム ネットワークの他の部分から隔離して、NAS やプリンターに到達しないようにするにはどうすればよいですか?
サーバーが最終的に NAS などのすべてのデバイスと IP ネットワーク内にある場合は、iptables ルールで十分です。これにより、WireGuard サーバーは、ネットワークのローカル ゲートウェイ以外のデバイスに送信されるすべてのパケットを破棄できるようになります。ゲートウェイ 192.168.25.1 を備えた内部 IPv4 ネットワーク 192.168.25.0/24 の場合、このようなルール セットは次のようになります。
iptables -I FORWARD -i wg0 --destination 192.168.25.0/24 -j REJECT
iptables -I FORWARD -i wg0 --destination 192.168.25.1 -j ACCEPT
最初のルールは、WireGuard からローカル ネットワークへのすべてのトラフィックを防止し、2 番目のルールはゲートウェイの例外を作成します。 「-I」を指定して呼び出すと、最後に挿入されたルールがチェーンの最初に処理されます。
WireGuard を越えたネットワークへのアクセス
ローカル ネットワーク経由で WireGuard サーバーに接続しているときに、NAS などのローカル ネットワーク内のコンピュータにアクセスするにはどうすればよいですか?
WireGuard サーバーがローカル ネットワークの外側にある場合は、WireGuard アプリの接続プロパティにある [プライベート IP を除外する] オプションが Android クライアントに役立ちます。 「AllowedIPs」オプションでは、許可されているすべての一般的なプライベート ネットワークに入ります。これにより、これらのアドレスへのパケットがトンネルを通って WireGuard サーバーに流れるのではなく、トンネルを通過してローカル ネットワークに流れることが保証されます。
他の WireGuard クライアントは「プライベート IP を除外する」ことを認識しませんが、「AllowedIPs」のエントリは同様に機能します。アクセスしたいローカル コンピュータが WireGuard サーバーと同じ IP ネットワーク内にある場合は、それ以上の操作を行わなくてもアクセスが機能し、エントリは必要ありません。アクセスする必要があるローカル ネットワークが複数ある場合にのみ、追加のルールを適用する必要があります。
WireGuard を搭載した VPN
WireGuard: クロスプラットフォームのユーザー空間の実装
私の IP アドレス (heise online 上)、IPv6 アドレスが表示されます
IP アクセスに関する詳細情報 (IPv6 テストを含む)
Docker の WireGuard-Go、GitHub の masipcat/wirguard-go
darkstat の設定ファイルの例
WireGuard アクセスを作成するための Bash スクリプト フレームワーク
(ps)