VTP(VLAN Trunking Protocol)の概要 ~基礎編①~
今回の授業は、『VTP(VLAN Trunking Protocol)の基礎』について学んでいきたいと思います。まずは、毎回恒例の座学からとなりますので、しっかり読んで勉強していきましょうね!
Contents
VTPとは
そもそもVTPとは、Cisco社独自のプロトコルで複数のスイッチで同じような設定をしなくても1台のスイッチで設定すると、同一グループに属してるすべてのスイッチでVLAN情報を同期する機能のことです。「めっちゃ便利じゃーん!!」って思われるかもしれませんが、危険も潜んでいるので、後で教えていきますね!
VTPドメイン
このVTPを動作させるには、まず最初にドメイン名を決める必要があります。ドメイン名とは、ネットワークで使用するスイッチ間で作られるグループの名前のことです。同じグループに所属したスイッチ同士でVLANデータベースを共有することになりますので、なるべくわかりやすい名前を付けておくことが大切になります。
モード設定
次に決めなければいけないのがモードです。このモードには3種類があり、それぞれを解説していきます。
サーバ
サーバモードのスイッチはVLANの作成、変更、削除が出来ます。その後に他のVTPメンバーにデータベースを配布、転送させます。そうすることで、同一ドメイン内のスイッチで同じVLANデータベースを保持することができます。簡単に言ってしまえば、VTPドメインのVLAN情報をまとめて操作出来るモードになります。
クライアント
クライアントモードのスイッチは、VTPドメインの中で配分されてきたVLAN情報を受け取り自分のデータベースに同期、転送することは出来ます。しかしサーバモードのようにVLANの作成、変更、削除などの操作は出来ません。
トランスペアレント
このモードは少しわかりづらいモードなんですが、トランスペアレントモードのスイッチは、VTPアドバタイズでVLANデータベース情報を受け取ると、他のスイッチに転送するが自分のデータベースには同期しません。そのため、自分のVLANデータベースは、自分で作ることになります。
あれ?VTPのモードで同期もしなければ、転送もしないモードってないの?って思いませんか。僕が初めて勉強した時には思いました。答えは簡単です。別(個別)のVTPドメインに属せばいいんです。だって同じドメインでいる必要ないですからね!このようにモードを使い分けることで、VTPを操作することができるのです。
VLAN情報の交換
VTPの設定を簡単に言ってしまうとこれだけなんです。この状態でスイッチ同士をトランクポートで接続すると、サーバモードのスイッチで作成したVLANは、他のサーバモードとクライアントモードのスイッチに反映されるようになります。たったこれだけの設定で複数台のスイッチにVLANの作成・変更・削除を一括で行うことができるようになるのです。
VTPを使ったサンプル構成
それでは実際にVTPでVLANデータベースを同期するまでの動作をサンプルの構成を見ながら学んでいきましょう。
基本構成
まず以下のお勉強構成を見てください。
『cat』というドメイン名に属す3台のスイッチ(『SW1』、『SW2』、『SW3』)があります。そのスイッチのモードが、上記のようになっていたとしたら、サーバモードのSW1のみがVLANの作成、変更、削除ができることになります。ここで『SW1』でVLAN10を作成すると、それぞれを接続したトランクポートでVLAN情報を送信することになりますが、その際に使用されるのが、ネイティブVLAN(デフォルトはVLAN1)となります。これによりSW2、SW3がVLAN情報を受信するとVLAN情報が同期されます。
※ネイティブVLANとは、トランク接続した際にVLANタグが付かなかったフレームを認識するためのVLANのことです。
トランスペアレントを含む構成
次にトランスペアレントが含まれる構成で考えてみたいと思います。以下の構成を見てください。
この場合、SW1がサーバモード、SW2がトランスペアレントモード、SW3がクライアントモードとなっています。この場合、先程の例と同様にSW1でVLAN10を作成すると、SW2はVLAN情報を受信すると後ろにいるSW3には情報を転送するものの、自身のVLANデータベースは同期しません。そのため、SW1とSW3のみがVLAN10を保持することが出来るのです。
サーバモードのスイッチが2台ある構成
次にサーバモードのスイッチが2台ある構成を考えてみたいと思います。以下のような場合ですね。
SW1とSW2がサーバモードで、SW3がクライアントモードの場合、SW3はどっちのVLANデータベースを信じて同期すればいいのでしょうか?職場でも2人の先輩から別々の意見を言われることって、よくありません?どっちかの意見だけを取り込むと、取り込まれなかった先輩に悪いし…なんて考えたりしますよね?スイッチも今回も一緒です。両方を取り込むように、健気に頑張るのです。
例えば、SW1にVLAN10を作成します。すると、先にも教えた通りサーバモードとクライアントモードのスイッチは、受け取ったVLAN情報をデータベースに反映します。今回で言うと、サーバモードのSW2とクライアントモードのSW3がVLANデータベースの同期を行うことになります。
その後に、SW3でVLAN20を作成すると、今度は、サーバモードのSW1とクライアントモードのSW3が同期を行い、すべてのスイッチでVLAN10とVLAN20を保持することになるのです。
これはどのように管理されているかというと、VTPにはコンフィグレーションリビジョン番号というものがあります。このコンフィグレーションリビジョン番号というのは、受け取った情報最新化をチェックするための番号となります。サーバからVLAN情報を受信するたびに番号が「1」ずつ加算され、自分が保持している番号よりも大きい番号を受信すれば、データベースへの同期を行うように判断します。
つまりSW1からVLAN情報を受け取ったSW2は、初期値である『0』から1加算した『1』で登録され、新しくVLAN20を作成するとコンフィグレーションリビジョン番号を『2』に変更して送信することで、他のスイッチが最新の情報かを判断させることができるのです。クライアントモードのスイッチも大変ですね。。
2つのVTPドメインの構成
最後に2つのVTPドメインが存在する場合について考えてみたいと思います。以下のような構成ですね。
SW1とSW2が『cat』というVTPドメインに属し、SW3が『dog』というVTPドメインに属しているとします。この場合、サーバモードのSW1がVLAN10を作成すると、同じVTPドメインに属すクライアントモードのSW2は、VLANデータベースを同期させようとします。しかし、別のVTPドメインに属すSW3はクライアントモードであっても同期は行いません。そのため、VLANを保有するのはSW1とSW2のみになります。
VTPの注意点
ここまでお勉強してくると、少し気付いた方もいるかもしれませんね。この機能は便利なんですが、逆にすごい危険でもあるんです。悪意のあるスイッチがサーバモードで繋げてきて、VLANデータベースを同期した後に、全てのでVLANを削除してしまったら、全てのスイッチに簡単に配布してしまうことができるのです。
これを防ぐためにVTPパスワードというのもがあります。もちろんVTPドメイン名がバレないように管理するのも当然ですが、よりセキュリティを高めるためにもパスワードをかけることができます。これによりドメイン名とパスワードが一致しないと参加できないようにできるので、最低限、この設定をすることを推奨します。
これで、VLANデータベースが不正に変更されることがなくなったので安心ですね!ってそうはなりません。少しは外部からの不正アクセスを防げるようになりましたが、当然、完璧に防げるわけではないですし、そもそもの話で正当な作業者が誤った設定を入れるリスクというのは常に存在します。全てがトランスペアレントモードのスイッチしかいないネットワークであれば、誤って設定を入れてしまったとしても与える影響は1台のスイッチに留めることができますが、10台のクライアントモードのスイッチを保有するスイッチネットワークであれば、すべてのスイッチに影響を与えてしまいます。最悪の場合は、全断なんてことも起こりうるのです。
まとめ
今回の授業はここまでにします。VTPのことについて少しは理解することができましたか?すべてのスイッチでVLANデータベースを自動的に同期することができるため大変便利ではあるのですが、最後にも書かせてもらった通りリスクもあります。リスクを恐れて何もしないのではなく、リスクを理解して使うべきかどうかを判断していきましょう!それでは次の授業で、もう少し理解を深めていきましょう!
VTP(VLAN Trunking Protocol)の概要 ~基礎編②~
他のLayer2の授業
“VTP(VLAN Trunking Protocol)の概要 ~基礎編①~” に対して1件のコメントがあります。