Ubuntu20.04LTS_Server

WireGuard クライアント Ubuntu Server 20.04 LTS へのインストールおよび設定方法

WireGuardクライントをUbuntu Server 20.04 へインストール方法の紹介。

サーバー側の設定手順は

WireGuard サーバー Ubuntu Server 20.04 LTS へのインストールおよび設定方法

インストール環境

  • Ubuntu Server 20.04.2 LTS 最小構成インスト-ル状態

インストール構成

WireGuardはUDPを利用します。ポート番号は今回 51820を利用します。今回インストールした環境は直接インターネットに接続されている構成のため設定不要ですが、FWなどが設置されている環境にserverを設置する際はサーバーへ51820/UDPがポートフォワーディングする設定が必要になります。

WireGuard 構成 Ubuntu Server 20.04 LTS

今回は上記構成を作成する。client側wg0のアドレスをserver側でNAT(192.168.0.0/24)することでLAN接続する。LAN側でstatic route(172.16.0.0/24 gw 192.168.11.6)を設定すればNATは不要

WireGuardのインストール

WireGuardの設定

秘密鍵、公開鍵の作成

秘密鍵、公開鍵の作成はサーバー側、クライアント側(WireGuardにはサーバーやクライアントの概念はなくどちらも同列の扱い)どちらで作成しても問題ないです。今回はサーバー側の手順で作成したクライアントの秘密鍵を持ってきて設定を実施します。

設定ファイル wg0.confの設定

wireguardの設定ファイルは /etc/wireguard/wg0.conf に設定します。今回の構成では下記ファイルを作成します。

  • [Interface] 自身のインターフェイスの設定項目を記述
  • MTU デフォルトではEthernet 1500 byteを元に計算さ1420byteとなります。環境によってはPPPoEを利用したインターネットなどはMTUが小さくなます。MTUが1500より小さい環境にかからず、そのままUDPパケットを送信すると、ルータでフラグメンテーションが発生してスループットが低下します。MTUを手動で設定することができます。
  • [Peer] 接続先の設定項目を記述
  • AllowedIPs 接続先のアドレスを記述します。ネットワークアドレスを記述すれば設定した経路がvpn側に設定されます。今回はServer側のLAN(192.168.11.0/24)
  • EndPoint サーバーのグローバルIP
  • PersistentKeepalive 設定した時間(sec) KeepAlive を送信してセッションを維持させます

WireGuard の起動および自動起動設定

WireGuardの起動および自動起動設定

WireGuard 起動および停止

WireGuardの起動

WireGuardのインターフェイスを起動させるには wg-quick up インターフェイス名で起動します。

WireGuardの停止

WireGuard 状況確認コマンド

(参考)構成された環境でのping結果

検証した環境でのping 結果です。正常にpingが通っています。
ちなみにLAN機器からクライアントから送信されたパケットはNATされるためアドレスは192.168.11.6となり、LAN機器に送信されます。(サーバ側でも記載しましたが、LAN側の機器にstatic route 172.16.0.0/24 gw 192.168.11.6 を設定すればNATなしで通ります。設定がなければクライントからパケットは到達しますが帰り172.16.0.20 の経路がないため疎通できません)

参考サイト

スポンサーリンク

Ubuntu 20.04 LTS Server 記事一覧

Ubuntu 20.04 LTS Server インストール

Ubuntu 20.04 LTS Server 設定記事一覧

Ubuntu 20.04 LTS Server ソフトインストール記事

-Ubuntu20.04LTS_Server