自宅の外部ネット接続環境をVRRP構成にした。
VRRPはバーチャルルータ構成による冗長化プロトコルで、これを構成するとルータ自体が落ちる、ルータの接続先が落ちる等の通信不調時に速やかにルータを切り替えることが出来る。
VirutalIP:複数のルータが共有するIPで、通常、クライアントのデフォルトゲートウェイにするIP
VRRP ID:VRRPのグループを管理するための1バイトのIDで、通常同じバーチャルIPを持つ機器は同じIDをセットする
Priority:バーチャルIDの中で優先される順位を設定する1バイトの値で、大きい値のルータほど優先される
各ルータはバーチャルIDに広告して、各ルータのプライオリティを問い合わせ、自分よりプライオリティの高いルータが存在するときにバックアップ動作し、無い場合にマスターとしてバーチャルIPの通信を受け入れる。
これだけではLAN上からルータのポートに到達出来ないときだけルータが切り替わる。
ルータから先の上位回線がダウンしたときに切り替わるためには、各ルータがそれを検出してVRRP応答の切り替え処理を行う必要がある。 プライオリティが一番低いルータはこの処理の必要は無い。
今回の構成はNECのUNIVERGE IX2025をマスタールータ、YAMAHA RTX1100をスレーブルータとして構成を実施してみる。
RTX1100の設定
1 |
ip lan1 vrrp 10 192.168.0.1 priority=100 |
バックアップなので降格する必要が無いためこれだけで終わり。
LAN1インタフェイスのVRRP ID:10として、192.168.0.1のバーチャルIPを持って、プライオリティ100で動作する。
この設定をした時点で、LAN上で192.168.0.1にアクセスするとRTX1100が応答し、ルーティング処理も動く。
IX2025の設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
interface FastEthernet1/0.0 vrrp 10 ip 192.168.0.1 vrrp 10 priority 200 vrrp ip virtual-host vrrp enable watch-group vrrp-watch 10 event 10 ip unreach-host 8.8.8.8 FastEthernet0/0.1 action 10 ip shutdown-vrrp 10 probe-counter variance 3 probe-counter restorer 3 probe-timer restorer 3 probe-timer variance 1 network-monitor vrrp-watch enable |
内部ポートであるFE1/0にRTX1100同様、VRRP ID:10、IP:192.168.0.1として、こちらはプライオリティ200で動作する。
vrrp ip virtual-hostすると、内部からのバーチャルIPへのPINGやProxyDNSに応答するようになる。
vrrp enableした時点でRTX1100がバックアップに降格して、こちらがマスター動作に切り替わり192.168.0.1として動作する。
watch-groupはトリガ動作。 今回はvrrp-watchの名前でID10のトリガを作成。
適当な監視先として、PPPoEインタフェイスにしているFE0/0.1からGoogle public dnsの8.8.8.8への到達性を毎秒確認、3回到達出来なければVRRP ID:10の処理を停止、3回到達出来るようになれば復帰させることとして、ネットワークモニタを有効化した。
このトリガ動作により、IX2025のWANが8.8.8.8に3秒間到達出来なければVRRP広告への応答をしなくなり、次に大きいプライオリティを持つRTX1100がマスターに昇格して192.168.0.1として動作する。
再び到達出来るようになればVRRP広告に応答して、プライオリティが低いRTX1100はバックアップ動作となり、IX2025がマスター動作を開始する。
ネットワーク上の広告だけで動作しているので、サーバなどを用意する必要が無く、ルータの追加や削除は適切なVIP/VID/Priorityの設定をルータに行うだけで済む。
実際、ルータのLANケーブルを抜いたり再起動したりしてもクライアント側は通信継続されるため、VRRPをデフォルト化しておけば障害対応だけで無く、構成変更や機器更新にも便利だ(新しいルータを導入した時にはPriorityを高くして設置すれば勝手に切り替わる)
(1354)