今回はCiscoルータ(892J-K9-V2)3台を繋いで通信してみた。
事前に用意したネットワーク図はこちら。
RT-A・RT-B・RT-Cは実際には次のように緑のLANケーブルで繋がっている。
※青いケーブルは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を打ってみた結果がこちら。
ちょっとパソコンのpingと表示が違うけど、Success rate is 100 percent (5/5)ということなので5回中5回成功したと書いてある。
自宅でルーター複数台を通信させるというのは今回が初めてなので、自分が理解した理屈どおりに動作したことにちょっと感動した。
L2スイッチで同一ネットワークなら挿すだけで繋がるので、ルーティングって言われても今までピンと来てなかったんだけど、ようやくその概要をつかむことができた。
次は逐一自分でルートを設定しなくても済むように、ダイナミックルーティングをやってみたいと思う。