てくなべ (tekunabe)

ansible / network automation / 学習メモ

[NetBox] パッチパネルをデバイスとして表現する

はじめに

NetBoxOSS の DCIM/IPAM です。スイッチやルーターなどのデバイス情報を定義したり、IP アドレスの割当状態を管理したりできます。

バイスの定義を工夫をすると、パッチパネルを模したものを作成できます。

ポイントは、パッチパネルのインターフェースをデバイスInterfaces ではなく、Front PortsRear Ports で定義することです。

これにより、[デバイスA]---[パッチパネル]---[デバイスB] のような接続にした際でも、デバイスAのネットワーク機器的な対向はデバイスBという見え方になります。かつ、特定の操作をすると、パッチパネルのどのポートを経由して対向のデバイスに接続しているかも確認できます。このように、ネットワーク的な対向と、物理的な対向を分けて管理できるようになります。

もともとは、公式ドキュメントのFront Ports の項目あたり Patch Panel についての言及があって読んだのですが、ピンとこなかったので試しました。

この記事では、デバイスとしてパッチパネルを作成する手順と、通常のデバイスと接続したときに見え方ををご紹介します。もっと再現度を高める工夫があるかも知れませんが、基本はこのような手順になるかと思います。

  • 環境
    • NetBox 2.9.7

【目次】


■ 作成するパッチパネルと構成

今回は全面背面がそれぞれ24ポートのパッチパネルを2つ作成します。既存の通常デバイスルーター)2つの間にそれらを挟む構成とします。実際はいろいろなパターンがあるかと思いますが、応用はできるかと思います。

f:id:akira6592:20201123213404p:plain
全体構成

ネットワーク的には RT1RT2 を接続し、物理的には間に PP1PP2 が挟まる構成です。これを NetBox で表現します。

RT1RT2 は通常のデバイスです。各ポートは Interfaces として定義します。


■ パッチパネル作成手順

ここから具体的なパッチパネルの作成手順です。

Manufacture、Device Role の作成

ManufactureDevice role は、通情の device の定義する場合と特に変わりありません。

せっかくなので、それらしく作ることにします。

ここでは、Manufacture として、justdoit を作成します(架空です)。

f:id:akira6592:20201123213448p:plain:w400
Manufacture の作成

Device Role として patch_panel を作成します。

f:id:akira6592:20201123213513p:plain:w400
Device Role の作成

Device Type の作成と Rear Ports、 Front Ports、 の定義

次に Device Type を作成します。

その後、作成した Device Type に Rear Ports、 Front Ports を定義sます。

Device Type の作成

Device Type として、patch_panel_24 を作成します。24ポートのパッチパネルであることを意図します。

f:id:akira6592:20201123213539p:plain:w400
Device Type の作成

Rear Ports の定義

作成した Device Type patch_panel_24 に対して Front PortsRear Ports を定義します。このように Device Type 単位でポートを定義することで、この Devive Type を適用したデバイスは、Front PortsRear Ports の定義を継承します。

まずは、Rear Ports を定義します。(Front Ports の定義時に Rear Ports を割り当てる使用のため、先に Rear Ports を定義します)

Device Type patch_panel_24 の Add Componets 内の Rear Ports をクリックします。

f:id:akira6592:20201123213604p:plain
Rear Ports をクリック

Rear Ports 定義画面が表示されます。ここでは、NameRearPort[1-24] を入力します。このように範囲指定することで、連番のポート番号をいっぺんにしていてできます。Type は、今回はメタルケーブルを想定してデフォルトの 8P8C のままにします。

f:id:akira6592:20201123213634p:plain:w400
Rear Ports の定義

Device Type patch_panel_24Rear Ports 欄に 24 個のポートが定義されたことを確認します。

f:id:akira6592:20201123213727p:plain
24 個 のRear Ports の確認

Front Ports の定義

続いて、Front Ports を定義します。

Device Type patch_panel_24 の Add Components 内の Front Ports をクリックします。

f:id:akira6592:20201123213805p:plain
Front Ports をクリック

Rear Ports 定義画面が表示されます。ここでは、NameFrontPort[1-24] を入力します。Front Ports と Rear Ports を 1:1 で対応付けるために、Rear ports で、すべてのポートを選択します。

f:id:akira6592:20201123213946p:plain
Front Ports の定義

Device Type patch_panel_24Front Ports 欄に 24 個のポートが定義されたことを確認します。Front Ports と Rear Ports の対応付けも確認します。

f:id:akira6592:20201123214032p:plain
24 個 の Front Ports の確認

なお、今回は効率化のために、Device Type 単位で Front PortsRear Ports を定義しましたが、もちろん デバイス単位でも定義できます。

バイスの作成

パッチパネルとしてのデバイスを2台作成します。

f:id:akira6592:20201123214134p:plain:w400
作成範囲

