VPN
 Computer >> コンピューター >  >> ネットワーキング >> VPN

安全な WireGuard VPN を 5 分で構築 - 迅速かつ簡単

安全な WireGuard VPN を 5 分で構築 - 迅速かつ簡単

モバイル通信のセキュリティとプライバシーを維持するために、優れた VPN がいかに重要であるかはすでに理解されているかもしれません。

公共の空港やコーヒー ショップの Wi-Fi 接続を介して銀行取引に携帯電話を使用する必要がある場合でも、オンラインでのやり取りを間違った人が盗聴することが心配な場合でも、優れた VPN が提供するトンネル暗号化は非常に貴重です。

ただし、重要なのは、本当に「優れた」VPN、そして便利で手頃な価格の VPN を見つけることです。

商用の VPN サービスはたくさんあり、それらの 1 つを携帯電話やラップトップ用に設定するのは通常は十分簡単です。

しかし、このようなサービスには潜在的な欠点が 2 つあります。1 か月あたりの支払いが平均約 10 ドルと高価であることが多く、また、(偶然または意図的に) データが漏洩したり悪用されたりしていないことを 100% 確信することはできません。

また、安価な VPN では、データ使用量や接続できるデバイスの数が制限されることがよくあります。

学習を補うためにチュートリアルのビデオ バージョンを視聴したい場合は、こちらからお気軽にフォローしてください:

WireGuard が提供するもの

しかし、いずれにせよクラウドベースの Linux サーバーを実行している場合は、WireGuard VPN を構築することが、あなたの生活に本格的で妥協のないセキュリティとプライバシーを追加する簡単かつ無料の方法になる可能性があります。

VPN を自分と数人の友人が所有するデバイスのみに制限する予定であれば、サーバー上の余分なリソースの負荷に気づくことはおそらくないでしょう。たとえ専用の AWS EC2 t2.micro リザーブド インスタンスを起動して料金を支払う必要があったとしても、年間コストはほとんどの商用 VPN よりも大幅に安くなるはずです。さらに、データを完全に制御できるようになります。

これから、Ubuntu Linux サーバー上でオープン ソースの WireGuard ソフトウェアを使用して、これらすべてがどのように機能するかを説明します。

なぜワイヤーガードなのか?これは非常に使いやすく、特に攻撃に強いように設計されており、その機能が非常に優れているため、最近 Linux カーネル自体に組み込まれました。

これを実現するための実際の作業は実際に行われます。 所要時間はわずか 5 分以内です。そうは言っても、物事を計画し、予期せぬ問題のトラブルシューティングを行い、必要に応じて新しいサーバーを起動すると、プロジェクトに大幅な時間がかかる可能性があります。

環境のセットアップ方法

まず、使用しているファイアウォールで UDP ポート 51820 を開く必要があります。 AWS EC2 インスタンスに関連付けられたセキュリティ グループを検索する方法は次のとおりです。

安全な WireGuard VPN を 5 分で構築 - 迅速かつ簡単

ここで、Linux サーバー上で sudo シェルを使用して、WireGuard パッケージと resolvconf パッケージをインストールすることから始めます。

技術的には、ここでは resolvconf はおそらく必要ありませんが、Linux マシンを WireGuard のクライアントとして設定したい場合に必要になるためです。 それもここに入れておこうと思いました。

apt install wireguard resolvconf

暗号化キーを生成する方法

wg genkey コマンドは新しい秘密暗号化キーを生成し、それをファイルとして /etc/wireguard ディレクトリに保存します。このディレクトリは、WireGuard をインストールしたときに自動的に作成されました。

chmod コマンドは、その秘密キー ファイルに適切な制限付きアクセス許可を設定します。

Linux の他のすべてと同様、これを行う方法は他にもありますが、必ず正しく行うようにしてください。

wg genkey | sudo tee /etc/wireguard/private.key
chmod go= /etc/wireguard/private.key

次に、秘密キーの値を使用して、一致する公開キーを生成します。これも /etc/wireguard ディレクトリに保存されます。目標は、 サーバーのパブリックを追加することです。 使用するすべてのクライアント デバイスの WireGuard 構成にキーを追加し、それらのクライアントの公開キーをここでサーバー構成に追加します。

