📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 274行目: | 274行目: | ||
<u>例えば、ネットワークトラフィックの全てをVPN接続でトンネリングする場合、DNSリクエストにはポート53、HTTPとHTTPSトラフィックにはそれぞれ80と443のようなポートを許可する必要がある。</u><br> | <u>例えば、ネットワークトラフィックの全てをVPN接続でトンネリングする場合、DNSリクエストにはポート53、HTTPとHTTPSトラフィックにはそれぞれ80と443のようなポートを許可する必要がある。</u><br> | ||
<u>また、VPN経由で使用する他のプロトコルがある場合は、それらのルールも追加する必要がある。</u><br> | <u>また、VPN経由で使用する他のプロトコルがある場合は、それらのルールも追加する必要がある。</u><br> | ||
<br> | |||
ルールの設定を反映させるため、UFWを無効にして再度有効にする。<br> | |||
sudo ufw disable | |||
sudo ufw enable | |||
<br> | |||
ルールが反映されているかどうかを確認する。<br> | |||
sudo ufw status | |||
# 出力例 | |||
Status: active | |||
To Action From | |||
-- ------ ---- | |||
51280/udp ALLOW Anywhere | |||
22/tcp ALLOW Anywhere | |||
51280/udp (v6) ALLOW Anywhere (v6) | |||
22/tcp (v6) ALLOW Anywhere (v6) | |||
<br> | |||
これにより、ピアの転送やマスカレード等、VPNのトラフィックを正しく処理するようにWireGuardサーバが設定される。<br> | |||
ファイアウォールルールを設定した後、WireGuardサービス自体を起動してピア接続をリッスンすることができる。<br> | |||
<br> | |||
==== 構築 ステップ6 : WireGuardサーバーの起動 ==== | |||
WireGuardは、組み込みのwg-quickスクリプトを使用して、systemdサービスとして実行するように設定できる。<br> | |||
<br> | |||
VPNを使用するたびに<code>wg</code>コマンドを使用して手動でトンネルを作成することもできるが、手作業で行うため繰り返しが多くなり、エラーが発生しやすくなる。<br> | |||
代わりに、wg-quickスクリプトの助けを借りてトンネルを管理するためにSystemdサービスユニットを使用することができる。<br> | |||
<br> | |||
Systemdサービスユニットを使用することにより、ブート時にWireGuardが起動するように設定することで、サーバが稼働している限り、いつでもVPNに接続することができる。<br> | |||
これを行うには、定義したwg0トンネルのwg-quickサービスをsystemctlに追加して有効にする。<br> | |||
sudo systemctl enable wg-quick@wg0.service | |||
<br> | |||
<u>※注意</u><br> | |||
<u>サービス名の一部としてトンネルwg0デバイス名を指定していることに注意する。</u><br> | |||
<u>この名前は、/etc/wireguard/wg0.confファイルにマッピングされる。</u><br> | |||
<u>このように名前の付けることにより、任意の個別のVPNトンネルを作成できることを意味する。</u><br> | |||
<br> | |||
<u>例えば、prodという名前のトンネルデバイスを持つようにする場合、その設定ファイルは/etc/wireguard/prod.confファイルとなる。</u><br> | |||
<u>各トンネル設定には、異なるIPv4、IPv6、クライアントファイアウォール設定を含めることができる。</u><br> | |||
<br> | |||
<u>このようにして、それぞれ固有のIPアドレスとルーティングルールを持つ複数の異なるピア接続をサポートすることができる。</u><br> | |||
<br> | |||
WireGuardサービスを起動する。<br> | |||
sudo systemctl start wg-quick@wg0.service | |||
<br> | |||
WireGuardサービスがアクティブであることを確認する。<br> | |||
正常に起動している場合、アクティブ(実行中)と表示される。<br> | |||
sudo systemctl status wg-quick@wg0.service | |||
# 出力例 | |||
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0 | |||
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled) | |||
Active: active (exited) since Mon 2022-04-18 17:22:13 UTC; 2s ago | |||
Docs: man:wg-quick(8) | |||
man:wg(8) | |||
https://www.wireguard.com/ | |||
https://www.wireguard.com/quickstart/ | |||
https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8 | |||
https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8 | |||
Process: 98834 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS) | |||
Main PID: 98834 (code=exited, status=0/SUCCESS) | |||
CPU: 193ms | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] wg setconf wg0 /dev/fd/63 | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] ip -4 address add 10.8.0.1/24 dev wg0 | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] ip -6 address add fd24:609a:6c18::1/64 dev wg0 | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] ip link set mtu 1420 up dev wg0 | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] ufw route allow in on wg0 out on ens3 | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98890]: Rule added | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98890]: Rule added (v6) | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] iptables -t nat -I POSTROUTING -o ens3 -j MASQUERADE | |||
Apr 18 17:22:13 thats-my-jam wg-quick[98834]: [#] ip6tables -t nat -I POSTROUTING -o ens3 -j MASQUERADE | |||
Apr 18 17:22:13 thats-my-jam systemd[1]: Finished WireGuard via wg-quick(8) for wg0. | |||
<br> | |||
上記の出力例では、仮想wg0デバイスを作成して、設定ファイルに追加したIPv4アドレスとIPv6アドレスを割り当てるために使用される<code>ip</code>コマンドを示している。<br> | |||
これらのルールは、トンネルのトラブルシューティングに使用することができる。<br> | |||
<br> | |||
WireGuardサーバの設定と実行が完了した後、クライアントマシンをWireGuardピアとして設定して、WireGuardサーバに接続する。<br> | |||
<br> | |||
==== 構築 ステップ7 : WireGuardピアの設定 ==== | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:Windows10]] | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:Windows10]] | ||