徒然なるままに プログラミングメモや日々の生活などつれづれとつづっていくblog

2020年12月30日

OpnsenseでVPNサーバー(WireGuard)を構築する

Filed under: Linux,Opnsense — ranpei @ 8:16 AM

ネットワーク構成の変更で以下のようにOpnsense配下のLANに各サーバーを配置することになりました。

ですが、コレだと各サーバーに直接アクセスできません。

OpnsenseのSSHサーバーを踏み台に各サーバーにアクセスしても良いのですが、フロントにあるサーバーのSSHを有効にするのはセキュリティ的に少々不安が残ります。

(実際はファイアーウォールの設定も簡単にできるようにできてるので、そこまで心配する必要はないとは思いますが・・・)

そのためOpnsense側にVPNサーバーを導入して直接アクセスできるようにしたいと思います。

当初はドキュメントで利用可能とあったL2TPを利用するつもりでしたが、最新版では利用できなくなっている模様・・・・・

そのため使用可能(プラグイン含む)なモノの中から各OSとの親和性の高いWireGuardをチョイスしました。

◆WireGuardプラグインのインストール

「ファームウェア」→「プラグイン」から「os-wireguard」を「+」ボタンでインストールします。

◆WireGuardサーバーを設定

インストールが完了したら「VPN」メニューの中に「WireGuard」が追加されていますので選択。

「ローカル」タブを選択し、「+」ボタンでサーバーを設定します。

設定するのは「名前」「リッスンポート」「Tunnel Address」の3つ。

「保存」したら、再度設定を開くと「Public Key」と「Private Key」が自動生成されています。(Public Keyはクライアントの設定で使用します)

◆ファイアーウィールを設定

ファイアーウォールでWireGuardが利用するポートを開けます。

「リッスンポート」をいじっていなければデフォルトでは「51820/UDP」を開きましす。

◆クライアントを設定する

Windowsクライアントを公式サイトから取得してインストール。

インストールしたら「トンネルを追加」の「▼」から「空のトンネルを作成」を選択し新規に接続設定(Peer)を作成します。

作成したら任意の名前を入力してテキストエリア部分に以下のように追記していきます。

◆WireGuardサーバーにクライアント(Peer)を追加する

次に接続するクライアントをサーバーに登録していきます。

「Endpoints」タブを選択して「+」ボタンから接続するクライアントを登録します。

・名前は適当に

・Public Keyにはクライアントの共通鍵を登録します。

・Allowed IPsには接続を許可するIP帯を設定(Tunnel AddressとLAN配下を設定します)

設定が完了したら「ローカル」タブより設定を編集します。

「ピア」項目に先ほど設定したクライアントを選択して「保存」を押下。

◆クライアントから接続してみる

Windowsクライアントの有効化ボタンを押下して接続できるか試してみましょう。

っといってもIPアドレスが割り振られるとかないのでPingで通信できるか確認しましょう。

きちんとPingが通れば設定は完了となります。

Powered by WordPress