0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

contabo VPSにWireGuardをインストールしてみた

Last updated at Posted at 2022-12-04

参照サイト
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0614
https://mirahouse.jp/n10/blog/2020/vpn-wireguard/

WireGuardをインストールする

sudo apt install wireguard

サーバー用秘密鍵・公開鍵を生成する

wg genkey | sudo tee /etc/wireguard/server.key
sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub

クライアント用秘密鍵・公開鍵を生成する

今回はPC用とスマホ用に2つ作る
01と02フォルダにそれぞれ秘密鍵・公開鍵が生成される

mkdir ~/wireguard/01
cd ~/wireguard/01
wg genkey | sudo tee client.key
sudo cat client.key | wg pubkey | sudo tee client.pub

mkdir ~/wireguard/02
cd ~/wireguard/02
wg genkey | sudo tee client.key
sudo cat client.key | wg pubkey | sudo tee client.pub

サーバー設定をする

クライアントに割り当てたVPN用IPアドレスをAllowedIPsに設定する
サブネットマスクは/32でないとエラーになるという情報があったので
その通りにした。
PostUp/PostDownはWireGuardの起動/終了時に実行するコマンド
iptablesのフォワーディングの設定を追加しているので
スマホ > WireGuardサーバー > インターネット
という経路が利用できるようになる。

/etc/wireguard/wg0.conf

[Interface]
PrivateKey = (serverPrivateKey)
Address = 10.0.0.1
ListenPort = 51820
SaveConfig = true
PostUp = iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -o %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -o %i -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = (clientPublicKey1)
AllowedIPs = 10.0.0.2/32

[Peer]
PublicKey = (clientPublicKey2)
AllowedIPs = 10.0.0.3/32

クライアント設定をする

[Interface]
DNSはサーバーがアクセス可能なDNSを指定する
(指定しないとインターネットにアクセスできなかった)

[Peer]
AllowedIPs = 0.0.0.0/0を指定することで
クライアントのすべての通信をWireGuard経由にする
EndpointにはサーバーのIPアドレスとListenPortを指定する

client1
[Interface]
PrivateKey = (clientPrivateKey1)
Address = 10.0.0.2/32
DNS = 8.8.4.4

[Peer]
PublicKey = (serverPublicKey)
AllowedIPs = 0.0.0.0/0
Endpoint = x.x.x.x:51820

client2
[Interface]
PrivateKey = (clientPrivateKey2)
Address = 10.0.0.3/32
DNS = 8.8.4.4

[Peer]
PublicKey = (serverPublicKey)
AllowedIPs = 0.0.0.0/0
Endpoint = x.x.x.x:51820

サーバーでWireGuardを起動する

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

クライアントでVPN接続し、サーバーで接続状態を確認する

sudo wg
wg

検証する

WireGuard無効の時は、フリーwifiのアドレスが表示される
ip1

WireGuard有効の時は、contabo VPSのアドレスが表示される
ip2

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?