t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

Ciscoルータを3台繋いでスタティックルーティングで通信

今回はCiscoルータ(892J-K9-V2)3台を繋いで通信してみた。

事前に用意したネットワーク図はこちら。
f:id:t-hom:20220313184857p:plain

RT-A・RT-B・RT-Cは実際には次のように緑のLANケーブルで繋がっている。
f:id:t-hom:20220312232005p:plain
※青いケーブルはPCからルーターを操作するためのコンソールケーブルなので関係ない。上の白いのはLAN CHANGERというLANの接続先を物理的に切り替える装置。各ルーターと繋がってるけど、実際の接続先ルータは1つでボタンで切り替える。コンソールケーブルの差し替えが面倒なので使ってる。

ネットワーク図中にGE0とかFE0と書いているのがポートで、GE0はGigabit Ethernet 0、FE8はFast Ethernet 8である。
この2つはルーテッドポート(いわゆるWANポート)という種類で、レイヤー3のネットワーク層で動作する。(つまりIPを割り当てたり、ルーティングに使えるポート)。

他にもこのルーターにはFE0~FE7があるが、これらはスイッチポート(いわゆるLANポート)なので、レイヤー2のデータリンク層で動作する。IPを割り当てたり直接ルーティングに用いることはできない。(VLANを割り当てれば、VLANに対するルーティングはできる。)

図中の192.0.2.xとか、198.51.100xといったアドレスはあまり見なれない体系かと思うけど、これはRFC5737で用意されたテストネットワーク用のIPアドレスで、プライベートIPと同様にIANAとかインターネットレジストリと調整しなくても、内部検証用とかで勝手に使って良いアドレスである。今回はまさに勉強のためのクローズドネットワークなので、宅内LANと混ざらないように使ってみた。
tex2e.github.io

一応、図中にはパソコンも配置したものの、ルーター同士でpingできたので今回はルーターのみでの検証である。

ルーターのホスト・IP設定

初めて起動すると初期設定をするか聞かれるが、これは初期設定ウィザードを使うかどうかという質問なので、Noと回答して個別に設定を始める。

ルーターA

Router>enable ←特権モードへ
Router#configure terminal ←設定モードへ
Router(config)#hostname RT-A ←ホスト名設定
RT-A(config)#interface gigabitEthernet 0 ←GE0インターフェースの設定モードへ
RT-A(config-if)#ip address 10.1.100.1 255.255.255.0 ←GE0にIPアドレス設定
RT-A(config-if)#no shutdown ←GE0 有効化
RT-A(config-if)#exit ←GE0の設定終わり
RT-A(config)#interface fastEthernet 8 ←FE8インターフェースの設定モードへ
RT-A(config-if)#ip address 192.0.2.1 255.255.255.0 ←FE8にIPアドレス設定
RT-A(config-if)#no shutdown ←FE8 有効化
RT-A(config-if)#exit ←FE8の設定終わり
RT-A(config)#exit ←設定モード終わり
RT-A#

ルーターB

Router>enable ←特権モードへ
Router#configure terminal ←設定モードへ
Router(config)#hostname RT-B ←ホスト名設定
RT-B(config)#interface gigabitEthernet 0 ←GE0インターフェースの設定モードへ
RT-B(config-if)#ip address 192.0.2.2 255.255.255.0 ←GE0にIPアドレス設定
RT-B(config-if)#no shutdown ←GE0 有効化
RT-B(config-if)#exit ←GE0の設定終わり
RT-B(config)#interface fastEthernet 8 ←FE8インターフェースの設定モードへ
RT-B(config-if)#ip address 198.51.100.1 255.255.255.0 ←FE8にIPアドレス設定
RT-B(config-if)#no shutdown ←FE8有効化
RT-B(config-if)#exit ←FE8の設定終わり
RT-B(config)#exit ←設定モード終わり
RT-B#

ルーターC

Router>enable ←特権モードへ
Router#configure terminal ←設定モードへ
Router(config)#hostname RT-C ←ホスト名設定
RT-C(config)#interface gigabitEthernet 0 ←GE0インターフェースの設定モードへ
RT-C(config-if)#ip address 198.51.100.2 255.255.255.0 ←GE0にIPアドレス設定
RT-C(config-if)#no shutdown ←GE0 有効化
RT-C(config-if)#exit ←GE0の設定終わり
RT-C(config)#interface fastEthernet 8 ←FE8インターフェースの設定モードへ
RT-C(config-if)#ip address 10.1.200.1 255.255.255.0 ←FE8にIPアドレス設定
RT-C(config-if)#no shutdown ←FE8有効化
RT-C(config-if)#exit ←FE8の設定終わり
RT-C(config)#exit ←設定モード終わり
RT-C#

ルーティング設定

上記の設定をすれば隣り合うルーターの同一ネットワークへは疎通できるのでpingが返ってくる。
例えばRT-Aからping 192.0.2.2と打てば返信がある。

しかし、RT-Aから198.51.100.1や198.51.100.2宛てには通信ができない。RT-Aはそれがどこにいるか知らないからだ。
ここではそれをルーターに教えてあげる作業をする。

ルーターA

まずはRT-Aから。

RT-A>enable ←特権モードへ
RT-A#configure terminal ←設定モードへ
RT-A(config)#ip route 198.51.100.0 255.255.255.0 192.0.2.2 ←198.51.100.xに行くなら次の経由地は192.0.2.2だと教える。
RT-A(config)#exit ←設定モード終わり
RT-A#

ルーターB

次にRT-Bから戻りのルートも確保する。戻りもちゃんと設定しないとpingが返ってこない。

RT-B>enable ←特権モードへ
RT-B#configure terminal ←設定モードへ
RT-B(config)#ip route 192.0.2.0 255.255.255.0 198.51.100.1 ←198.51.100.xに行くなら次の経由地は192.0.2.2だと教える。
RT-B(config)#exit ←設定モード終わり
RT-B#

疎通確認

RT-A(192.0.2.1)からRT-CのGE0インターフェースに設定した198.51.100.2へpingを打ってみた結果がこちら。
f:id:t-hom:20220313000837p:plain

ちょっとパソコンのpingと表示が違うけど、Success rate is 100 percent (5/5)ということなので5回中5回成功したと書いてある。

自宅でルーター複数台を通信させるというのは今回が初めてなので、自分が理解した理屈どおりに動作したことにちょっと感動した。
L2スイッチで同一ネットワークなら挿すだけで繋がるので、ルーティングって言われても今までピンと来てなかったんだけど、ようやくその概要をつかむことができた。

次は逐一自分でルートを設定しなくても済むように、ダイナミックルーティングをやってみたいと思う。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。