Ubuntu20.04にWireGuardVPNをインストールする方法

Ubuntu20.04にWireGuardVPNをインストールする方法

この記事では、Ubuntu20.04にWireGuardVPNをインストールする方法について説明します。

WireGuardは、最先端の暗号化を利用する、非常にシンプルでありながら高速で最新のVPNです。IPsecやOpenVPNなどの他の一般的なVPNソリューションと比較して、WireGuardはより高速で、構成が簡単で、フットプリントが小さくなっています。クロスプラットフォームであり、Linux、Windows、Android、macOSなど、ほぼどこでも実行できます。

WireGuardは、Noiseプロトコルフレームワーク、Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24、HKDFなどの最先端の暗号化を使用し、信頼できる構造を保護します。WireGuardは、実装の容易さとシンプルさを念頭に置いて設計されています。非常に数行のコードで簡単に実装でき、セキュリティの脆弱性を簡単に監査できるようになっています。

前提条件

  • Ubuntu20.04にインストールされた専用サーバーまたはKVMVPS。
  • rootユーザーアクセスまたは管理者権限を持つ通常のユーザー。

インストールを始めましょう。

1.サーバーを最新の状態に保ちます

# apt update -y

2. WireGuardVPNをインストールします

デフォルトのUbuntuリポジトリからWireGuardをインストールします。

# apt install wireguard -y

これにより、WireGuardモジュールとツールがインストールされます。

3.秘密鍵と公開鍵を生成します

WireGuardには、2つのコマンドラインツールwgwg-quickがあります。これらのコマンドを使用して、WireGuardVPNを構成します。

wgコマンドを使用して、以下に示すような秘密鍵と公開鍵を生成します。

# wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

WireGuard VPNネットワークの各デバイスには、秘密鍵と公開鍵が必要です。ファイルは/ etc / wireguardディレクトリに生成されます。秘密鍵を他人と共有したり、安全に保管したりしないでください。

4.トンネルデバイスを構成します

次に、VPNトラフィックをルーティングするトンネルデバイスを構成する必要があります。このタスクを実行するには、wg0.confという名前の構成ファイルを作成します。

# vi /etc/wireguard/wg0.conf

ファイルに以下の内容を追加します。

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s3 -j MASQUERADE

注:enp0s3をパブリックネットワークインターフェース名に置き換えてください。

SERVER_PRIVATE_KEYを秘密鍵に置き換えます。次のコマンドを使用して秘密鍵を見つけることができます。

# cat /etc/wireguard/privatekey

wg0.confファイルとprivatekeyファイルは、通常のユーザーには読み取れないようにする必要があります。chmodを使用して、権限を600に設定します。

# chmod 600 /etc/wireguard/{privatekey,wg0.conf}

完了したら、構成ファイルで指定された属性を使用してwg0インターフェースを起動します。

# wg-quick up wg0

出力:

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.1/24 dev wg0

[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

インターフェイスの状態と設定を確認するには、次のように入力します。

# wg show wg0

出力:

interface: wg0
public key: hV6hSNnGfUi3dFWrR1GMZTMV3gzJ/HUs3N0HYCVfA3U=
private key: (hidden)
listening port: 51820

起動時にWireGuardインターフェースを使用するには、次のコマンドを実行します。

# systemctl enable wg-quick@wg0

5.サーバーネットワーキング

NATを機能させるには、IP転送を有効にする必要があります。/etc/sysctl.confファイルを開き、次の行を追加またはコメント解除します。

# vi /etc/sysctl.conf

次のパラメータのコメントを解除します

net.ipv4.ip_forward=1

ファイルを保存し、変更を適用します。

# sysctl -p

出力:

net.ipv4.ip_forward = 1

6.ファイアウォールを構成します

UFWを使用してファイアウォールを管理している場合は、ポート51820でUDPトラフィックを開く必要があります。

# ufw allow 51820/udp

それでおしまい。インストールと構成は正常に完了しました。

この記事では、Ubuntu20.04にWireGuardVPNをインストールする方法を見てきました。


CentOS 7にCSF(ConfigServer Security&Firewall)をインストールして構成する方法

CentOS 7にCSF(ConfigServer Security&Firewall)をインストールして構成する方法

ConfigServer Security&Firewall(略してcsfとも呼ばれます)は、ステートフルパケットインスペクション(SPI)ファイアウォールです。CentOS7へのCSFのインストールと構成について学ぶ

CentOSにR1Softバックアップエージェントをインストールする方法

CentOSにR1Softバックアップエージェントをインストールする方法

CentOSにR1SoftBackupAgentをインストールして構成する方法を学びます。R1Soft Server Backup Managerは、サービスプロバイダーに柔軟でサーバーフレンドリーなソリューションを提供します。

CloudLinuxLVE制限を変更する方法

CloudLinuxLVE制限を変更する方法

この記事では、CloudLinuxLVE制限を変更する方法について説明しました。それでは、始めましょう。CloudLinux LVE制限は、LVEマネージャーを使用して変更できます。

ポートのSSHを変更する方法Linuxサーバー

ポートのSSHを変更する方法Linuxサーバー

LinuxサーバーのSSHポートを変更するには、SSH経由でサーバーにログインし、SSH構成ファイルを変更する必要があります。

CentOSにCentovaCastをインストールする方法

CentOSにCentovaCastをインストールする方法

Centova Castは、インターネットラジオストリームの主要な管理プラットフォームであり、ストリームホスティングプロバイダーに広範な洞察と制御を提供します。CentovaCast

メールサーバーでメールリレーを設定する方法

メールサーバーでメールリレーを設定する方法

次の電子メールリレー設定を使用すると、電子メール送信の問題を解決できます。

Ubuntu 18.04にApache、MariaDB、PHP、およびphpMyAdminをインストールする方法

Ubuntu 18.04にApache、MariaDB、PHP、およびphpMyAdminをインストールする方法

Ubuntu18.04サーバーにApacheMariaDBPHPとPHPMyAdminをインストールする方法を学習します。Apache、MySQL / MariaDB、およびPHPはパッケージで構成されています。それはランプとして知られています

Linuxでの基本的なユーザー管理を学ぶ

Linuxでの基本的なユーザー管理を学ぶ

Linuxでユーザーを追加、変更、または削除しますか?これがあなたにぴったりの記事です。

Linuxでの基本的なグループ管理について学ぶ

Linuxでの基本的なグループ管理について学ぶ

Linuxでのグループ管理の詳細をご覧ください。Linuxでグループを追加、グループを変更、グループを削除、メンバーを追加する方法。新しいグループを作成し、groupaddコマンドを使用します。

CentOS7にFail2banをインストールする方法を学ぶ

CentOS7にFail2banをインストールする方法を学ぶ

Fail2banは、SSH接続を保護するのに非常に役立ちます。これで、centos7にfail2banをインストールして構成し、サーバーにセキュリティのレイヤーを追加できるようになります。