この記事では、サーバーに Wireguard VPN を設定する方法について詳しく説明します。仮想サーバーでもプライベート サーバーでもかまいません。
この VPN Wireguard セットアップ ガイドは、経験の浅いユーザー向けに設計されているため、すべての手順が非常に詳細に説明され、スクリーンショットが添付されています。
当社のトンネルを通過するトラフィックは暗号化され、インターネットには、ネットワークにアクセスするプロバイダーのアドレスではなく、当社の VPN サーバーの IP アドレスが表示されます。
すでにVPSをお持ちであることが前提となります。そうでない場合は、 注文 私たちからそれを。
Ubuntu 22.04オペレーティングシステムをサーバーにインストールします。別のOSを搭載したサーバーをお持ちの場合は、以下の手順に従って簡単に再インストールできます。 説明書.
Ubuntu 22.04 OSを搭載したサーバーの準備ができました。SSH経由で接続します。このプロトコルを初めて知った場合は、このプロセスが詳細に説明されている記事が役立ちます。 記事 1 番目は Linux OS 用、2 番目は Windows OS 用です。
Wireguardサーバーをセットアップする
接続が成功したら、プロセスを理解するために、いくつかのコマンドとそれによって生成される内容の説明を記述します。
リポジトリ内のパッケージのリストを更新します
apt update
パッケージ自体の更新
apt upgrade -y
Wireguardパッケージをインストールする
apt install -y wireguard
設定は /etc/wireguard/ ディレクトリに保存されるので、ディレクトリを入力する必要があります。
cd /etc/wireguard/
サーバーには公開鍵と秘密鍵が必要です。コマンドを使用してファイルとディレクトリを作成するときに、正しい権限を設定した後にそれらを生成します。
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
ここで、秘密鍵の権限を設定します。
chmod 600 privatekey
設定ファイルを作成する前に、ネットワーク インターフェイスの名前が必要です。それを調べるには、次のコマンドを使用します。
ip a
現在の接続に使用されている IP アドレスを持つインターフェースが必要です。おそらく、あなたの場合は ens3 という名前になりますが、別の名前が付けられている可能性もあります。
公開鍵と秘密鍵も必要になります。これらを表示するにはtailを使用します。
tail privatekey publickey
それは次のようになります。
編集には、 Linux テキストエディタ. 私はnanoを使います。これをインストールするには、次のコマンドを実行する必要があります:
apt install -y nano
設定ファイルを編集します。
nano /etc/wireguard/wg0.conf
お願い
ファイルを保存するには、Ctrl+Oボタンの組み合わせを使用します。
終了するには Ctrl+X
これは次のようになります。
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
私の場合はこんな感じです
IP転送をオンにします
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Wireguard サービスを開始:
systemctl start [email protected]
サーバーの再起動後にサービスを開始する場合は、次の操作を行います。
systemctl enable [email protected]
サービスステータスを表示するには:
systemctl status [email protected]
ステータスはスクリーンショットのようにアクティブになっているはずです:
弊社の指示に注意深く従った場合、この段階で、VPN Wireguard のサーバー部分を動作させるために必要なものがすべて揃っています。
Wireguardクライアントの設定
残っているのは、クライアント部分を構成することだけです。例と単純化のために、クライアント部分のキーもサーバー上で生成します。ただし、セキュリティ上の理由から、クライアント側でキーを生成する方が適切です。生成には、次のコマンドを使用します。
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
電話で VPN を使用するためのキーも生成します。
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
これらはすべてカタログに掲載されている間に行う必要があることに注意してください。
/etc/ワイヤーガード/
別のカタログで実行することもできます。ただし、簡単にするために、/etc/wireguard/の命令を実行します。
ディレクトリ内のファイルを一覧表示するには、ls コマンドを使用します。次のように表示されます。
公開鍵を画面に表示しましょう。ネットワークにノードを追加するために必要になります。
tail mypc_publickey myphone_publickey
私の場合は次のようになります:
設定ファイルを編集してみましょう:
nano wg0.conf
次の行を追加します。
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
設定ファイルは次のようになります。
ファイルを保存してサービスを再起動します。
systemctl restart wg-quick@wg0
すべてが成功したか確認してみましょう:
systemctl status wg-quick@wg0
ステータスはアクティブである必要があります
サーバー構成ファイル (wg0.conf) を編集した後は、毎回サービスを再ロードする必要があります。
次に、クライアント(私の場合は PC と電話)の設定を作成します。サーバーでも同じことを行います。
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
エンドポイント フィールドには、サーバーの IP アドレスが表示されます。これは、SSH 経由で接続するために使用した IP アドレスです。インターフェイスとアドレスを表示するには、ip a コマンドを使用します。
モバイル用のWireguardを設定する
携帯電話にも同様の設定を作成します。アドレスを変更するだけです。PC の場合は 10.30.0.2/32 でしたが、携帯電話の設定では 10.30.0.3/32 にします。また、他のデバイスで VPN を使用する場合は、設定ファイルと wg0.conf サーバー設定ファイルの Address フィールド、設定を作成するときに AllowedIPs フィールドに他のアドレスを追加する必要があります。
私の場合、ファイルは次のようになります:
設定ファイル
私の電話.conf
接続にはWireguardクライアントをインストールします https://www.wireguard.com/install/
Windowsアプリケーションでは、新しいトンネルを追加し、mypc.confファイルに作成された構成を入力します。
トンネルを起動し、ブラウザでアドレスを表示するウェブサイトにアクセスします
携帯電話に VPN を簡単に追加するには、サーバー上に QR コードを生成するプログラムをインストールします。
apt install -y qrencode
構成ディレクトリに移動して、次の手順を実行します。
qrencode -t ansiutf8 -r myphone.conf
次に、電話で Wireguard アプリに入り、+ を押して新しいトンネルを作成し、QR コードのスキャンを選択してスキャンし、VPN をオンにします。次に、出力 IP アドレスを表示するリソースを使用して、サーバーのアドレスが表示されていることを確認します。
できたね!