0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWrtとWireGuardでフルトンネルしつつ、mwan3でトンネル障害発生時に自動でwanへ経路変更する

Posted at

設定

今回はフルトンネル出口側を、入口側をと呼びます。
特に明記されていない場合、記載されている作業を親子両方に行ってください。

下準備(/)

luciにログインしてシステムソフトウェアよりwireguardで検索し下記の4つをインストールする

  • wireguard-tools
  • kmod-wireguard
  • luci-proto-wireguard
  • mwan3(のみ)

インターフェース作成(/)

ネットワークインターフェースを開く
image.pngをクリック
適当な名前を付けてデバイスをWireGuard VPNにする。
image.png
とりあえず基本に沿っていい感じに設定すればOK、重要なのは下記の5つ。

  • 詳細設定タブのゲートウェイメトリックを使用をwanより大きい数値にする
    (よくわからなければ0より大きい数字でOK)
  • ピアタブにて許可されたIPに相手ピアのIPアドレスをサブネット無しで設定する
  • 拠点間通信をしたい場合、許可されたIPに相手NWのサブネットを追加する
  • のみ許可されたIPに0.0.0.0/0を追加する
  • /共に許可されたIPのルートにチェックを入れる

この状態でWireGuardインターフェースに設定したIPアドレスに対し相互にPingして通信でき、ついでに拠点間通信も出来ていればインターフェースの設定はおしまい。

mwan3設定()

  1. ネットワークMultiWan Managerを開き、インターフェースタブを開く

  2. ネットワークインターフェースの名前(色がついている所)と同じ名称で名前を入れ、追加を押す
    image.png
    (おそらく一般的な環境であればwan/wan6/今回作成したWireGuardインターフェースの3つを作ることになると思われる)

  3. 各インターフェースを適宜いい感じに設定する
    WireGuardインターフェースの場合のみ、トラッキングホスト名またはIPアドレスの箇所に対向のWireGuard IPアドレスを指定しconntrackテーブルのクリア接続時/切断時を追加する。

    conntrackテーブルのクリア設定を忘れるとオフライン判定になってもいつまで経ってもルートが切り替わらない原因になるので注意
    WireGuardインターフェースのみ下記の画像の通りになればOK
    image.png

  4. メンバータブを開き、適当にメンバー設定を行う。オススメは<IF名>_<メトリック>_<ウエイト>で名付けると分かりやすい。
    インターフェース名やポリシー、ルールと名称を被せることは出来ないので注意。
    今回はWireGuardインターフェースを最優先で通信させたいので、下記画像のような状態になればOK。
    image.png
    メトリックは小さければ小さいほどインターフェースが優先され、ウエイトは同じメトリックの場合の重み付けとして使われる。

  5. ポリシータブを開き、WireGuardwanwan6の順に使われるポリシーと、wanwan6のみ使われるポリシーの2つを作る。
    下記のような感じに設定できればOK。ここでも名称を被せることは出来ないので注意。
    image.png

  6. ルールタブを開き、下記画像のように設定する。
    image.png
    多分default_v6は無くても問題ないが、なんとなく付けておいた。
    特定のIPアドレスだけトンネルから除外したい場合はdefaultルールの上に特定IPアドレス宛の通信をwan側に向けるポリシーに向けてやったり、一部のアドレスだけトンネルしたい場合は宛先アドレスを書き換えてやればOK。

ここまで正しく設定できていれば、OpenWrtのトップページ最下部に下記画像のような表示が増えているはず。
image.png

試しに対向のWireGuardを停止してみると、WireGuardインターフェースが黄色→赤と色が変わり、オフラインになって自動で経路がwanに切り替わる。
インターフェースを再起動すると、黄色→緑に戻り、自動で経路が戻るようになります。
お疲れ様でした。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?