Getting Started(ローカルVPN)
気を取り直して、
- サーバ設定
- クライアント設定
の順でやっていきます。
サーバ設定
※作業はrootでやってよいでしょう。
事前にちゃんとインストールができていれば、やることは4つ!
- 秘密鍵作成
- 公開鍵作成
- 設定ファイル作成
- デーモン設定
秘密鍵作成(/etc/wireguard/server.prv)
$ wg genkey > server.prv
公開鍵作成(/etc/wireguard/server.pub)
$ wg pubkey < server.prv > server.pub
設定ファイル作成(/etc/wireguard/wg0.conf)
[Interface]
PrivateKey = XXXXXXXXXXXXXXX
Address = 192.168.100.1/32
ListenPort = 51821
Interface:PrivateKeyは、上記[秘密鍵作成]で作成した秘密鍵の文字列。
Interface:Addressは、ネットワークアドレスも決まってしまうので、適切に決める必要あり。今回は、トライアルなのでこんな感じ。
Interface:ListenPortは、あえてデフォルトを使わない。
デーモン設定
登録 systemctl enable wg-quick@wg0 起動 systemctl start wg-quick@wg0 停止 systemctl stop wg-quick@wg0 確認 systemctl status wg-quick@wg0
デーモンに登録する文字列=wg-quick@[作成した設定ファイル名の拡張子まで(wg0)]
クライアント設定
サーバ側同様、設定ファイルを作るのが重要!
- 秘密鍵作成
- 公開鍵作成
- 設定ファイル作成
秘密鍵作成([ご自由に]/client.prv)
wg genkey > client.prv
公開鍵作成([ご自由に]/client.pub)
wg pubkey < client.prv > client.pub
※作成したパブリックキーをサーバ設定に反映させてあげる必要あり。
[Interface]
PrivateKey = XXXXXXXXXXXXXXX
Address = 192.168.100.1/32
ListenPort = 51821
[Peer]
PublicKey = XXXXXXXXXXXXXXX
AllowedIPs = 192.168.100.2/32
Peer:PublicKeyは、ここで作成した公開鍵の文字列。
Peer:AllowedIPsは、同じネットワークアドレス内のIPを指定。ここをAllにすればどこからのアクセスでも大丈夫なのか!?
設定ファイル作成([ご自由に]/dev-wg-client.conf)
[Interface]
PrivateKey = XXXXXXXXXXXXXXX
Address = 192.168.100.2/32
[Peer]
PublicKey = XXXXXXXXXXXXXXX
AllowedIPs = 192.168.100.0/24
Endpoint = xxx.xxx.xxx.xxx:51821
Interface:PrivateKeyは、上記[秘密鍵作成]で作成した秘密鍵の文字列。
Interface:Addressは、サーバ側で設定したAllowedIPsの値を指定。
Peer:PublicKeyは、サーバ設定の[公開鍵作成]で作成した公開鍵の文字列。
Peer:AllowedIPsは、一旦ローカル接続としたいので、サーバ設定のInterface:Addressで設定したIPのネットワークアドレスを指定。
Peer:Endpointは、グローバルIP+サーバ設定で指定したListenPort。
※Macの場合
をインストールして、設定ファイルをImportしてあげるだけ。
これでサーバに向けたPingが通れば無事VPN接続完了!
$ ping 192.168.100.1 PING 192.168.100.1 (192.168.100.1): 56 data bytes 64 bytes from 192.168.100.1: icmp_seq=0 ttl=255 time=32.191 ms 64 bytes from 192.168.100.1: icmp_seq=1 ttl=255 time=16.265 ms