netplanでwireguard
サーバ ネットワーク
Published: 2021-04-29

wireguardの設定がnetplanでできるのでそのメモです。
意外と書いてる日本語記事が見当たらなかったので。

Ubuntu20.04で試しています。

サーバ側

  • 秘密鍵と公開鍵の生成
# umask 077
# wg genkey | tee private.key | wg pubkey > public.key
network:
  tunnels:
    wg0:
      mode: wireguard
      key: <先ほど生成したprivate.key>
      port: 50000                    # ListenするUDPポート番号
      addresses: [ 192.168.2.1/30 ]  # wg0につけるIPアドレス
      peers:
        - allowed-ips: [0.0.0.0/0]
          keepalive: 25
          keys:
            public: <クライアント側のpublic.key>

クライアント側

  • 秘密鍵と公開鍵の生成
# umask 077
# wg genkey | tee private.key | wg pubkey > public.key
network:
  tunnels:
    wg1:
      mode: wireguard
      key: <先ほど生成したprivate.key> 
      port: 50000
      addresses: [ 192.168.2.2/30 ]
      peers:
        - allowed-ips: [0.0.0.0/0]
          endpoint: XXX.XXX.XXX.XXX:50000  # 接続先サーバ
          keepalive: 25
          keys:
            public: <サーバ側のpublic.key> 

wg.confなどで設定するよりシンプルに設定できました。
ただ、私が使ってる時は、netplan applyした瞬間に接続が毎回切れてる気がするので
注意してください。