WireGuard VPN: VPN サーバーとクライアントのインストールと構成 |イティジック (2024)

WireGuard VPN の機能

ワイヤーガード-VPNそれもソフトウェアです仮想プライベート ネットワーク (VPN) を作成します。非常に設定が簡単とても早い(IPsec や OpenVPN よりも高速) を使用します。最先端の暗号化を標準装備、異なる対称暗号化アルゴリズム、非対称暗号化アルゴリズム、ハッシュ化アルゴリズムのいずれかを選択する必要はありません。 WireGuard VPN の目標は、設定が難しく速度も遅い IPsec や人気の OpenVPN を使用するのではなく、標準となり、より多くのホーム ユーザーや企業に使用されるようにすることです。このソフトウェアは、家庭とスーパーコンピュータの両方のすべてのユーザー グループ向けに設計されています。

Mit WireGuard VPN接続を管理する必要はありません仮想プライベート ネットワーク自体の健全性、プロセスの管理、またはこれを機能させるソフトウェアの下にあるものを把握することを心配します。これは、ログを調べて何が起こったかを調べる必要がある場合が多い IPSec と同様です。もう 1 つの強みは、構成が非常にシンプルでありながら非常に強力であることです。

これソフトウェアはL3 VPNです、 それでおしまいトンネリングのみを使用する、トランスポート モードまたはトンネル モードで動作するオプションがある OpenVPN としては提供されません。この場合、常にトンネル モードを使用します。さらに、両方のモードと互換性があります。IPv4ネットワークとIPv6ネットワークさらに、IPv4 パケットを IPv6 でカプセル化することも、その逆も行うことができます。 WireGuard で使用されるトランスポート層プロトコルは次のとおりです。UDPしたがって、NAT を実行しているルーターで特定のポートを開く必要があります (これは選択のために変更できます)。

オペレーティング システムの互換性

この新しい VPN ソフトウェアは、最初に次の目的のために開発されました。Linuxカーネルですが、そうですクロスプラットフォームと互換性があるため、ウィンドウズ、Linux、MacOS、FreeBSD、アンドロイドそしてiOSオペレーティングシステム。このソフトウェアの長所の 1 つは、クライアントとサーバーの構成が、異なるオペレーティング システムでも同じ構文でまったく同じであるため、Linux 上でサーバーとクライアントを構成し、その構成を他のデバイスで「渡す」ことができることです。内部のオペレーティング システム。

使用される暗号

IPsec および OpenVPN プロトコルでは、クライアントとサーバーの両方が、(IPsec の) フェーズ 1 とフェーズ 2、および (OpenVPN の) 制御チャネルとデータ チャネルの両方で使用する暗号プロトコルに同意する必要があります。同意しない場合、接続は確立されません。正しく確立されています。ワイヤーガード完全な暗号化「パッケージ」を提供します何も選択せずに接続を確保する方法。この VPN で使用されている暗号化プロトコルのいずれかが安全でないと判断された場合、脆弱性のない新しいプロトコルを使用して WireGuard の 2 番目のバージョンを開始するだけで済み、クライアントとサーバーの間で「バージョンが使用されている」ことが通知されます。 2」は、私たちにとって完全に透過的であるためです。

もう 1 つの非常に重要な詳細は、これが VPN を使用していることです。非常に小さなソースコード。 StrongSwan や OpenVPN と比較すると、コード行数が非常に少ないため、監査を非常に短時間で実行でき、潜在的な脆弱性やセキュリティ ホールを見つけるのも容易になります。コードの行数が少ないため、VPN プログラミングに対する攻撃の可能性のある領域も小さくなります。

WireGuard VPN は現在使用中ですチャチャ20対称暗号化の場合、認証済みポリ1305AEAD 構造を使用します。これも便利ですカーブ25519ECDHの場合、ブレイク2ウサギにとって、SIPHash24のためにハッシュ表キーと香港防衛軍最大限のセキュリティとパフォーマンスを確保するために、キーの導出に最新の暗号化アルゴリズムを使用しています。

ローミングとキルスイッチのサポート

