コンテンツにスキップ
InstagramYouTubeFacebook

Tutorial

ISP向けMikroTikデュアルWANフェイルオーバー

ISPフリート向けに信頼できるMikroTikデュアルWANフェイルオーバーを構築する方法:再帰ルーティング、Netwatch、WAN別NAT、切替時間、遠隔検証。

概要 MikroTikデュアルWANフェイルオーバーは、プライマリリンクが故障したときにトラフィックを自動的にバックアップアップリンクへ移すことで、サイトをオンラインに保ちます。RouterOSは3つの構成要素 — check-gatewayを用いた再帰ルーティング、Netwatch、WAN別NAT — を提供しており、適切な組み合わせは検出がどれだけ速く、どれだけ賢くある必要があるかによって決まります。ISPフリートにとって難しい問題は設定スニペットではなく、CGNAT越しの数百の遠隔サイト全体で、フェイルオーバーが本当に機能したかを確認することです。本ガイドはその両方を扱います。

ISPフリート向けMikroTikデュアルWANフェイルオーバーのワークフロー:両方のアップリンクを把握し、check-gatewayを用いた再帰デフォルトルートを追加し、WAN別NATを構成し、Netwatch検出を追加し、バックアップ経路を遠隔で検証する。

MikroTikデュアルWANフェイルオーバーとは?

MikroTikデュアルWANフェイルオーバーは、ルーターに2つのインターネットアップリンク — プライマリとバックアップ — を与え、プライマリがパケットを通さなくなったときにトラフィックを自動的にバックアップへ移し、回復したら元に戻すRouterOS構成です。これはロードバランシングと同じではありません。フェイルオーバーは1つのリンクを保険として遊休させておくのに対し、ロードバランシングは両方にトラフィックを分散させます。目的は帯域幅の追加ではなく継続性であり、だからこそ単純に停止が許されないサイトの既定の冗長化パターンなのです。

このメカニズムはルート選択に依拠します。RouterOSは最も低い管理距離でアクティブなデフォルトルートを選ぶため、プライマリには小さい距離を、バックアップには大きい距離を与えます。設計全体はそこで1つの問いに帰着します。ルーターはどうやってプライマリが「ダウン」だと判断し、そのルートを降格させるのか?この判断を正しく — 十分に速く、しかし神経質にならずに — 行えば、フェイルオーバーは信頼できます。誤れば、切替が遅すぎるか、パケットが1つ失われるたびにリンク間でばたつくかのどちらかになります。

ステップ1 — ルートに触れる前に2つのWANを把握する

まず各アップリンクが実際に何であるかを書き出すことから始めます。静的またはPPP割り当てのゲートウェイを持つ固定の光ファイバーやPPPoEのプライマリは、Carrier-Grade NATの背後に座って動的アドレスを渡すStarlinkやLTEのバックアップとは異なる挙動をします。これが重要なのは、再帰ルーティングは安定したIPゲートウェイでのみ機能し、アドレスが変わりうるPPPoEやDHCPのような動的インターフェースタイプでは機能しないからです(MikroTikドキュメント — Failover (WAN Backup))。どのリンクがプライマリで、どれがバックアップか、そしていずれかが再接続時にIPを変えるかを決めてください — このたった1つの事実が、使える検出方法を決定づけます。

ステップ2 — check-gatewayを用いた再帰デフォルトルートを追加する

古典的な手法は再帰ルーティングを使います。デフォルトルートをネクストホップに直接向ける代わりに、プローブ対象(例えばよく知られたパブリックリゾルバ)に向け、その対象を特定のWANゲートウェイ経由でのみ到達するようRouterOSに指示する静的ルートを追加します。次に、それらの対象上で再帰的に解決される2つのデフォルトルートを作成します — プライマリは小さい距離と有効化されたcheck-gateway=pingを持ち、バックアップは大きい距離を持ちます(Scoop — Basic ISP Failover with MikroTik)。

計画すべき挙動はタイミングです。check-gatewayは連続2回の失敗チェックの後にルートを無効化し、チェックはおよそ10秒ごとに実行されるため、実際の切替は約20〜30秒に落ち着きます — そして断続的なパケット損失には反応せず、完全に死んだゲートウェイにのみ反応します(MikroTikドキュメント — Failover (WAN Backup))。多くのISP顧客サイトではこれで許容できます。音声や決済端末ではしばしば許容できず、そこでステップ4が登場します。

ステップ3 — 両方のアップリンクにNATを構成する

