このチュートリアルでは、WireGuardVPNサーバーをセットアップする方法を説明します Ubuntu わかりやすい手順で。
目次
- ステップ1:サーバーでIP転送を有効にする
- ステップ2:UbuntuにWireGuardをインストールする
- ステップ3:UbuntuでWireGuardVPNサーバーを構成する
- ステップ3.1:パブリック/プライベートキーペアを生成する
- ステップ3.2:トンネルデバイスを構成する
- ステップ4:WireGuardVPNサービスを有効にして開始する
- ステップ5:WireGuardクライアントをインストールして構成する
- ステップ6:WireGuardクライアントをサーバーに接続する
- 結論
WireGuardは、最先端の暗号化を利用するオープンソースの無料の高速VPNサーバーです。通常の2つのトンネリングプロトコル(OpenVPNとIPsec)よりも優れたパフォーマンスでUDPを介してトラフィックを渡します。
WireGuardは、Linuxカーネル用に明示的に作成されたピアツーピアVPNです。 Linuxカーネル内で実行され、高速で最新の安全なVPNトンネルを作成できます。
WireGuardは、トンネルとして機能する各ピアデバイスにネットワークインターフェイスを作成することで機能します。ピアは、SSHモデルを模倣して、公開鍵を交換および検証することで相互に認証します。
ステップ1:サーバーでIP転送を有効にする
VPNサーバーがVPNクライアントとインターネット間でパケットをルーティングするには、IP転送を有効にする必要があります。 /etc/sysctl.conf
を開きます 好みのエディタを使用してファイルする:
sudo vim /etc/sysctl.conf
コメントアウト(#
を削除 その前の文字)次の行:
ファイルを保存して変更を適用します:
sudo sysctl -p
ステップ2:UbuntuにWireGuardをインストールする
このチュートリアルの次のステップは、UbuntuマシンにWireGuardをインストールし、サーバーとして機能するように設定することです。デフォルトでは、WireGuardパッケージはUbuntuのデフォルトリポジトリで利用できます。
sudo apt install wireguard
WireGuardパッケージがインストールされたら、次のステップに進むことができます。
ステップ3:UbuntuでWireGuardVPNサーバーを構成する
WireGuardは、WireGuardネットワーク内の各デバイス間で公開鍵を交換することで機能します。 WireGuardがインストールされたので、次のステップはサーバーの秘密鍵と公開鍵のペアを生成することです。
ステップ3.1:パブリック/プライベートキーペアを生成する
次のコマンドを実行して、公開鍵と秘密鍵のペアを作成します。ファイルは/etc/wireguard/
の下に保存されます ディレクトリ。
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
wg
コマンドは、WireGuardの構成を取得および設定するためのWireGuardの組み込み構成ユーティリティです。コマンドを実行すると、base64でエンコードされた出力の1行、公開鍵(server_public.key
)を受け取ります。 )WireGuardサーバー用。
秘密鍵(server_private.key
)誰とも共有してはならず、常に安全に保つ必要があります。
ステップ3.2:トンネルデバイスを構成する
次に、WireGuardのネットワークインターフェイスを作成する必要があります。 vimなどのコマンドラインテキストエディターを使用して、WireGuard構成ファイルを作成します。ネットワークインターフェース名はwg0
。
sudo vim /etc/wireguard/wg0.conf
以下に示す内容を追加してください:
[Interface]
## Private IP address for the wg0 interface ##
Address = 10.0.0.1/24
## VPN server listening port ##
ListenPort = 51820
## VPN server private key ##
PrivateKey = mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ=
## Firewall rules ##
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE
もちろん、PrivateKey
を置き換える必要があります 生成したコンテンツとともに、/etc/wireguard/server_private.key
に保存されます ファイル。
次のコマンドを使用して、秘密鍵の内容を表示できます。
sudo cat /etc/wireguard/server_private.key
必ずenp1s0
を置き換えてください -A POSTROUTING -o ...
パブリックネットワークインターフェイスの名前と一致します。次の方法で簡単に見つけることができます:
ip -o -4 route show to default | awk '{print $5}'
wg0.conf
を保存して閉じます ファイル。さらに、ファイルのアクセス許可モードを、rootユーザーのみがファイルを読み取ることができるように変更します。
sudo chmod -R 600 /etc/wireguard/
ステップ4:WireGuardVPNサービスを有効にして開始する
サーバーで次のコマンドを実行して、システムの起動時に自動起動を有効にし、WireGuardを起動します。
sudo systemctl enable [email protected]
sudo systemctl start [email protected]
次のコマンドでステータスを確認してください。 active
が表示されます 出力:
sudo systemctl status [email protected]
インターフェイスの状態と構成を確認するには、次のように入力します。
sudo wg show wg0
ステップ5:WireGuardクライアントのインストールと構成
まず、WireGuardパッケージをクライアントマシンにインストールする必要があります。これは、WireGuardサーバーのセットアップに似ています。
sudo apt install wireguard
次に、サーバーで使用した手順とまったく同じ手順を使用して、ピアで公開鍵と秘密鍵のペアを生成する必要があります。
wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key
新しい/etc/wireguard/wg0.conf
を開きます 好みのエディターを使用してWireGuardクライアントマシン上のファイル:
sudo vim /etc/wireguard/wg0.conf
次の行をファイルに追加します。
[Interface]
## VPN client private IP address ##
Address = 10.0.0.2/24
## VPN client private key ##
PrivateKey = 0COkq1GMM86CmlF5blPFDYhU84iTX8iJ7lWoC1gLfnk=
[Peer]
## VPN server public key ##
PublicKey = ZnD/WMx0kasJfGjFf0/uCtJoFbz0oNdq7EcieHXVaSc=
## VPN server public IP address and port ##
Endpoint = 192.168.122.101:51820
## Route all the traffic through the VPN tunnel ##
AllowedIPs = 0.0.0.0/0
## Key connection alive ##
PersistentKeepalive = 15
PrivateKey
を置き換えます 生成したコンテンツとともに、/etc/wireguard/client_private.key
に保存されます クライアントマシン上のファイル。
sudo cat /etc/wireguard/client_private.key
/etc/wireguard/server_public.key
にあるサーバーの公開鍵を置き換えます サーバー上のファイル。
Endpoint
を置き換えます 値(192.168.122.101:51820
)サーバーの実際のパブリックIPアドレスとポートを使用します。
最後に、ファイルを保存して閉じます。
クライアント(ピア)コンピューターとサーバー間の接続を許可するには、サーバー側VPNオプションを構成する必要があります。したがって、サーバーに戻り、/etc/wireguard/wg0.conf
を編集します。 次のようにクライアント情報を追加するファイル:
sudo vim /etc/wireguard/wg0.conf
[Peer]
## Client public key ##
PublicKey = 6FLtyfBQie9+EB3QYF55CR1FASca7vVYPReynlEccAo=
## Client IP address ##
AllowedIPs = 10.0.0.2/24
PublicKey
を置き換えます ファイルのコンテンツは/etc/wireguard/client_public.key
に保存されています クライアントマシン上のファイル 。
サーバー構成ファイルの最終バージョンは次のようになります。
ファイルを保存し、VPNサーバーを再起動して変更を適用します。
sudo systemctl restart [email protected]
ステップ6:WireGuardクライアントをサーバーに接続する
クライアントマシンで次のコマンドを実行します VPNクライアントをVPNサーバーに接続するには:
sudo systemctl start [email protected]
これで、WireGuard VPNサーバーに接続し、クライアントマシンからのトラフィックをサーバー経由でルーティングする必要があります。
それで全部です! UbuntuでピアツーピアのWireGuardVPNを使用して、クライアントとサーバーの両方を安全に接続する必要があります。
接続をテストするには、VPNクライアントに戻り、そこからpingを実行します(10.0.0.2
)VPNサーバー(10.0.0.1
)トンネルが機能するかどうかを確認します。
ping -c 3 10.0.0.1
さらに、次のコマンドで接続を確認できます:
sudo wg
トンネリングを停止するには、クライアントマシンのサービスを停止するだけです。
sudo systemctl stop [email protected]
おめでとうございます!このチュートリアルが、UbuntuにWireGuardVPNサーバーとクライアントをインストールして構成するのに役立つことを願っています。この設定により、トラフィックデータを非公開にして、匿名でWebを閲覧できます。
ここでWireGuardプロジェクトのドキュメントを読むことを強くお勧めします。
この投稿が役に立った場合、または問題が発生した場合は、コメントを残してください。