🔥

WireGuard は OPNsense で使う

2024/12/28に公開

RHEL 系で WireGuard を使っていましたが、OPNsense で WireGuard がサポートされていることを知り、こちらに移行しました。
OPNsense の WireGuard は WebGUI で設定できます。シェルで鍵作ったり設定書き込むのが面倒だったので、非常に助かります。

ほぼ自分用の備忘録です。

筆者の環境

多重 NAT の環境です。OPNsense はローカルネットワーク内に配置しています。
実際は Proxmox 内に OPNsense を配置しています。

筆者のネットワーク図

OPNsense のセットアップ

インストールディスク: OPNsense-24.7-dvd-amd64.iso

インストール後、コンソール画面にログイン

以下の設定を行います。

1\) Assign interfaces
vtnet 0 を WAN

2\) Set interface IP address
IP: 192.168.100.10/24
GW: 192.168.100.1
IPv6 、DHCP は使いません

OPNsense の WebGUI にログイン

  1. セットアップウィザードに進む
  2. ホスト名や言語の設定をする
  3. タイムゾーンは Asia/Tokyo
  4. WAN インターフェースの設定
    IP と GW はすでに設定しているので入力済みのはず
    WAN がローカルネットワーク内の場合は以下のチェックボックス 2 つを外す。グローバルを割り当てている場合は必ずチェックを入れましょう。
    • Block RFC1918 Private Networks:
      Block private networks from entering via WAN
    • Block bogon networks:
      Block non-internet routed networks from entering via WAN
      WAN インターフェースの設定で外すチェックボックス項目
      ここのチェックが外れていると、WAN ポートをローカルアドレスで使えません。
  5. LAN インターフェースの設定
    設定なし。他ネットワークや外部と直で繋がってる人は LAN の IP を任意で設定。

WebGUI のインターフェースを設定 ※

今回は WAN の 80/443 ポートを許可します。
※ OPNsense が直接外部と繋がっている場合は WAN の 80/443 は許可しない方がいいです。

ここで WebGUI インターフェースの HTTP/HTTPS 許可をしないと、WireGuard のインターフェースを追加した際に接続が切れて、大変面倒なことになります。

Firewall > Rules > WAN

WAN への TCP 80/443 を許可

WireGuard の設定

WireGuard のインスタンスを作成

VPN > WireGuard > Instances

WireGuard のピアを追加

VPN > WireGuard > Peer generator

エンドポイントにグローバル IP とポートマッピング / NAT で設定したポート番号を入力
Allowed IPs に 0.0.0.0/0 を入力するとフルトンネルになります。今回はフルトンネルで設定します。DNS サーバーは RTX1210 にしています。内部 DNS がある場合は、それを設定してください。
すべて入力したら Config をコピー、もしくは QR コードをスキャンして VPN クライアントに設定を保存し、チェックボタンで (Store and generate next) 確定。

WireGuard を起動

Enable WireGuard にチェックを入れて保存

WireGuard のインターフェースを設定

Interfaces > Assignments

wg0 で保存。

続いて、wg0 インターフェースを有効化する。

Interfaces > [wg0]

Enable と Lock にチェックを入れて保存。

ちゃんと WebGUI インターフェースの割り当てや HTTP/HTTPS の許可がされてない場合、ここで接続が切れてしまいます。

wg0 インターフェースの外向き通信を許可

Firewall > Rules > wg0

ここを設定しないと外に出れません。

UDP 51820 ポートを許可

Firewall > Rules > WAN

接続する

VPN クライアントで保存した設定を有効にし、接続します。
IP 確認サイトなどで、自宅の IP アドレスが表示されたら成功です。

Discussion