このソフトウェアでできることになっているのは、簡単かつ迅速に歩き回るデバイスがネットワークを切り替え、パブリック IP アドレスを論理的に変更する場合など。 B. Wi-Fi ネットワークおよび通信事業者の 4G / LTE ネットワークから外れても、VPN 接続はそのまま残り、VPN サーバーに対してすぐに認証が行われるため、常に VPN に接続されます。

私たちもできますデバイスのキルスイッチをアクティブにするこのようにして、VPN 接続が中断された場合、ソフトウェア自体も、VPN 接続が回復するまですべてのネットワーク トラフィックを一時停止する責任を負い、この VPN による保護なしではユーザーが移動できないようにします。

WireGuard VPN のインストール

このソフトウェアのインストールは非常に簡単です。WireGuard の公式 Web サイトにアクセスしてくださいWindows または macOS オペレーティング システム用の実行可能ファイルをダウンロードします。適切なリポジトリを備えた Linux ベースのオペレーティング システムを使用している場合は、デフォルトでは現在安定ブランチにないため、特定の WireGuard リポジトリを追加する必要がある可能性があります。

たとえば、VPN サーバーを最新の Debian バージョンにインストールしました。インストールするには、公式Webサイトに記載されている手順に従いました。インストールを正しく完了するには、スーパーユーザーの権限が必要です。

sudo echo "deb http://deb.debian.org/debian/unstable main"> /etc/apt/sources.list.d/unstable.list sudo printf 'パケット: * / nPin: release a =不安定 / nPin-優先順位: 90 / n '> /etc/apt/preferences.d/limit-unstable sudo apt update sudo apt install Wireguard

この VPN は、FreeBSD、OpenBSD などのオペレーティング システム、さらにはルータ用の OpenWRT とも互換性があることを忘れてはなりません。追加のソフトウェアはすべて通常インストールされるのと同様に、「opkg」を介してインストールされるだけです。

Android または iOS を搭載したスマートフォンに VPN クライアントをインストールしたい場合は、現在公式アプリケーションが提供されているため、以下から簡単にインストールできます。グーグルプレイそしてアプリストアそれぞれ:

WireGuard 設定: 公開キー、秘密キー、および設定ファイル

WireGuard を適切にインストールしたので、サーバーとして機能するコンピューターと、接続するすべてのクライアントの両方で WireGuard を構成する必要があります。最初に行う必要があるのは、サーバーと接続先のすべてのクライアントの両方で公開鍵と秘密鍵のペアを作成することです。キーの生成とサーバーの構成には Debian オペレーティング システムを使用しました。ただし、これを Windows ソフトウェアで直接行うこともできます。

Debian で WireGuard サーバーを実行するルートは /etc/wireguard/ なので、次のコマンドを使用してこのルートに移動します。

cd /etc/wireguard/

サーバーの公開鍵と秘密鍵の生成

この場所で公開キーと秘密キーのペアを直接生成するには、次のように入力するだけです。

wgゲンキー |ティークラーベプリバダサーバー | wg 公開鍵 > clavepublicaservidor

これで、公開キーを含むファイルと秘密キーを含むファイルの 2 つのファイルができました。

  • 秘密鍵: 6JcquylvtJsHNCdWrYMj28XsLIFJUVjlr2y5o27rO2c =
  • 公開キー: xeTkJjjBUyp8paxTgajwDa + qWjrD2RpXlJRSHMwcGDQ =

これらのキーは WireGuard VPN「サーバー」に使用します。

クライアントの公開鍵と秘密鍵も生成する

クライアントで使用する公開キーと秘密キーの別のペアを生成するには、それらを新しいフォルダーに作成するか、同じ場所に別の名前で作成します。

wgゲンキー | t シャツ claveprivadacliente1 | wg 公開鍵 > clavepublicacliente1

これで、公開キーを含むファイルと秘密キーを含むファイルの 2 つのファイルができました。

  • 秘密鍵: yPMpP2raY4FoCEJkmzQMlxzm / 6RBIW9HkjY6pVFIOnI =
  • 公開鍵: 6c12jLkKzgU9len1kQ / 6Fc61xm + LL98TPPlLsri8klE =

