From 4f46d262e6967c9c638b40f3b0246d21b7a9b9dc Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 9 Apr 2025 20:29:15 +0900 Subject: feat(blog/nuldoc): rebuild --- .../index.html | 66 +++++++--------------- 1 file changed, 20 insertions(+), 46 deletions(-) (limited to 'vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html') diff --git a/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html b/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html index f7a6f601..05ad3423 100644 --- a/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html +++ b/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html @@ -64,60 +64,49 @@
-

はじめに

+

はじめに

- 個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたのでメモ。 + 個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたのでメモ。

-

- 登場するホストは以下のとおり: + 登場するホストは以下のとおり:

- -

- 後ろの IP アドレスは VPN 内で使用するプライベート IP アドレス。 + 後ろの IP アドレスは VPN 内で使用するプライベート IP アドレス。

-
-

WireGuard のインストール: サーバ

+

WireGuard のインストール: サーバ

- まずは個人用サービスをホストしている Ubuntu のサーバに WireGuard をインストールする。 + まずは個人用サービスをホストしている Ubuntu のサーバに WireGuard をインストールする。

-
$ sudo apt install wireguard
-

- 次に、WireGuard で使用する鍵を生成する。 + 次に、WireGuard で使用する鍵を生成する。

-
$ wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
 $ sudo chmod 600 /etc/wireguard/server.{key,pub}
-
-

WireGuard のインストール: クライアント

+

WireGuard のインストール: クライアント

- 公式サイトから各 OS 向けのクライアントソフトウェアを入手し、インストールする。次に、設定をおこなう。 + 公式サイトから各 OS 向けのクライアントソフトウェアを入手し、インストールする。次に、設定をおこなう。

-
# クライアント 1 の場合
 [Interface]
@@ -129,7 +118,6 @@
 AllowedIPs = <サーバの外部 IP アドレス>/32
 Endpoint = <サーバの外部 IP アドレス>:51820
-
# クライアント 2 の場合
 [Interface]
@@ -141,22 +129,18 @@
 AllowedIPs = <サーバの外部 IP アドレス>/32
 Endpoint = <サーバの外部 IP アドレス>:51820
-

PrivateKeyPublicKey は鍵ファイルのパスではなく中身を書くことに注意。

-
-

WireGuard の設定

+

WireGuard の設定

- 一度サーバへ戻り、WireGuard の設定ファイルを書く。 + 一度サーバへ戻り、WireGuard の設定ファイルを書く。

-
$ sudo vim /etc/wireguard/wg0.conf
-
[Interface]
 Address = 10.10.1.1/32
@@ -172,59 +156,49 @@
 PublicKey = <クライアント 2 の公開鍵>
 AllowedIPs = 10.10.1.3/32
-

- 次に、WireGuard のサービスを起動する。 + 次に、WireGuard のサービスを起動する。

-
$ sudo systemctl enable wg-quick@wg0
 $ sudo systemctl start wg-quick@wg0
-
-

ファイアウォールの設定

+

ファイアウォールの設定

- 続けてファイアウォールを設定する。まずは WireGuard が使用する UDP のポートを開き、wg0 を通る通信を許可する。 + 続けてファイアウォールを設定する。まずは WireGuard が使用する UDP のポートを開き、wg0 を通る通信を許可する。

-
$ sudo ufw allow 51820/udp
 $ sudo ufw allow in on wg0
 $ sudo ufw allow out on wg0
-

- 次に、80 や 443 などの必要なポートについて、wg0 を経由してのアクセスのみ許可する。 + 次に、80 や 443 などの必要なポートについて、wg0 を経由してのアクセスのみ許可する。

-
$ sudo ufw allow in on wg0 to any port 80 proto tcp
 $ sudo ufw allow in on wg0 to any port 443 proto tcp
-

- 最後に、ufw を有効にする。 + 最後に、ufw を有効にする。

-
$ sudo ufw status
 $ sudo ufw enable
-
-

接続する

+

接続する

- これで、各クライアントで VPN を有効にすると、当該サーバの 80 ポートや 443 ポートにアクセスできるようになったはずだ。念のため VPN を切った状態でアクセスできないことも確認しておくとよいだろう。 + これで、各クライアントで VPN を有効にすると、当該サーバの 80 ポートや 443 ポートにアクセスできるようになったはずだ。念のため VPN を切った状態でアクセスできないことも確認しておくとよいだろう。

-
-

追記: 80 番ポートについて

+

追記: 80 番ポートについて

- Let's Encrypt でサーバの証明書を取得している場合、80 番ポートを空けておく必要がある。気づかないうちに証明書が切れないよう注意。 + Let’s Encrypt でサーバの証明書を取得している場合、80 番ポートを空けておく必要がある。気づかないうちに証明書が切れないよう注意。

-- cgit v1.2.3-70-g09d2