GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuでWireGuardVPNを設定する方法(ステップバイステップガイド)

このチュートリアルでは、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プロジェクトのドキュメントを読むことを強くお勧めします。

この投稿が役に立った場合、または問題が発生した場合は、コメントを残してください。


Ubuntu
  1. CentOS8でWireguardVPNを設定する方法

  2. Ubuntu /DebianLAMPサーバーをセットアップする方法

  3. Ubuntu16.04でTeamSpeakサーバーをセットアップする方法

  1. Ubuntu20.04でWireGuardVPNを設定する方法

  2. VirtualBoxにUbuntuをインストールする方法:ステップバイステップガイド

  3. Ubuntu22.04でWireGuardを設定する方法

  1. Ubuntu18.04にSquidプロキシサーバーをセットアップしてインストールする方法

  2. Wireguardを使用してUbuntu20.04でVPNを作成する方法

  3. Ubuntu 20.04LTSを22.04LTSにアップグレードする方法:ステップバイステップガイド