これらのキーは WireGuard VPN クライアントに使用されます。

サーバー構成ファイル

WireGuard サーバーの構成は、IPsec サーバーや OpenVPN サーバーと比べて非常に簡単です。ただし、考慮する必要があることがいくつかありますので、それについては以下で説明します。

サーバーにはそれが必要です」インターフェースこのセクションでは、次のことができます。プライベートIPアドレスこれにより、クライアントが接続するときにサーバーが識別されます。この VPN は L3 であるため、特定の時点で使用されていないプライベート IP アドレスを指定できることを覚えておく必要があります。たとえば、OpenVPN では、デフォルトのサブネットは 10.8.0.0/24 です。ここで、同じまたは異なるサブネット 192.168.2.0/24 を指定することもできます (192.168.2.1 はサーバー自体であり、他の IP はクライアントです)。 。 « の構文を使用すると、住所»必要な VPN サブネットを設定します。

私は "秘密鍵»以前にサーバー用に生成した秘密キーを入力する必要があります。の中に "リッスンポート»サーバーに使用する UDP ポートを設定します。 NAT を備えたルーターの背後にいる場合は、後で NAT でこのポートを「開く」必要があります。

最後に、«Interface» のこのセクションでは、仮想インターフェイスが «PostUp» で起動され、仮想インターフェイスが «PostDown» でトリガーされた後に実行されるコマンドを定義することもできます。ご覧のとおり、このインターフェイスに対して NAT を実行したくないため、現在コメントしていますが、完全に実行できる可能性があります。

エリア内 "ピアここで、接続を許可するクライアントのリストを挿入する必要があります。この場合、接続するのは 1 つの「ピア」だけなので、公開鍵を「」として定義します。公開鍵»当社が以前に作成したもの (または顧客が作成した可能性があるため、顧客が当社に提供したもの) に加えて、顧客が特定の IP アドレスで接続できるようにするかどうかを指定できます。とともに "許可されたIP»ディレクティブ 送信元 IP アドレスをフィルタリングできます。 0.0.0.0/0 を設定すると、任意の IP アドレスを許可することになります。

[インターフェース] アドレス = 192.168.2.1/24
プライベートキー = 6JcquylvtJsHNCdWrYMj28XsLIFJUVjlr2y5o27rO2c =
リッスンポート = 51820

#PostUp = iptables -A FORWARD -i% i -j ACCEPT; iptables -A FORWARD -o% i -j ACCEPT; iptables -t nat -A ポストアウト -o ens33 -j マスカレード
#PostDown = iptables -D FORWARD -i% i -j ACCEPT; iptables -D FORWARD -o% i -j ACCEPT; iptables -t nat -D ポストルーティング -o ens33 -j マスカレード

[ピア] パブリックキー = 6c12jLkKzgU9len1kQ / 6Fc61xm + LL98TPPlLsri8klE =
許可される IP = 0.0.0.0/0

さらに「ピア」を追加したい場合は、次のように構成ファイルで個別に定義するだけです。

[インターフェース] アドレス = 192.168.2.1/24
プライベートキー = 6JcquylvtJsHNCdWrYMj28XsLIFJUVjlr2y5o27rO2c =
リッスンポート = 51820

#PostUp = iptables -A FORWARD -i% i -j ACCEPT; iptables -A FORWARD -o% i -j ACCEPT; iptables -t nat -A ポストアウト -o ens33 -j マスカレード
#PostDown = iptables -D FORWARD -i% i -j ACCEPT; iptables -D FORWARD -o% i -j ACCEPT; iptables -t nat -D ポストルーティング -o ens33 -j マスカレード

[ピア] パブリックキー = 6c12jLkKzgU9len1kQ / 6Fc61xm + LL98TPPlLsri8klE =
許可される IP = 0.0.0.0/0

[ピア] PublicKey = クライアント公開鍵 2
許可される IP = 0.0.0.0/0

[ピア] PublicKey = 公開顧客キー 3
許可される IP = 0.0.0.0/0

[/コード]

