はじめに
先日、複数台のルータを使ったネットワークの勉強を行いました。その際にスタティックルーティングの設定を行ったのでその設定方法とわかったことについて書いていきます。
実験環境
・ルータ 3台 (Cisco 892)
・PC 2台
・コンソールケーブル、LANケーブル
・Tera Term
Windowsからルータの設定を行う際はTera Termを使うと便利なので、インストールすることをおすすめします。
実験内容
ルータ2台でスタティックルーティング
図1のようにPCとルータのWANポートにLANケーブル(黒)をつなげます。ルータの設定を行うためにコンソールケーブル(水色)でもつなげます。
各PCにIPアドレスとデフォルトゲートウェイ、ルータのインターフェースにIPアドレスを割り振ります。
この状態でPC1からPC2にpingを飛ばしてみますが「Destination host unreachable.」の実行結果が表示されます。これはR1は直接つながっている192.168.1.0と192.168.2.0のネットワークしか知らないのでPC2に到達することができないためです。そのため、R1に192.168.3.0のネットワークはこのルートを使うよという設定をしなければなりません。その設定がスタティックルーティングです。
#R1のCLI
Router#show ip route
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
Router#configure terminal
Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2
Router(config)#end
Router#show ip route
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
S 192.168.3.0/24 [1/0] via 192.168.2.2
#ip route 宛先ネットワーク ネットマスク ネクストホップ
show ip routeの実行結果で「S」の行が追加されたことがわかります(Staticの略)。これでR1は192.168.3.0のネットワークへパケットを送るには192.168.2.2に送ればよいと知ることができました。
しかし、この状態でpingを通しても成功しませんでした。それはR2が192.168.1.0のネットワークを知らないのでパケットを送り返すことができないからです。そのため、R2でもスタティックの設定をします。
#R2のCLI
Router#show ip route
C 192.168.2.0/24 is directly connected, FastEthernet0/0
C 192.168.3.0/24 is directly connected, FastEthernet0/1
Router#configure terminal
Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.2.1
Router(config)#end
Router#show ip route
S 192.168.1.0/24 [1/0] via 192.168.2.1
C 192.168.2.0/24 is directly connected, FastEthernet0/0
C 192.168.3.0/24 is directly connected, FastEthernet0/1
#ip route 宛先ネットワーク ネットマスク ネクストホップ
R2のスタティックの設定が終わったのでpingを通してみると成功しました。
ルータ3台でスタティックルーティング
図2のようにIPアドレス等を設定します。PC2のIPアドレスとデフォルトゲートウェイの変更、R3のインターフェースのIPアドレスの設定を忘れないようにしましょう。
ネットワークが増えてもやることはルータ2台のときと同じです。
#R1のCLI
Router#configure terminal
Router(config)#ip route 192.168.4.0 255.255.255.0 fastEthernet 0/1
Router(config)#end
Router#show ip route
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
S 192.168.3.0/24 [1/0] via 192.168.2.2
S 192.168.4.0/24 is directly connected, FastEthernet0/1
#R2のCLI
Router#configure terminal
Router(config)#ip route 192.168.4.0 255.255.255.0 fastEthernet 0/1
Router(config)#end
Router#show ip route
S 192.168.1.0/24 [1/0] via 192.168.2.1
C 192.168.2.0/24 is directly connected, FastEthernet0/0
C 192.168.3.0/24 is directly connected, FastEthernet0/1
S 192.168.4.0/24 is directly connected, FastEthernet0/1
#R3のCLI
Router#configure terminal
Router(config)#ip route 192.168.1.0 255.255.255.0 fastEthernet 0/1
Router(config)#ip route 192.168.2.0 255.255.255.0 fastEthernet 0/1
Router(config)#end
Router#show ip route
S 192.168.1.0/24 is directly connected, FastEthernet0/0
S 192.168.2.0/24 is directly connected, FastEthernet0/0
C 192.168.3.0/24 is directly connected, FastEthernet0/0
C 192.168.4.0/24 is directly connected, FastEthernet0/1
コマンドを見て分かる通り「ip route」はネクストホップでなくてもインターフェースでスタティックの設定をすることができます。
pingを通してみると無事成功しました。
おわりに
デフォルトでルータはインターフェースに直接つながっているネットワークしか知ることができないとわかりました。ルータが知らないネットワークと疎通をしたい場合は人間が自力で設定するスタティックルーティングがあります。
スタティックルーティングは「宛先ネットワークアドレス、サブネットマスク、ネクストホップ」を双方向に設定をしないとお互いに疎通ができません。今回の実験で、行きのスタティックを設定したとしても返りのスタティックが設定されていなければ疎通ができないことがわかりました。
もしスタティックの設定をしても疎通ができない場合はルーティングテーブルを確認したほうがよいとわかりました。これはスタティックだけではなくルータを介した疎通確認でもいえると考えられます。
図2のR1はスタティックを2つ設定しなければなりませんでした。R3の隣にR4、R5とあれば3つ4つ設定しなければなりません。この手間を少なくできるデフォルトルートというものがあるようです。
今回はスタティックルーティングの実験を行いましたが、ダイナミックルーティングというものがあります。スタティックルーティングのメリットとしては特別な知識が必要ない・ルートを管理者が決められる・ルータに余分な負荷をかけない点があります。しかし規模が大きくなるほど設定が大変になるので大規模のネットワークには向いていません。
参考文献