さくらのクラウド: VPCルータのWireGuardサーバ機能を試す(macOS編)

昨日VPCルータにWireGuardサーバ機能が追加されたとのお知らせが出ていました。

cloud-news.sakura.ad.jp

動作確認のために手元のmacOSから繋いでみたのでメモを残しておきます。

手順

  • (存在しなければ) VPCルータの作成
  • WireGuardサーバの有効化
  • クライアントの設定/ピアの追加

VPCルータの作成

まずはVPCルータが必要です。WireGuard機能はVPCルータバージョン2のみサポートとのことです。

manual.sakura.ad.jp

プランはどれでも構いません。今回はスタンダードプランを利用しました。

作成したらプライベート側インターフェースの設定(スイッチの接続&IPアドレスの設定)をしておきます。
今回はプライベート側アドレスとして192.168.100.1/24を指定しました。

f:id:febc_yamamoto:20210611105941p:plain

WireGuardサーバの有効化

次に「リモートアクセス」タブの中の「WireGuardサーバ」タブを開きWireGuardサーバを有効化します。

今回はWireGuardサーバのIPアドレス192.168.101.1/24としました。

f:id:febc_yamamoto:20210611110147p:plain

設定後は「反映」ボタンを押すのを忘れないようにします。
公開鍵は起動しないと表示されないためこのタイミングで一度起動します。

クライアントの設定/ピアの追加

次にピアを追加していきます。 今回はmacOS版のWireGuardを利用しますので先にそちらの設定を行なっていきます。

以下の情報が必要になりますのであらかじめメモしておきます。

  • VPCルータの公開IPアドレス(スタンダードプランの場合はグローバルインターフェースのIPアドレス)
  • WireGuardサーバの公開鍵

準備ができたらまずはmacOS側の準備を行います。

macOS版のWireGuardをインストール(まだしていない場合)

macOS向けにはMac App Storeで配布されていますのでそちらを利用します。

WireGuard

WireGuard

  • WireGuard Development Team
  • ユーティリティ
  • 無料
apps.apple.com

WireGuardへ設定の追加

インストールしたら起動して「設定が空のトンネルを追加」を選択します。
以下のような画面が表示されますので必要な情報を入力していきます。

f:id:febc_yamamoto:20210611111358p:plain

今回はこんな感じにしました。

[Interface]
PrivateKey = (秘密鍵、最初から入力済みなはず)
ListenPort = 51820
Address = 192.168.101.11/24 # クライアント側には192.168.101.11/24を割り当て

[Peer]
PublicKey = メモしておいたWireGuardサーバの公開鍵
AllowedIPs = 192.168.0.0/16
Endpoint = メモしておいたVPCルータの公開側IPアドレス:51820
PersistentKeepalive = 25

IPアドレス192.168.101.11/24を割り当てました。
VPCルータのプライベート側ネットワークとやりとりしたいためにAllowedIPsには192.168.0.0/16を指定します。
必要に応じて適宜変更してください。

ここで表示されている公開鍵がVPCルータ側でピアの追加を行う際に必要になりますのでメモしておきます。

WireGuardサーバ側でピアを追加

次にピアを追加します。

f:id:febc_yamamoto:20210611112151p:plain

  • 名前: 任意
  • IPアドレス: 今回は192.168.101.11
  • 公開鍵: 先程控えたクライアントの公開鍵

追加したら「反映」ボタンを忘れずに押しておきましょう。

後は接続して動作確認してみます。うまく設定できていればmacOSVPCルータのプライベート側ネットワークとで疎通できているはずです。


というわけでmacOSからWireGuardでVPCルータとVPN接続してみました。
WireGuardのMacアプリが提供されていますので手軽でいいですね。

以上です。