LinuxでWireguard VPNを設定する方法
Wireguard は、デスクトップとモバイル デバイスの両方で実行できる強力なオープン ソースの仮想プライベート ネットワーク (VPN) デーモンです。IPsec や OpenVPN などの従来の VPN ソリューションに代わる高速で軽量なソリューションを提供します。ここでは、Wireguard をインストールし、3 台の Linux マシンを使用してシンプルな VPN セットアップを作成する方法を説明します。
Wireguard を VPN ソリューションとして使用する理由
Wireguard の最大のセールスポイントの 1 つは、高速で軽量な VPN デーモンであることです。従来のソリューションとは異なり、Wireguard はネットワークに多くのオーバーヘッドを追加しません。これにより、レイテンシが低減し、ノード全体のスループット レートが高くなります。
Wireguard のもう 1 つの重要な機能は、Linux カーネル内のモジュールであることです。これにより、コンピューターから追加のシステム リソースを消費することなく実行できるため、ローエンド デバイスや SOC デバイスに導入するのに最適です。
最後に、Wireguard は最新の暗号化標準と開発手法も活用しています。また、複数の正式な検証も実施されており、Wireguard のコードの正確性、セキュリティの保証、攻撃への耐性が確認されています。
Wireguardの入手
Linux で Wireguard をセットアップする最初のステップは、ディストリビューションのリポジトリからコア ツールをダウンロードすることです。これにより、ユーザー空間コマンドを使用して組み込みの Wireguard カーネル モジュールを制御できるようになります。
Ubuntu および Debian にコア ツールをインストールするには、次のコマンドを実行します。
Fedora では、パッケージ マネージャーを使用できますdnf
。
Arch Linux の場合、次のコマンドを実行pacman
して Wireguard コア ツールを取得できます。
ヘルプ画面を読み込んで、Wireguard ツールが適切にインストールされていることを確認します。
Wireguardサーバーの設定
前提:この記事では、パブリックにアクセス可能な IPv4 アドレスを持つ Linux システムに Wireguard サーバーをインストールすることを前提としています。手順は NAT の背後にあるサーバーでも機能しますが、サブネット外のノードは見つかりません。
Linux マシンに Wireguard コア ツールキットをインストールすると、VPN のサーバー ノードを設定できます。これは、ネットワーク内のクライアント ノードのインターネット ゲートウェイとして機能します。
まず、Wireguard の設定ディレクトリに移動し、デフォルトの権限を「root のみ」に設定します。
Wireguard サーバーの公開キーと秘密キーを生成します。
お気に入りのテキスト エディターを使用して、サーバーの構成ファイルを作成します。
次のコード ブロックをサーバー構成ファイル内に貼り付けます。
新しいターミナル セッションを開き、サーバーの Wireguard 秘密キーを印刷します。
サーバーの秘密鍵をクリップボードにコピーします。
変数の値をPrivateKey
クリップボード上のキーに置き換えます。
次のコマンドを使用して、インターネットにアクセスできるネットワーク インターフェイスを見つけますip
。
-o
両方のフラグPostUp
と変数の値をPostDown
インターネット アクセスのあるインターフェイスに設定し、構成ファイルを保存します。
お好みのテキスト エディターを使用して、サーバーの「/etc/sysctl.conf」ファイルを開きます。
を含む行までスクロールしnet.ipv4.ip_forward=1
、その前のポンド記号 (#) を削除します。
次のコマンドを実行して、新しい sysctl 構成を再ロードしますsudo sysctl -p
。
Wireguardクライアントの設定と接続
この時点で、ピアのない適切に構成された Wireguard サーバーができました。これを使用するには、最初の Wireguard クライアントをセットアップして接続する必要があります。
クライアント システムの Wireguard 構成ディレクトリに移動し、デフォルトの権限を設定します。
次のコマンドを使用して、クライアントの Wireguard キーペアを生成します。
お気に入りのテキスト エディターを使用して、クライアントの Wireguard 構成ファイルを作成します。
次のコード ブロックをクライアント構成ファイル内に貼り付けます。
PrivateKey
変数をクライアントの秘密鍵に置き換えます。
Wireguard サーバーのターミナル セッションを開き、公開キーを印刷します。
変数の値をPublicKey
サーバーの公開鍵に設定します。
Endpoint
変数を Wireguard サーバーの IP アドレスに変更します。
設定ファイルを保存し、次のwg-quick
コマンドを使用して Wireguard クライアントを起動します。
Wireguardサーバーをクライアントにリンクする
Wireguard サーバーのターミナル セッションに移動し、その構成ファイルを開きます。
セクションの後に次のコード ブロックを貼り付けます[Interface]
。
PublicKey
変数を Wireguard クライアントの公開キーに設定します。
設定ファイルを保存し、次のコマンドを実行してサーバー上で Wireguard サービスを開始します。
サーバーに2番目のクライアントを追加する
すべての VPN サービスに共通する重要な機能の 1 つは、異なるネットワークの複数のマシンをリンクできることです。これは、複数の場所にコンピューターがある場合や、友人のためにプライベート ゲーム サーバーをホストする場合に便利です。
Wireguard でこれを行うには、サーバー上に新しい VPN インターフェイス用の設定ファイルを作成する必要があります。これを行う最も簡単な方法は、現在のサーバー設定をコピーし、そのコピーに新しい名前を付けることです。
お気に入りのテキスト エディターを使用して新しい構成ファイルを開きます。
変数を 60102 に設定しますListenPort
。これにより、wg0 と wg1 VPN インターフェイス間のポート衝突が防止されます。
セクションに移動し[Peer]
、AllowedIPs
変数を「10.0.0.2/32」から「10.0.0.3/32」に変更して、設定ファイルを保存します。
2番目のWireguardクライアントの設定
2 台目のマシンにログインし、Wireguard 構成ディレクトリを準備します。
次のコマンドを使用して、新しい Wireguard キーペアを生成します。
お気に入りのテキスト エディターを使用して新しい構成ファイルを作成します。
新しい設定ファイル内に次のコード ブロックを貼り付けます。
PrivateKey
変数を 2 番目のマシンの秘密キーに設定し、PublicKey
変数をサーバーの公開キーに変更します。
Endpoint 変数を、サーバーの IP アドレスに置き換え、その後に「:60102」を付けます。
設定ファイルを保存し、2 台目のマシンの Wireguard クライアントを起動します。
2番目のクライアントをWireguardサーバーにリンクする
Wireguard サーバーに再度ログインし、2 番目のクライアントの VPN インターフェイス設定を開きます。
セクションまで下にスクロールし[Peer]
、PublicKey
変数を 2 番目のクライアントの公開キーに置き換えます。
設定ファイルを保存し、wg-quick コマンドを使用して 2 番目の VPN インターフェイスを起動します。
を実行して、最初の Wireguard クライアントと 2 番目の Wireguard クライアントがサーバー上に正しく表示されていることを確認しますwg
。
Wireguardネットワークのテスト
サーバーとクライアントの両方が Wireguard ネットワーク上にあるため、ノード間の接続性と遅延をテストできます。これを行うには、システムにネットワーク診断ツールがインストールされていることを確認してください。
curl
Fedora では、ネットワーク ツールがすでに付属しているため、インストールするだけで済みます。
pacman
Arch Linux の場合、ネットワーク ツールをインストールするために以下を使用できますcurl
。
まず、2 つのクライアント間のパケットのルートを追跡します。次の図は、IP パケットが「10.0.0.2」から「10.0.0.3」に移動する様子を示しています。
共通 IP アドレスに ping を実行して、いずれかのノードがパブリック インターネットにアクセスできるかどうかを確認します。
最後に、ノードが Wireguard サーバーと同じパブリック IP アドレスを共有していることを確認します。
Linux で Wireguard ネットワークを設定する方法を学ぶことは、魅力的な VPN の世界を探索するための第一歩です。詳しく調べて、現在入手できるセキュリティ重視の最高の VPN プロバイダーのおすすめをご覧ください。
画像クレジット: Kari Shea、UnsplashおよびWikimedia Commons経由。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す