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.0R2
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 1Serial0から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 msPingが成功しました。
ip default-networkについてまとめると、
- ルーティングテーブル上の特定のクラスフルルートに「*」のコードを付け、デフォルトルートとして扱う
- RIPを利用している場合、ip default-networkで「*」のコードをつけると、デフォルトルート(0.0.0.0)をアドバタイズする