秘密鍵は、作成されたマシンから決して離れてはならず、常に注意深く保護する必要があります。

cat /etc/wireguard/private.key | wg pubkey | sudo tee

WireGuard サーバーを構成する方法

これで、サーバー構成ファイルを作成する準備が整いました。慣例に従って、ファイルに wg0.conf という名前を付けますが、任意の名前を付けることができます。また、複数の設定 (ファイル名が異なる) を同時に存在させることもできます。

構成は次のようになります。

[Interface]
Address = 10.5.5.1/24
ListenPort = 51820
# Use your own private key, from /etc/wireguard/privatekey
PrivateKey = your_key
[Peer]
# Workstation public key
PublicKey = your_key
# VPN client's IP address in the VPN
AllowedIPs = 10.5.5.2/32
[Peer]
# laptop public key
PublicKey = your_key
# VPN client's IP address in the VPN
AllowedIPs = 10.5.5.3/32

このファイルには、インターフェイスと 2 つのピアの 3 つのセクションがあることに注意してください。 「インターフェース」セクションでは、サーバーが使用するプライベート NAT ネットワーク アドレスを定義します。これは、クライアントが最初にサーバーのパブリック IP アドレスを介してアクセスを要求した後に接続するプライベート アドレスです。

サーバーまたはクライアントのいずれかで使用されているネットワーク ブロックと重複しない有効なプライベート IP 範囲を使用する限り、私のアドレス指定に従う必要はありません。

AWS で以前に設定した UDP セキュリティ グループ ルールと一致して、ListenPort を 51820 として定義しています。ただし、必要に応じて、別のアドレスを選択して、セキュリティを少し強化することもできます。

最後に、サーバーの秘密キーを PrivateKey の値として貼り付けます。 そのため、WireGuard は受信クライアント リクエストを認証できるようになります。

最初の peer このセクションにはパブリック以外の何も含まれていません。 キーと、1 つのクライアントに割り当てられたプライベート IP アドレス。 2 番目の peer このセクションでは、2 番目のクライアント マシンに対しても同じことを行います。

クライアントからこれらの公開キーを取得することは、このセットアップ全体で最も手動で行われるタスクです。ただし、これは独自の VPN であるため、通常はサーバー設定に直接コピーして貼り付ける方法があり、すべてを苦労して入力する必要はありません。

それがすべてであるはずです。 wg-quick を使用します。 VPN を有効にするコマンド。 up これは、作成したばかりの wg0.conf 設定を読み取り、それを使用して新しい VPN インターフェイスを構築するように WireGuard に指示します。

wg-quick up wg0

wg を実行中 それが機能したことを示してくれるでしょう。最後に、systemctl enable を実行します。 サーバーが再起動するたびにこの WireGuard インターフェイスを自動的にロードするように Linux に指示します。

systemctl enable wg-quick@wg0

WireGuard クライアントを構成する方法

サーバー側で必要なのはこれだけです。 WireGuard を使用してクライアント デバイスをセットアップすることは、はるかに簡単になるか、ほぼ同じになります。

それは何ですか? 意味は? Windows、macOS、Android、または iOS を使用している場合は、この Wireguard.com/install ページから GUI アプリへのリンクを入手できます。これらのアプリはのためのキーペアを生成します。 あなた。サーバーの IP アドレスまたはドメインとその公開キーを入力するだけです。次に、クライアントの公開キーを取得し、前に示した方法でサーバーの wg0.conf ファイルに追加します。

ただし、追加するのが Linux PC またはラップトップ クライアントの場合は、少し複雑になります。基本的には、キーの生成を含め、サーバー構成に関して説明したすべての手順に従います。 wg0-conf という名前の設定ファイルも作成します (好きな名前であれば)。ただし、その構成ファイルは次のようになります。

