アドミニストレーティブ ディスタンスとは
アドミニストレーティブディスタンス(AD)は、ルータが異なるルーティングプロトコルから提供される複数のルート情報の中から最も信頼できるルートを選択するための基準です。ADは、ルーティングプロトコルの信頼性を数値で示し、数値が低いほど信頼性が高いとされます。これは、同じ宛先に対して複数のプロトコルがルート情報を提供している場合に、ルータがどのプロトコルのルートを採用するかを決定する際に使用されます。ADの値はローカルにのみ適用され、ルーティングアップデートで広告されることはありません。
デフォルトのAD値
デフォルトのAD値は以下の通りです。数字が低いほど優先されます。
| ルート情報 | AD値 |
|---|---|
| 接続されているインターフェイス | 0 |
| スタティック ルート | 1 |
| Enhanced Interior Gateway Routing Protocol(EIGRP)サマリー ルート | 5 |
| 外部ボーダー ゲートウェイ プロトコル(BGP) | 20 |
| 内部 EIGRP | 90 |
| IGRP | 100 |
| OSPF | 110 |
| Intermediate System-to-Intermediate System(IS-IS) | 115 |
| Routing Information Protocol(RIP) | 120 |
| Exterior Gateway Protocol(EGP) | 140 |
| On Demand Routing(ODR; オン デマンド ルーティング) | 160 |
| 外部 EIGRP | 170 |
| IBGP | 200 |
| 不明* | 255 |
スタティックルートのAD値を変更
基本構文
スタティックルートのAD値は下記コマンドで変更することが可能です。
Router(config)#ip route [destination network] [subnet mask] [next-hop address or exit interface] [distance]
ダイナミックルーティングのAD値の変更
ダイナミックルーティング(OSPF,EIGRP,BGP)のAD値は下記コマンドで変更することが可能です。
共通設定
基本構文
特定のルートのAD値を変更したい場合は、以下コマンドを使用します。(OSPF,EIGRP,BGPすべて共通です)
Router(config-router)#distance weight [ ip-address wildcard-mask [ access-list name ] ]
コマンド 内容 weight AD値。デフォルトの管理距離を指定します。 ip-address wildcard-mask ネイバーの送信元IPアドレスを指定。指定したアドレスから学習したルートのAD値を変更しま
す。access-list name アクセスリストで指定された条件に一致するルートに対してのみ、ADの変更を適応できます。
OSPFのAD値変更
基本構文
OSPFの特定のエリアのAD値を変更したい場合は以下のコマンドを使用します。
Router(config)#router ospf process-id
Router(config-router)#distance ospf { external dist1 | inter-area dist2 | intra-area dist3 }
| コマンド | 内容 |
|---|---|
| external dist1 | 再配布によって学習された他のルーティング ドメインからのAD値を設定します。 |
| inter-area dist2 | あるエリアから別のエリアへのすべてのAD値を設定します。 |
| intra-area dist3 | エリア内のすべてのAD値を設定します。 |
設定例

pre-config
Router1
hostname Router1
int g0/2
ip address 192.168.12.1 255.255.255.0
no shut
int lo1
ip address 1.1.1.1 255.255.255.255
router ospf 1
network 192.168.12.0 0.0.0.255 area 0
redistribute eigrp 1 subnets
router eigrp 1
network 1.1.1.1 0.0.0.0
Router2
hostname Router2
int g0/1
ip address 192.168.12.2 255.255.255.0
no shut
int g0/3
ip address 192.168.23.2 255.255.255.0
no shut
router ospf 1
network 0.0.0.0 0.0.0.0 area 0
Router3
hostname Router3
int g0/2
ip address 192.168.23.3 255.255.255.0
no shut
int lo3
ip address 3.3.3.3 255.255.255.255
int lo 30
ip address 30.30.30.30 255.255.255.255
router ospf 1
network 192.168.23.0 0.0.0.255 area 0
network 3.3.3.3 0.0.0.0 area 0
network 30.30.30.30 0.0.0.0 area 1
Router2ではEIGRPから再配布された1.1.1.1のルート情報、エリア1の30.30.30.30のルート情報、同じエリアの3.3.3.3のルート情報があります。すべてAD値は110となっています。

再配布されたルート情報のAD値を1、別のエリアのルート情報のAD値を2、同じエリアのルート情報AD値を3に変更します。
Router2(config)#router ospf 1
Router2(config-router)#distance ospf external 1 intra-area 2 inter-area 3
それぞれAD値が変更されたことが確認できます。

