aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/public/blog/posts/2024-02-03
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-08 10:38:18 +0900
committernsfisis <nsfisis@gmail.com>2026-08-08 10:38:18 +0900
commit4681e861efcdf9b0b73e3803e70712bc55162863 (patch)
treed910ef14d9549df19896d85a42e12a32db787fb6 /services/nuldoc/public/blog/posts/2024-02-03
parenteca423774047122f7dfc4be9ac78626e32d733d3 (diff)
downloadnsfisis.dev-4681e861efcdf9b0b73e3803e70712bc55162863.tar.gz
nsfisis.dev-4681e861efcdf9b0b73e3803e70712bc55162863.tar.zst
nsfisis.dev-4681e861efcdf9b0b73e3803e70712bc55162863.zip
feat(slides): improve slide controllerHEADmain
Diffstat (limited to 'services/nuldoc/public/blog/posts/2024-02-03')
-rw-r--r--services/nuldoc/public/blog/posts/2024-02-03/install-wireguard-on-personal-server/index.html100
1 files changed, 55 insertions, 45 deletions
diff --git a/services/nuldoc/public/blog/posts/2024-02-03/install-wireguard-on-personal-server/index.html b/services/nuldoc/public/blog/posts/2024-02-03/install-wireguard-on-personal-server/index.html
index 7b4db912..f05bfda3 100644
--- a/services/nuldoc/public/blog/posts/2024-02-03/install-wireguard-on-personal-server/index.html
+++ b/services/nuldoc/public/blog/posts/2024-02-03/install-wireguard-on-personal-server/index.html
@@ -15,7 +15,7 @@
<meta name="Hatena::Bookmark" content="nocomment">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<title>【備忘録】 個人用サーバに WireGuard を導入する|REPL: Rest-Eat-Program Loop</title>
- <link rel="stylesheet" href="/style.css?h=bf289421c09405fa3c89dc8b18742368">
+ <link rel="stylesheet" href="/style.css?h=61618c116e07057fc873f7751f158cd7">
</head>
<body class="single">
<header class="header">
@@ -119,14 +119,16 @@
まずは個人用サービスをホストしている Ubuntu のサーバに WireGuard をインストールする。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ sudo apt install wireguard</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ sudo apt install wireguard
+</span></code></pre>
</div>
<p>
次に、WireGuard で使用する鍵を生成する。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
-</div><div class="codeblock-line">$ sudo chmod 600 /etc/wireguard/server.{key,pub}</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
+</span><span class="codeblock-line">$ sudo chmod 600 /etc/wireguard/server.{key,pub}
+</span></code></pre>
</div>
</section>
<section id="section--install-wireguard-client">
@@ -135,26 +137,28 @@
公式サイトから各 OS 向けのクライアントソフトウェアを入手し、インストールする。次に、設定をおこなう。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line"><span style="color: #6e7781"># クライアント 1 の場合</span>
-</div><div class="codeblock-line"><span style="color: #953800">[Interface]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">Address</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.2/32</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PrivateKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 1 の秘密鍵&gt;</span>
-</div><div class="codeblock-line">
-</div><div class="codeblock-line"><span style="color: #953800">[Peer]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの公開鍵&gt;</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;/32</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">Endpoint</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;:51820</span></div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line"><span style="color: #6e7781"># クライアント 1 の場合</span>
+</span><span class="codeblock-line"><span style="color: #953800">[Interface]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">Address</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.2/32</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PrivateKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 1 の秘密鍵&gt;</span>
+</span><span class="codeblock-line">
+</span><span class="codeblock-line"><span style="color: #953800">[Peer]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの公開鍵&gt;</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;/32</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">Endpoint</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;:51820</span>
+</span></code></pre>
</div>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line"><span style="color: #6e7781"># クライアント 2 の場合</span>
-</div><div class="codeblock-line"><span style="color: #953800">[Interface]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">Address</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.3/32</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PrivateKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 2 の秘密鍵&gt;</span>
-</div><div class="codeblock-line">
-</div><div class="codeblock-line"><span style="color: #953800">[Peer]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの公開鍵&gt;</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;/32</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">Endpoint</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;:51820</span></div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line"><span style="color: #6e7781"># クライアント 2 の場合</span>
+</span><span class="codeblock-line"><span style="color: #953800">[Interface]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">Address</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.3/32</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PrivateKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 2 の秘密鍵&gt;</span>
+</span><span class="codeblock-line">
+</span><span class="codeblock-line"><span style="color: #953800">[Peer]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの公開鍵&gt;</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;/32</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">Endpoint</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの外部 IP アドレス&gt;:51820</span>
+</span></code></pre>
</div>
<p>
<code>PrivateKey</code> や <code>PublicKey</code> は鍵ファイルのパスではなく中身を書くことに注意。
@@ -166,29 +170,32 @@
一度サーバへ戻り、WireGuard の設定ファイルを書く。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ sudo vim /etc/wireguard/wg0.conf</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ sudo vim /etc/wireguard/wg0.conf
+</span></code></pre>
</div>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line"><span style="color: #953800">[Interface]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">Address</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.1/32</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">SaveConfig</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">true</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PrivateKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの秘密鍵&gt;</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">ListenPort</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">51820</span>
-</div><div class="codeblock-line">
-</div><div class="codeblock-line"><span style="color: #953800">[Peer]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 1 の公開鍵&gt;</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.2/32</span>
-</div><div class="codeblock-line">
-</div><div class="codeblock-line"><span style="color: #953800">[Peer]</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 2 の公開鍵&gt;</span>
-</div><div class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.3/32</span></div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line"><span style="color: #953800">[Interface]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">Address</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.1/32</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">SaveConfig</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">true</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PrivateKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;サーバの秘密鍵&gt;</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">ListenPort</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">51820</span>
+</span><span class="codeblock-line">
+</span><span class="codeblock-line"><span style="color: #953800">[Peer]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 1 の公開鍵&gt;</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.2/32</span>
+</span><span class="codeblock-line">
+</span><span class="codeblock-line"><span style="color: #953800">[Peer]</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">PublicKey</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">&lt;クライアント 2 の公開鍵&gt;</span>
+</span><span class="codeblock-line"><span style="color: #0550ae">AllowedIPs</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #24292f;background-color: #f6f8fa">=</span><span style="color: #24292f;background-color: #f6f8fa"> </span><span style="color: #0a3069">10.10.1.3/32</span>
+</span></code></pre>
</div>
<p>
次に、WireGuard のサービスを起動する。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ sudo systemctl enable wg-quick@wg0
-</div><div class="codeblock-line">$ sudo systemctl start wg-quick@wg0</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ sudo systemctl enable wg-quick@wg0
+</span><span class="codeblock-line">$ sudo systemctl start wg-quick@wg0
+</span></code></pre>
</div>
</section>
<section id="section--configure-firewall">
@@ -197,23 +204,26 @@
続けてファイアウォールを設定する。まずは WireGuard が使用する UDP のポートを開き、<code>wg0</code> を通る通信を許可する。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ sudo ufw allow 51820/udp
-</div><div class="codeblock-line">$ sudo ufw allow in on wg0
-</div><div class="codeblock-line">$ sudo ufw allow out on wg0</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ sudo ufw allow 51820/udp
+</span><span class="codeblock-line">$ sudo ufw allow in on wg0
+</span><span class="codeblock-line">$ sudo ufw allow out on wg0
+</span></code></pre>
</div>
<p>
次に、80 や 443 などの必要なポートについて、<code>wg0</code> を経由してのアクセスのみ許可する。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ sudo ufw allow in on wg0 to any port 80 proto tcp
-</div><div class="codeblock-line">$ sudo ufw allow in on wg0 to any port 443 proto tcp</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ sudo ufw allow in on wg0 to any port 80 proto tcp
+</span><span class="codeblock-line">$ sudo ufw allow in on wg0 to any port 443 proto tcp
+</span></code></pre>
</div>
<p>
最後に、<code>ufw</code> を有効にする。
</p>
<div class="codeblock">
- <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">$ sudo ufw status
-</div><div class="codeblock-line">$ sudo ufw enable</div></code></pre>
+ <pre class="highlight" style="background-color:#f5f5f5"><code><span class="codeblock-line">$ sudo ufw status
+</span><span class="codeblock-line">$ sudo ufw enable
+</span></code></pre>
</div>
</section>
<section id="section--connect-each-other">