ip default-networkについて

(所属カテゴリー:IPルーティング---投稿日時:2005年6月17日)

ip default-networkというコマンドがあります。これは、今ではあんまり使っていないと思うんですが、ちょっとした情報を入手したので、ip default-networkコマンドの解説を少し・・・

ip default-networkコマンドによって、ルーティングテーブル上の特定のルートエントリに「*(Candidate default:デフォルト候補)」のコードをつけます。通常、この「*」のコードは0.0.0.0/0というデフォルトルートにつけられています。ところが、0.0/0/0/0というルートエントリ以外でも、「*」のコードがついていれば、そのルートエントリをデフォルトルートと同じ扱いで利用することができます。つまり、送信先IPアドレスを見て、ルータが認識していないネットワークアドレス宛のIPパケットである場合、「*」のついたルートエントリを使ってIPパケットを転送することができます。
ただし、ip default-networkコマンドによって「*」のコードをつけられるのは、サブネッティングされていないクラスフルなルートエントリのみです。

ちょっとip default-networkを設定してみましょう。

以下のトポロジに基づいて解説します。

コンフィグ抜粋
R1

R1#show run
!
hostname R1
!
interface Ethernet0
 ip address 192.168.1.1 255.255.255.0
!
interface Serial0
 bandwidth 64
 ip address 192.168.2.1 255.255.255.0
 no fair-queue
 clockrate 64000
!
router rip
 network 192.168.1.0
 network 192.168.2.0
R2
R2#show run
!
hostname R2
!
interface Loopback0
 ip address 192.168.255.1 255.255.255.0
!
interface Ethernet0
 ip address 192.168.3.1 255.255.255.0
!
interface Serial0
 ip address 192.168.2.2 255.255.255.0
 no fair-queue
!
router rip
 network 192.168.2.0
 network 192.168.3.0
!
RIPでルーティングを行っていますが、R2のLoopback0はRIPを有効にしていません。当然、R1からはR2のLoopback0の192.168.255.0/24のネットワークには到達できません。

この段階のルーティングテーブルは次のようになります。

R1ルーティングテーブル

R1#sh ip route 

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, Ethernet0
C    192.168.2.0/24 is directly connected, Serial0
R    192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:19, Serial0

R2ルーティングテーブル
R2#show ip route 

Gateway of last resort is not set

C    192.168.255.0/24 is directly connected, Loopback0
R    192.168.1.0/24 [120/1] via 192.168.2.1, 00:00:20, Serial0
C    192.168.2.0/24 is directly connected, Serial0
C    192.168.3.0/24 is directly connected, Ethernet0

この状態からip default-networkを使って、R1からR2のLoopback0へ到達できるようにしてみましょう。RIPとip default-networkの相互作用と見るために、あえてR2で設定します。

R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#ip default-network 192.168.255.0
R2(config)#end
R2#sh ip route 
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C*   192.168.255.0/24 is directly connected, Loopback0
R    192.168.1.0/24 [120/1] via 192.168.2.1, 00:00:07, Serial0
C    192.168.2.0/24 is directly connected, Serial0
C    192.168.3.0/24 is directly connected, Ethernet0
R2のルーティングテーブルの192.168.255.0/24のエントリに「*」のコードをつけることができました。そして、RIPの場合、「*」のコードが付いているルートがあれば、デフォルトルート0.0.0.0/0をアドバタイズするようになります。

続けて、R2でdebug ip ripをした結果が次の出力です。

R2#debug ip rip 
RIP protocol debugging is on
R2#
06:18:58: RIP: sending v1 update to 255.255.255.255 via Serial0 (192.168.2.2)
06:18:58: RIP: build update entries
06:18:58: 	subnet 0.0.0.0 metric 1
06:18:58: 	network 192.168.3.0 metric 1
Serial0から192.168.3.0に加えて、0.0.0.0のルートをアドバタイズしていることが確認できます。

すると、当然、R1には0.0.0.0/0のルートが表れるようになります。R1のルーティングテーブルは次のようになります。
R1#show ip route 
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 192.168.2.2 to network 0.0.0.0

C    192.168.1.0/24 is directly connected, Ethernet0
C    192.168.2.0/24 is directly connected, Serial0
R    192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:21, Serial0
R*   0.0.0.0/0 [120/1] via 192.168.2.2, 00:00:21, Serial0
じゃ、R1からR2のLoopback0(192.168.255.1/24)にPingをして見ましょう。
R1#ping 192.168.255.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.255.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/31/32 ms
Pingが成功しました。

ip default-networkについてまとめると、

  • ルーティングテーブル上の特定のクラスフルルートに「*」のコードを付け、デフォルトルートとして扱う
  • RIPを利用している場合、ip default-networkで「*」のコードをつけると、デフォルトルート(0.0.0.0)をアドバタイズする
ということになります。

Google
Web n-study.com

各コンテンツの最新記事

有料コンテンツライブラリ(ITエンジニア教育資料)

ネットワーク技術雑誌レビュー

ベンダ資格受験記

オススメ!ネットワーク技術雑誌・書籍

MindMapでおべんきょ

結果を出せるコーチング

Geneのつぶやき

The Power of Words

スポンサードリンク

スポンサードリンク