Manufacture、Device Role、Device Type は、これまで作成した Justdoitpatch_panelpatch_panel24 を指定します。

Site は、別途作成済みの mysite1 を指定します。1つめの NamePP1 とします。

f:id:akira6592:20201123214224p:plain:w400
パッチパネルとしてのデバイスの作成

バイス作成後の画面を確認すると、Device Type patch_panel24 で定義した Front PortsRear Ports それぞれ24ポートが、このデバイスにも適用されたことがわかります。

f:id:akira6592:20201123214405p:plain
Front Ports の確認(Rear Ports もにた表示になる)

同様の手順で、 PP2 も作成します。

なお、今回は省略しますが、パッチパネルを含むデバイスは別途定義したラックに配置することもできます。


■ 接続手順

先程作成したパッチパネル間、既存のデバイスとパッチパネルの間をそれぞれ接続します。

パッチパネル間の接続

まず、パッチパネル PP1PP2 間を接続します。今回は、24ポート分のケーブルがすでに敷設されてるものとして、すべて接続します。

Rear Port 同士を接続することになります。

f:id:akira6592:20201123214622p:plain
接続箇所

接続手順は以下のとおりです。

パッチパネル PP1 の画面を開き、RearPort1 の横の緑の接続アイコンをクリックし、Rear Port をクリックします。

f:id:akira6592:20201123214657p:plain
Rear Port をクリック

接続画面が表示されるので、接続先として PP2RearPort1 を選択します。

f:id:akira6592:20201123214721p:plain
接続先のパッチパネルの Rear Port を選択

他のポートも同様に、PP1 の接続します。(なにか一括でできる別の方法をとったほうがいいかも知れません)

  • 対応表
A Side Device A Side Name B Side Device B Side Name
PP1 RearPort1 PP2 RearPort1
PP1 RearPort2 PP2 RearPort2
PP1 RearPort23 PP2 RearPort23
PP1 RearPort24 PP2 RearPort24

PP1 の Rear Ports から見ると、このような表示になります。

f:id:akira6592:20201123214816p:plain
PP1 から

PP2 の Rear Ports から見ると、このような表示になります。

f:id:akira6592:20201123214843p:plain
PP2 から

ここまでで、パッチパネル間を Rear Ports 同士で接続しました。

通常のデバイスとパッチパネルの接続

通常のデバイスとパッチパネルを接続します。

RT1 と PP1 の接続

まず RT1PP1 を接続します。

f:id:akira6592:20201123214915p:plain
接続箇所

接続手順は以下のとおりです。

バイス RT1 画面の Interfaces 欄の GigabitEthernet1 の横の緑の接続アイコンをクリックし、Front Port をクリックします。

f:id:akira6592:20201123214954p:plain
Front Port をクリック

接続画面が表示されるので、接続先として PP1FrontPort1 を選択します。

f:id:akira6592:20201123215031p:plain
接続先 PP1 の FrontPort1 を選択

RT2 と PP2 の接続

同じように、RT2PP2 を接続します。

f:id:akira6592:20201123215118p:plain
接続箇所

バイス RT2 画面の Interfaces 欄の GigabitEthernet1 の横の緑の接続アイコンをクリックし、Front Port をクリックします。

f:id:akira6592:20201123214954p:plain
Front Port をクリック

接続画面が表示されるので、接続先として PP2FrontPort1 を選択します。

f:id:akira6592:20201123215158p:plain
接続先 PP2 FrontPort1 を選択

ここまでで、目指していた以下の接続になりました。

f:id:akira6592:20201123213404p:plain
全体構成

接続状態の確認

接続状態をを RT1 側から確認します。

f:id:akira6592:20201123215312p:plain
RT1 から対向の確認

このように、Interfae GigabitEthernet1 の対向(Connection)には、通常のデバイスである RT2 が表示されます。ネットワーク機器としての対向です。パッチパネルである PP1 ではありません。私はこのような表示のほうがありがたいです。

物理的な対向であるパッチパネルを書くにするには、以下の Trace アイコンをクリックします。

f:id:akira6592:20201123215338p:plain
Trace アイコンのクリック

するとケーブルのトレース結果が表示されます。物理的なつながりとして、[RT1]---[PP1]---[PP2]---[RT2] が確認できます。もちろん、あいだの PP や反対側の RT2 からも確認できます。

f:id:akira6592:20201123215427p:plain
トレース結果

もとの構成図にケーブル番号を対応させるとこのようになります。

f:id:akira6592:20201123215446p:plain
全体構成とケーブル番号の対応


■ おわりに

NetBox で、パッチパネルをデバイスとして作成し、通情のデバイスと接続したときの見え方を確認しました。

ネットワーク機器としての接続と、物理的な接続をそれぞれ管理できるのは便利だと思いました。