EIGRPのAD値変更
基本構文
EIGRPの特定のルート情報のAD値を変更したい場合は以下のコマンドを使用します。
Router(config)#router eigrp autonomous-system
Router(config-router)#distance eigrp internal-distance external-distance
| コマンド | 内容 |
|---|---|
| internal-distance | EIGRP内部ルートのAD値を指定します。 |
| external-distance | EIGRP 外部ルートのAD値を指定します。 |
設定例

Router1
hostname Router1
int g0/2
ip address 192.168.12.1 255.255.255.0
no shut
int lo1
ip address 1.1.1.1 255.255.255.255
router ospf 1
network 1.1.1.1 0.0.0.0 area 0
router eigrp 1
network 192.168.12.0 0.0.0.255
redistribute ospf 1
default-metric 1000000 1 255 1 1500
Router2
hostname Router2
int g0/1
ip address 192.168.12.2 255.255.255.0
no shut
int g0/3
ip address 192.168.23.2 255.255.255.0
no shut
router eigrp 1
network 0.0.0.0 0.0.0.0
Router3
hostname Router3
int g0/2
ip address 192.168.23.3 255.255.255.0
no shut
int lo3
ip address 3.3.3.3 255.255.255.255
router eigrp 1
network 192.168.23.0 0.0.0.255
network 3.3.3.3 0.0.0.0
Router2ではEIGRP内部の3.3.3.3のルート情報のAD値が90、OSPFから再配布された1.1.1.1のルート情報のAD値が170となっています。

EIGRP内部のルート情報のAD値を1、EIGRP外部のルート情報AD値を2に変更します。
Router2(config)#router eigrp 1
Router2(config-router)#distance eigrp 1 2
それぞれAD値が変更されたことが確認できます。

BGPのAD値変更
基本構文
BGPの特定のルート情報のAD値を変更したい場合は以下のコマンドを使用します。
Router(config)#router bgp as-number
Router(config-router)#distance bgp external-distance internal-distance local-distance
| コマンド | 内容 |
|---|---|
| external-distance | 外部 BGP ルートのAD値を指定します。 |
| internal-distance | 内部 BGP ルートのAD値を指定します。 |
| local-distance | ローカル BGP ルートのAD値を指定します。 |
設定例

Router1
hostname Router1
int g0/2
ip address 192.168.12.1 255.255.255.0
no shut
int lo1
ip address 1.1.1.1 255.255.255.255
router bgp 1
neighbor 192.168.12.2 remote-as 2
network 1.1.1.1 mask 255.255.255.255
Router2
hostname Router2
int g0/1
ip address 192.168.12.2 255.255.255.0
no shut
int g0/3
ip address 192.168.23.2 255.255.255.0
no shut
int lo2
ip address 2.2.2.2 255.255.255.255
router bgp 2
neighbor 192.168.12.1 remote-as 1
neighbor 192.168.23.3 remote-as 2
network 2.2.2.2 mask 255.255.255.255
Router3
hostname Router3
int g0/2
ip address 192.168.23.3 255.255.255.0
no shut
int lo3
ip address 3.3.3.3 255.255.255.255
router bgp 2
neighbor 192.168.23.2 remote-as 2
network 3.3.3.3 mask 255.255.255.255
Router2では外部BGPの1.1.1.1のルート情報のAD値が20、内部BGPの3.3.3.3のルート情報のAD値が200となっています。

外部BGPのルート情報のAD値を1、内部BGPのルート情報のAD値を2に変更します。また、BGPセッションをクリアします。
BGPはセッションをクリアしないとdistanceの変更がされません。
Router2(config)#router bgp 2
Router2(config-router)#distance bgp 1 2
Router2(config-router)#end
Router2#
*Sep 5 16:09:56.607: %SYS-5-CONFIG_I: Configured from console by console
Router2#clear ip bgp *
Router2#
*Sep 5 16:10:09.787: %BGP-3-NOTIFICATION_MANY: sent to 2 sessions 6/4 (Administrative Reset) for all peers
*Sep 5 16:10:09.791: %BGP-5-ADJCHANGE: neighbor 192.168.12.1 Down User reset
*Sep 5 16:10:09.791: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.12.1 IPv4 Unicast topology base removed from session User reset
*Sep 5 16:10:09.791: %BGP-5-ADJCHANGE: neighbor 192.168.23.3 Down User reset
*Sep 5 16:10:09.791: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.23.3 IPv4 Unicast topology base removed from session User reset
Router2#
*Sep 5 16:10:16.623: %BGP-5-ADJCHANGE: neighbor 192.168.23.3 Up
*Sep 5 16:10:18.821: %BGP-5-ADJCHANGE: neighbor 192.168.12.1 Up
それぞれAD値が変更されたことが確認できます。