[Interface]
# The address your computer will use on the VPN
Address = 10.5.5.2/32
DNS = 8.8.8.8
# Load your privatekey from file
PostUp = wg set %i private-key /etc/wireguard/privatekey
# Also ping the vpn server to ensure the tunnel is initialized
PostUp = ping -c1 10.47.47.1
[Peer]
# VPN server's wireguard public key
PublicKey = your_key
# Public IP address of your VPN server (USE YOURS!)
Endpoint = 54.160.21.183:51820
# 10.0.0.0/24 is the VPN subnet
AllowedIPs = 10.47.47.0/24
# PersistentKeepalive = 25

Interface セクションは今回のクライアント マシンを表し、Peer はクライアント マシンを表します。 以下のセクションではサーバーについて説明します。 Interface から始めましょう 。プライベート IP アドレスは、サーバー上の構成でこの特定のクライアントに指定したアドレスと一致する必要があります。

クライアントがローカル DNS サーバーをバイパスする必要がある場合は、ここでカスタム DNS サーバーを指定できます。これは Google が提供するものです。

サーバー上で行ったように、ローカルの秘密キーを構成ファイルにハードコーディングする代わりに、秘密キー ファイルがロードされるたびにそのファイルを読み取るように WireGuard に指示できます。これはおそらくセキュリティ上のベスト プラクティスの一種であり、サーバー上でも同様に簡単に行うことができます。最後に、構成スクリプトは PostUp との接続をテストします。 ping コマンド。

Peer – またはサーバー – 設定にはサーバーのパブリックが必要です ここで追加されるキー。

Endpoint ここで、WireGuard にサーバーの場所を指示します。これなしでは何も機能しません!これには、サーバーのパブリック IP (またはドメイン名) と、その後に選択したポートが必要です。繰り返しますが、51820 が WireGuard のデフォルトです。

最後に、AllowedIPs この設定では、使用するネットワーク アドレス範囲と、オプションの PersistentKeepalive を定義します。 値を指定すると、接続の切断を防ぐことができます。

wg-quick up wg0 を使用して、サーバー上で実行したのとまったく同じように、クライアント上で WireGuard を起動します。 。ただし、繰り返しになりますが、これらすべての手順は Linux クライアントにのみ必要です。他のプラットフォーム用のアプリを使用することもできます。

まとめ

それがそれです。先ほど述べたように、VPN は約 5 分の作業で機能します。これで、オンライン プライバシーを保護し、通信を保護する口実が 1 つ減りました。

テクノロジーの利点をさらに知りたい場合は、私の YouTube チャンネルに登録してください。また、時間があるときに、私の bootstrap-it.com ウェブサイトから入手できる Linux、セキュリティ、データ分析、AWS に関する多くの書籍やコースをチェックしてください。

無料でコーディングを学びましょう。 freeCodeCamp のオープンソース カリキュラムは、40,000 人以上の人々が開発者としての職に就くのに役立ちました。始めましょう


  1. ダブルVPNがどのようにあなたの活動をよりプライベートなオンラインに保つことができるか

    VPNは近年非常に人気があり、インターネットユーザーはオンラインデータを可能な限り保護しようとしています。ただし、多くのVPNは1つのサーバーを使用しますが、ダブルVPNは2つのサーバーを使用します。しかし、ダブルVPNは何を提供できますか?それはあなたにとって正しい選択ですか? ダブルVPNとは何ですか? ほとんどのVPNプロバイダーは、インターネットトラフィックを暗号化するための単一のリモートサーバーを使用します。一方、ダブルVPNは、2つのリモートサーバーをチェーン接続することでトラフィックを送信します。これは、2層の暗号化が実現されることを意味します。 多くのVPNプロバイダーは基

  2. NordVPNはアンチウイルス保護を提供し、それを取得する方法をここに示します

    VPNは、オンライン中に高いレベルのプライバシーを維持できる優れたツールですが、完全ではありません。 VPNだけでは、プライバシーがトラッカーから100%保護されるわけではなく、大ざっぱなWebサイト、悪意のある広告、ウイルスを検出することはできません。 ただし、NordVPNユーザーの状況はもうすぐ良くなります。 NordVPNは脅威保護を開始しています 最近のブログ投稿で、NordVPNは、新しいサイバーセキュリティツールであるThreatProtectionを追加してVPNをレベルアップすると発表しました。物事をユーザーフレンドリーに保つために、この機能はアプリに直接統合されています