1. はじめに
ヤマハ ルーターでは、WAN冗長化の設定が可能です。また、GUIからこそ設定が出来ないものの、僅か2コマンドで設定が完了しました。今回はその方法および仕組をご紹介したいと思います。
VRRPを用いるものなど幾つかのケースがありますが、今回はルーター1台で設定可能なPing監視を用いたものをご紹介します。
2. 検証環境
上記のように、RTX1210のLAN3からISP1を経由してのインターネットへの接続と、LTEモデムからのPP を経由してのインターネット接続があるものとします。また、ISP1, ISP2ともにIPマスカレード含め適切に設定されているものとします。

今回、ISP1にはインターリンク ZOOT NATIVEを、ISP2にはSORACOM Airを使用しました。
3. 設定のポイント
設定は僅か2行であり、ルーティングの設定と正常性の判断(キープアライブ)の設定となります。
ip route default gateway 172.16.0.254 keepalive 1 gateway pp 1 weight 0 ip keepalive 1 icmp-echo 1 4 8.8.8.8
1行目「ip route default gateway ~」では、デフォルトゲートウェイを172.16.0.254に向けていますが、keepalive 1(後述)に失敗した場合、ゲートウェイをPP 1に切り替えるようになっています。「weight 0」は、WANロードバランシング機能を抑止し、トラフィックを片寄せする意味があります。
2行目「ip keepalive 1 icmp-echo~」では、Ping(ICMP-Echo)を用いてリーチャビリティを確認し、失敗した場合に1行目の経路制御をフックします。ここではパラメータとして「1 4 8.8.8.8」とありますが、Google Public DNS(8.8.8.8)を終点とし、1秒間隔でPingを送信し、4回失敗したら経路を切り替える設定です。複数のIPアドレスを指定する事も可能ですが、この場合AND条件として処理されます。
4. この仕組みについて
ポイントとして、ヤマハ ルーターの場合、リンクダウン=即経路障害=経路切り替えとならない事に注意です。例えば、上記のトポロジーの場合にLAN3を抜線した場合でも、最大4秒のタイムアウトを検知した後にPP1に経路が切り替わります。しかし、不安定な環境下ではPingの到達が不安定になる場合もあり、例えばPingが1000msec以上帰ってこなかった場合に即経路切り替えという設定も問題かも知れません。今回は1秒×4回といった現実的な値に設定してみましたが、皆さんの環境に合わせて調整してください。
5. おわりに
今回はWAN冗長化として設定をしましたが、この他にも応用として、WANロードバランシング(複数のWANへトラフィックを分散させる)のほか、IPSecトンネルのダウンを検知しての経路切り替えといった方法も可能です。
【参考】冗長構成で負荷を分散する