デュアルWANルーターには、その時アクティブなリンクが送信トラフィックを正しく変換できるよう、WANインターフェースごとに個別のmasquerade(またはsrc-nat)ルールが必要です。1つのインターフェースに紐づいた単一ルールは、フェイルオーバーがトラフィックをもう一方のリンクへ移した瞬間に静かに接続を壊します。プライマリのout-interface用にsrcnatチェーンへmasqueradeルールを1つ、バックアップ用に2つ目を追加します。受信サービスを公開する場合、プライマリのアドレスに紐づいたdst-natルールは、そのリンク — とそのパブリックIP — が消えると機能しなくなることを覚えておいてください。この受信側の脆弱性は、当社のStarlink IP変更のケースで扱ったのと同じアーキテクチャ上の罠であり、これがアウトバウンドにアンカーされたアクセスがポートフォワーディングよりうまくスケールする理由です。NATの基礎については、MikroTikでのNAT構成ガイドをご覧ください。

ステップ4 — より速いまたは賢い検出が必要なときはNetwatchを使う

20〜30秒が遅すぎる、あるいは劣化しているが生きているリンクに対処する必要があるとき、Netwatchはより柔軟なツールです。RouterOS v7では、Netwatchはicmptcp-connhttp-gethttps-get、またはsimpleでプローブできるtypeパラメータを獲得し、check-gatewayの固定された周期に縛られる代わりに、独自のチェック間隔を設定できます(MikroTikドキュメント — Failover (WAN Backup))。各ホストにはupスクリプトとdownスクリプトがあり、遷移時にプライマリのデフォルトルートを無効化したり、アラートを上げたり、イベントをログに記録したりできます。

多くの事業者は両方を組み合わせます。再帰ルーティングはクリーンなリンク停止を処理し、Netwatchはより厄介なケースをカバーして通知を送ります。長く続いているコミュニティスレッドはまさにこのトレードオフを論じており、1つの方法をフリート全体で標準化する前に読む価値があります(MikroTikフォーラム — netwatch instead of recursive routing)。どちらを選ぶにせよ、設定を各サイトで同一に保ってください — オーダーメイドのフェイルオーバースクリプトのフリートは、それ自体が起こるのを待っている障害です。

ステップ5 — すべての遠隔サイトでフェイルオーバーを検証する

ここが設定チュートリアルが飛ばす部分です。ベンチ上の1台のルーターにルートを追加するのは簡単ですが、配備された数百のCPEでフェイルオーバーが機能することを証明するのが本当のISPの問題です — そしてバックアップリンクがCGNATの背後のStarlinkやLTEのとき、それはより難しくなります。フェイルオーバー後、機器を管理するための到達可能なパブリックIPがしばしば存在しないからです。顧客が電話してくるのを待つことでしかフェイルオーバーを確認できないなら、それは実際にはフェイルオーバーを持っていません。動くことを願っているスクリプトを持っているだけです。

ここで集中管理が経済性を変えます。MKControllerは認証済みのアウトバウンドトンネルを通じて各ルーターを到達可能に保つため、バックアップ経路がトラフィックを運んでいることを確認し、監視でフェイルオーバー遷移を観察し、修正された設定をプッシュできます — バックアップリンクに存在しないかもしれないパブリックIPに依存することなく。これをテレメトリと組み合わせてください。ZabbixによるMikroTikの遠隔監視MikroTikのSNMP監視に関する当社のガイドは、フェイルオーバーイベントそのものにアラートを出す方法を示しており、高価なバックアップリンクへの静かな切替が見過ごされることは決してなくなります。

ヒント

  • バックアップリンクのcheck-gatewayプローブは、プライマリ経由ではなくそのリンク経由で到達する対象に向けたままにしてください。さもなければテストは無意味です。
  • 監視でフェイルオーバー遷移にタグを付け、バックアップアップリンクで何日も稼働しているサイトがチケットを起こすようにしてください — 誰も気づかないフェイルオーバーは、救済ではなく繰り返し発生するコストです。
  • ルートだけでなく実際のケーブルをテストしてください。プライマリのコネクタを抜いて、本物の切替時間を計測します。

フェイルオーバーを1つの制御プレーンの下にまとめる

単一のMikroTik上のデュアルWANフェイルオーバーは解決済みの問題です。それをフリート全体で信頼できる形で行うこと — 一貫した設定と、パブリックIPで到達できないルーター上でバックアップが機能することを証明する能力を伴って — こそ、ほとんどの事業者が損失を出す場所です。集中化され、アウトバウンドにアンカーされた管理がそのギャップを埋めます。

無料のMKControllerトライアルを始める