前説(本題は次の見出しからです)
「ネットワークのプロトコルってネットで調べたけどよくわからない!」って思う方多いのではないでしょうか。
私はCCNAまで取得していざ現場に行ってみて「教科書的な知識だけでは歯が立たない」ことを痛感しました。
私のブログでは、教科書だけでは掴みにくいネットワークプロトコルを、設定・構築時に考慮しなきゃいけない”肝”の部分にフォーカスをあてて書いていきたいと思います。
実機で設定して「なんでそうなってんの?!」と感じた重要ポイントを中心にお話ししていきますので、みなさんが自分で設定する立場になったら知っていなきゃいけない”プロトコルの核”となりそうな部分を解説していけたらと思います。
とりあえずVRRPを調べてみる
まずはVRRPの表面上の説明から。
Virtual Router Redundancy Protocol(仮想ルータ冗長プロトコル・以下VRRPと略す)はインターネット上でのルーターの冗長化をサポートするプロトコル
Wikipediaより引用 https://ja.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol(外部サイト)
Yes that’s right. だいたいどのサイトもこんな感じですよね。
デフォルトゲートウェイを冗長化できる、マスタールータとバックアップルータがある、マルチベンダー利用可等々基本事項は他サイトで十分説明されています。
確かにその通りだと思います。
VRRPについてはそれなりに情報がネットに出てますので、VRRPの一般論は見えてきます。
では、私が知り得たVRRPの核となりそうな情報を書いていきます。(ひょっとしたら他サイトにも書いてありますが)
たぶんこれからVRRPを知ろうとする人の理解を速める情報になるんじゃないかと思います。
VRRPの核となりそうな部分
私が現場で知ったVRRPの重要ポイント
- 障害復旧時にmasterとbackupの関係をそのまま継続させるか元のstatusに戻すか設定できる
- masterが死んだ、backupが死んだという判断はリンクがupかどうかで判断している
- ケーブルのつなぎ方によってはstatusでmaster、masterがあり得る
- VRRP groupの登録は、VLANごとに設定する必要がある(VLANの数だけデフォルトゲートウェイを作ることになる)
- VRRPのgroupナンバーは、中身のVLANさえ違えば同じgroupナンバーを同じ機器に設定しても動作する
それぞれ説明していきます。
障害復旧時にmasterとbackupの関係をそのまま継続させるか元のstatusに戻すか設定できる
これは私は現場に行って初めて知りましたが、masterとbackupの関係を作った際に既定のstatusに戻るのか、そのままbackupがmasterとして動き続けるのか設定できるそうです。
私の現場では、master側に障害が発生し、backupがmasterとなって動き、旧masterが復旧しても元のstatusに戻らないように設定しています。
それは、元のstatusに戻る際に瞬断が発生してしまうからです。
Statusが戻るのに瞬断が発生するのはお客さんが嫌だと言ったので、一旦切り替わったstatusは再びmaster側に障害が発生しない限り、statusが変わらないようにしています。
ですが、設計時のstatusと今の現場のstatusは異なる、ということがあるのでエンジニア的にはやや困ります。(汗)
masterが死んだ、backupが死んだという判断はリンクがupかどうかで判断している
これは、案外単純なんだなぁと拍子抜けしてしまった話です。
VRRPの関係はお互いのポートがupしていて、そこからのHelloパケットみたいのがお互いにやりとりできてmaster、backupをどうするか確認しています。
ですが、下記の絵のように、ポート自体はupしたまま配下の機器間で障害が発生してもルータのポートはupしたままです。
この場合、それぞれのルータが「あれ、対向のルータが死んだ?じゃあ俺がmasterやんなきゃ」って思って、どちらのルータもmasterになります。
ですが、絵のように左のスイッチからの左のルータを通して通信できるし、右のスイッチからも右のルータに対して通信ができますのでスイッチ配下の機器は障害が気にならないということになります。
ケーブルのつなぎ方によってはstatusでmaster、masterがあり得る
これはさっきの説明でわかったと思いますが、他にもmaster、masterの関係になる場合があります。
例えばケーブルを挿すポートを間違えてしまい、とりあえずポートがupしている状態でもmaster、masterの関係になります。
結局は、リンクがupして、お互いのルータにHelloパケットが到達しないとどっちもmasterで動くということです。
ちなみにですが、ルータとルータを直接繋ぐとmaster、backupの関係を作ることができます。
「実際にそんな構成なくね?」と思われますが、おっしゃる通りです。
これは、自分が検証していてとりあえずmaster、backupが正しく機能するかだけ調べようとなった時、「わざわざスイッチの見立て作らなきゃいけない?」という疑問に対して、先輩がくれたアドバイスでした。
「直接繋いでも関係作れるから試してみ」と言われ、ブスって挿してもstatusがうまくいったのでビビりました。
という話です。master、backup関係作るだけの時にお試しあれ。
VRRP groupの登録は、VLANごとに設定する必要がある(VLANの数だけデフォルトゲートウェイを作ることになる
これは他サイトでも説明あるかも知れませんが、物理的なケーブルが1本でその中でvlanを複数通していたら、そのvlanの数だけデフォルトゲートウェイ(バーチャルIPアドレス)、各ルータのアドレスが必要になります。
下記の絵のように、3つのVLANが設定されていたらそれぞれのVLANに対してデフォゲが必要ですから、VIPも3つ必要であり、ルータのポートに設定するアドレスも複数必要になります。
VIPはルータで共有する論理的なアドレスであるため、masterが「デフォゲはこちらですよ〜!」とスイッチに対してアピールします。
その時backupはおとなしくしていなくちゃいけないので、VIPは掲げず静観しているという訳です。
VRRPのgroupナンバーは、中身のVLANさえ違えば同じgroupナンバーを同じ機器に設定しても動作する
これは「おそらく」というレベルの情報ですが、VRRP group ナンバーを人間が設定するのですが、一つの機器に同じgroup ナンバーをつけても正しく動作するとうい話です。
バーチャルMACアドレスはルータが自動生成しますが、「0000.5e00.01xx」のxxの値にVRRP group ナンバーが入ります。
調べた限り、前半10桁は共通しているように思われるため、xxはVRRP group ナンバーが同じだと、同じMACアドレスが生まれてしまいます。
ですが、実際には動作するので、何人かのエンジニアの話だと「VLANが違えば問題ない」という認識のようです。
それかアドレスが違えば問題ないのか・・・?
探求の余地はありますが、とりあえず現段階では「VRRP groupが重複しても動作するっぽい」という話でお願いいたします。
まとめ
VRRPについては色々とネットでも情報が見つかりますが、実際に現場で設定すると「えっ?そうなってんの?」と思う場面が多々あります。
教科書的な内容ではなく、ちょっとした現場での経験談があるとこれからVRRPを知ろうとしている、または勉強してこれから設定しようとしている人の役に立つんじゃないかと思います。
今後他にも、下記について「NWプロトコルの核」を知る記事を追加していくのでお楽しみに〜
GRE(Generic Routing Encapsulation)
MPLS( Multi-Protocol Label Switching )
CCC(Circuit cross-connect)
その他にも増えるかもです。