WireGuard は仮想インターフェイスをこの名前で作成するため、構成ファイルには «wg0.conf» という名前を付けることができ、完全に区別するのに理想的です。この構成ファイルを実行するには、次のコマンドを実行するだけです。

root@debian-vm:/etc/wireguard# wg-quick up wg0

WireGuard を開始すると、仮想インターフェイスの作成、IP アドレスと MTU の入力、さらにはルーティング テーブル内の対応するルートの作成が行われます。

root@debian-vm:/etc/wireguard# wg-quick up wg0
[#] ip リンク追加 wg0 タイプ ワイヤーガード
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 アドレス追加 192.168.2.1 dev wg0
[#] ip リンク セット mtu 1420 アップ dev wg0
[#] wg セット wg0 FWmark 51820
[#] ip -4 ルート追加 0.0.0.0/0 dev wg0 テーブル 51820
[#] ip -4 ルール追加ではありません fwmark 51820 テーブル 51820
[#] ip -4 ルール追加テーブル main stop_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n

クライアント用の設定ファイル

WireGuard クライアントの構成は、IPsec サーバーや OpenVPN サーバーに比べて非常に簡単です。ただし、考慮する必要があることがいくつかありますので、それについては以下で説明します。

クライアントには「」が必要です。インターフェースこのセクションでは、次のことができます。プライベートIPアドレスこれにより、接続時にクライアントが識別されます。この VPN は L3 であるため、特定の時点で使用されていないプライベート IP アドレスを指定できることを覚えておく必要があります。たとえば、OpenVPN では、デフォルトのサブネットは 10.8.0.0/24 です。ここで、同じまたは異なるサブネット 192.168.2.0/24 を挿入することもできます (以降、192.168.2.1 がサーバー自体であり、アドレス 192.168.2.2 になります)。次の構文を使用する顧客になります。住所「必要な VPN サブネットを設定します。

私は "秘密鍵»以前にクライアント用に生成した秘密キーを入力する必要があります。

エリア内 "ピア「公開鍵をここに置く必要があります」公開鍵「接続先の WireGuard サーバー、つまり、この公開キーはサーバーから提供される必要がありました。この機会に、「許可されたIPただし、今回は、VPN を特定のサブネット (または複数のサブネット) のみに通過させるか、すべてのインターネット トラフィックを仮想プライベート ネットワーク経由でルーティングするかを選択できます。サブネットをカンマで区切ると、サーバー上に存在する複数のサブネットにアクセスできます。すべてのトラフィックを転送したい場合は、IPsec の場合と同様に、単純に 0.0.0.0/0 を入力します。

最後に«終点» このステートメントでは、WireGuard VPN が実行されているサーバーのパブリック IP アドレスと、その後に使用される UDP ポートの 2 つのドット (:) を定義します。 WireGuard は UDP を使用するため、ファイアウォールでフィルタリングしないでください。

ソフトウェアと WireGuard との通信は、使用されていないときはできるだけ目立たないように努めます。これは、トンネルをアクティブに保つために VPN 経由でデータを継続的に送信しないことを意味します。スマートフォンのバッテリーやモバイルデータの節約に最適です。ほとんどの一般的な構成では、これは完全に機能しますが、NAT の背後にいる場合や、ファイアウォールデータが送信されていないため、通信が中断される可能性があります。したがって、「キープアライブ」を設定する必要があります。キープアライブを設定するには、PersistentKeepAlive ディレクティブを指定し、キープアライブの秒数を示す整数を入力するだけです。公式ドキュメントによると、ほとんどのファイアウォールと NAT システムでは 25 秒の設定で十分です。 0 を設定すると、この機能は無効になります。NAT またはファイアウォールの内側にいて、長期間トラフィックがなかった後に受信接続を受信したい場合は、この指示が必要です。そうしないと、実装できない可能性があります。

[インターフェイス] PrivateKey = yPMpP2raY4FoCEJkmzQMlxzm / 6RBIW9HkjY6pVFIOnI =
アドレス = 192.168.2.2/32

[ピア] PublicKey = xeTkJjjBUyp8paxTgajwDa + qWjrD2RpXlJRSHMwcGDQ =
許可される IP = 0.0.0.0/0
エンドポイント = 10.10.2.86:51820

#PersistentKeepalive = 25

Windows オペレーティング システムでは、同じ設定をインポートして接続の準備をすることができます。クライアントを最初から接続することもできますが、生成された公開キーを WireGuard サーバーに「渡す」必要があります。

WireGuard VPN: VPN サーバーとクライアントのインストールと構成 |イティジック (1)

WireGuard ログをチェックして、VPN 接続が正しく確立されたことを確認することも非常に重要です。接続が切断されているため、Windows クライアントですでに使用されているプラ​​イベート IP アドレスを「インターフェイス/アドレス」セクションに入力できません。

WireGuard VPN: VPN サーバーとクライアントのインストールと構成 |イティジック (2)

ご覧のとおり、WireGuard VPN の設定は非常に簡単かつ迅速です

L2TP/IPsec および OpenVPN と比較した WireGuard VPN のパフォーマンス

RedesZon​​e では、WireGuard VPN のパフォーマンスを L2TP/IPsec および OpenVPN と比較してレビューしました。テストは、オペレーターの問題を回避するためにローカル ネットワークで実行されました。これにより、ハードウェア固有の実際の最大パフォーマンスを測定できるようになります。

私たちが使用する VPN サーバー構成 (L2TP/IPsec、OpenVPN、および WireGuard 用) は次のとおりです。

  • QNAP TS-1277: AMD Ryzen 7 2700 プロセッサー; RAMメモリ: 64GB RAM DDR4;ネットワーク接続: QNAP QXG-10G2T-107 (10Gbps および Cat7 ケーブル接続)D-Link DXS-1210-10TS スイッチ
  • L2TP/IPsec および OpenVPN (UDP を使用) 用の VPN ソフトウェアは、QNAP の QVPN 2 です。
  • OpenVPN (UDP を使用) と AES-256-GCM を使用した 2 番目のテストでは、Debian で Virtualization Station を使用しました。
  • iperf3 は QTS と仮想化された Debian に手動でインストールされました。

WireGuard VPN: VPN サーバーとクライアントのインストールと構成 |イティジック (3)

私たちが使用する VPN クライアント構成 (L2TP/IPsec、OpenVPN、および WireGuard 用) は次のとおりです。

  • AMD Ryzen 7 3800x プロセッサーを搭載した PC。 RAMメモリ: 32GB RAM DDR4 3200MHz;ネットワーク接続:ASUS XG-C100CCAT7 ケーブル接続で 10 Gbit/s、D-Link DXS-1210-10TS スイッチ両方の接続のために低レベルリヒトレーザー。テストで使用したオペレーティング システム: Windows 10 1909。
  • Windows 10 L2TP / IPsec クライアント
  • OpenVPN の最新バージョン (2.4.8)
  • Windows 10 上の iperf 3。

テストで得られた性能は次のとおりです。

WireGuard VPN: VPN サーバーとクライアントのインストールと構成 |イティジック (4)

ご覧のとおり、WireGuard の実際の速度は L2TP/IPsec または OpenVPN の 2 倍です。したがって、この VPN は非常に高速であると言えます。

このセットアップ チュートリアルがお役に立ち、WireGuard サーバーとクライアントを簡単に展開して、どこからでも家庭、会社、またはインターネットに安全に接続できることを願っています。

WireGuard VPN: VPN サーバーとクライアントのインストールと構成 |イティジック (2024)
Top Articles
Latest Posts
Article information

Author: Carlyn Walter

Last Updated:

Views: 6121

Rating: 5 / 5 (70 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Carlyn Walter

Birthday: 1996-01-03

Address: Suite 452 40815 Denyse Extensions, Sengermouth, OR 42374

Phone: +8501809515404

Job: Manufacturing Technician

Hobby: Table tennis, Archery, Vacation, Metal detecting, Yo-yoing, Crocheting, Creative writing

Introduction: My name is Carlyn Walter, I am a lively, glamorous, healthy, clean, powerful, calm, combative person who loves writing and wants to share my knowledge and understanding with you.