・前提
あまり得意でない動的ルーティングプロトコルについて腰を据えて一度取り組みたい気持ちがあり、以下のudemy講義を用いてハンズオンします
Course: もう知識だけなんて言わせない!手を動かせ!体で覚えろ!「ハンズオンで学ぶCisco ルーティングプロトコル」 | Udemy
今回はEIGRPを学習します
・経路制御の手段を復習する
経路制御には以下の三手段があるので特徴を復習する
- ACL
- プレフィックスリスト
- ルートマップ
ACLは特に記載することないが、一点学びがあったので記入
ACLで指定するワイルドカードについて、その使用用途がサブネットと対照して違いが今一つだったのですが、NWのチェックする桁を指定する関係上NW機器への処理の負担を減らせるメリットがあると理解した
プレフィックスリストはほぼACLだが、違いとして、ge,leを使用してプレフィックス長を柔軟に指定できる→ACLがワイルドカードを使用していたがプレフィックスリストはサブネット指定
また、0.0.0.0/0がデフォルトルート、0.0.0.0/0 le 32はanyを表す
ルートマップは条件と動作を定義してNWを操作(例:フィルタリング対象経路情報の指定、再配送対象経路の指定、andorを使った対象の指定、経路不可情報の設定→コスト・メトリックなど)→そして対象はACLで別途指定する
実務に必要なエッセンシャル版知識
neibhborは経路情報をやりとりする相手のことで以下5種類のパケットを使い分けている
- Hello…ネイバの検出と存在確認(keepalive)に使用されEIGRP設定が対向と一致しているか確認し、宛先IPは224.0.0.10
- ACK…Hello以外のパケット受信に対する受信確認の返信でユニキャスト
- Update…ネイバに経路情報を送信しネイバ確立時はユニキャストで送信しそれ以降差分発生時マルチキャストで送信
- Query…代替経路の照会(マルチキャスト)
- Reply…Queryの返信でユニキャスト→代替経路の有無にかかわらずネイバは返信
EIGRPは以下のテーブルを持つ
- ルーティングテーブル
- ネイバテーブル
- トポロジテーブル
EIGRPプロトコルのために覚える用語
- サクセサ→ある宛先へのメイン経路
- フィージブルサクセサ→ある宛先へのバックアップ経路
- FD→自身から宛先までのメトリック
- RD(AD)→ネイバから宛先までのメトリック
- K値→メトリック計算に使用する係数でK1~K5までありネイバ確立時にネイバ間で一致する必要有(デフォ値での使用が推奨)
※サクセサは最小のFDを持つ経路でフィージブルサクセサはサクセサのFD未満のRDの経路なので選ばれないこともある
※EIGRPのメトリックは帯域幅と遅延と信頼性と負荷とMTUを複合させたもの(実際は帯域幅と遅延)→帯域幅は宛先までの内最も小さいもので遅延は宛先までの合計→相手先のNWの帯域幅・遅延まで考慮する必要がある点に注意でK値はデフォを使用すればmetric=256*(帯域幅+遅延)
ルータID→ルータを一意に識別するためのIDでIPと同じ表記されており以下の優先順位でルータIDが決定→IDが重複すると重複したルータが持つ経路情報は破棄されてしまうので注意
- 1.eigrp route-idで手動設定
- 2.ループバックIFの最大IP
- 物理IFの最大IP
※EIGRPを有効にしてないIFでも対象になるので注意
IFの有効化としてnetworkコマンドでIPを指定しワイルドカードで範囲指定可能
※実務でつまづいたが、EIGRPを有効にしていないIFからping打っても疎通が成功しないことがあるのでその際はpingコマンドにsourceオプションを付与する
※以下のコマンドは有効にするIFのIPを指定するだけで広報されるのはそのNWアドレス
network 10.1.0.0 0.0.0.0 /コマンド例
以下ネイバの確立条件
- AS番号は同じか
- ネイバのIPが自分と同じNWか
- K値は同じか
- 認証設定は同じか
EIGRPで使用するshowコマンド
- show ip protocols
- show ip eigrp neighbors
- show ip eigrp interfaces
※メトリックの設定の際、bandwidthとdelayを設定するがbandwidthはQoSなど他で使用していると影響してしまうので要注意
メトリック設定例
interface gigabitethernet 0/0
bandwidth 10000
delay 100
metric weight 0 0 0 1 0 0 /K値の設定変更で今回は遅延のみを有効にしている
メトリック設定確認方法
show interfaces gigabitethernet0/0 /BWとDLYを確認
show ip protocols /メトリックウエイトの確認
show ip eigrp topology /経路のメトリックを確認する方法(FD/RDを確認できる)
EIGRPにて覚えるべきタイマー(デフォは5/15秒)
- Helloインターバル→ネイバの状態確認、指定秒数おきに送信
- ホールドタイム→ネイバからの応答なしと判断する時間
以下設定例
interface gigabitethernet0/0
ip hello-interval eigrp 65000 5
ip hold-time eigrp 65000 15
デフォルトルートの使用用途→ルータのスペック上多くの経路を持てない、スタブ構成のように出口が一か所しかない、WANやインターネットに接続
スタブ構成→WAN↔ルータ↔LANのように一方から見たとき片方の出口が一箇所しかない構成
EIGRPのデフォルトルート設定で主流なのはstaticを再配送する→設定例は以下
ip route 0.0.0.0 0.0.0.0 <NEXTHOP>
router eigrp 65000
redistribute static
EIGRPのロードバランスは以下の二種類
・等コストロードバランス→デフォは最大4本だが機種によってまちまち
・不等コストロードバランス(OSPFやBGPにはない!)→メトリックが異なっていてもロードバランス出来る
→フィージブルサクセサかつFDが<サクセサFD×variance>未満のパスが使用される
※メトリックに応じて転送比率が異なる(メトリックが小さいほど転送量は大きくなる)
router eigrp <AS番号> /*等コストロードバランス設定例
maximum-paths 8
router eigrp <AS番号> /*不等コストロードバランス設定例
variance 2
以下、認証についてEIGRPでは通信相手(ネイバ)を認証(互いで取り決めたパスワード)してからネイバを確立することも可能
→認証方式はMD5とSHA256
認証に関して、EIGRPではKeychain(複数の認証キーをまとめて扱う仕組み)という仕組みを使用する必要があり認証キーに期限を設けローテすることも可能で、注意点として認証キーが一つしかなくてもKeychainを作成する必要があることに注意
以下、設定例
key chain MY-KEY /*Keychain設定
key 10
key-string test /*認証キー設定で二・三行目はネイバと一致する必要有
※当然上記設定を入力しただけだとshow runでパスワードがクリアテキストで表示されてしまうので以下を入力するべき
service password-encryption
以下、実際の認証設定
interface <IF>
ip authentication mode eigrp <AS番号> md5
ip authentication key-chain eigrp <AS番号> <key-chain名>
パッシブインターフェースは受信専用のIFでEIGRP有効にしたIFをパッシブにするとHelloパケットが送られない
※EIGRP自体が無効になるわけではなく、用途としてはLAN側のスタブ構成の中でPCにつないでいてEIGRPパケットを送る必要がないIFで設定
router eigrp <AS番号>
passive-interface <IF>
スプリットホライズン→経路情報を受信したIFから送信しない機能
ルータは伝言ゲームで経路情報を伝えるため伝えた情報が戻ってくるとループする可能性が生じる
以下のような構成の時R2,3間で経路情報を伝えたくないときR1のR2,3側IFでスプリットホライズンを無効化することがあり、VPN使用時などに設定R1↔SW↔(SWから二股に)↔R2,3
interface <IF>
no ip split-horizon eigrp <AS>
ADはローカルルータ内のみで変更可能だが変更したものを他ルータに伝えることは出来ない
経路情報フィルタリングは広報する経路情報・受信する経路情報を制御する機能で設定するために①対象経路の指定(ACL・プレフィックスリスト・ルートマップ)②IFに適用(distribute-list)することが必要
router eigrp <AS>
distribute-list <num> {in | out} <IF> /*IFはオプション
distribute-list prefix ADV-LIST {in | out} <IF>
distribute-list route-map ADV-MAP {in | out} <IF>
経路集約→広報する経路情報を一つにまとめる(ネイバはリソースを節約できるメリットがある)
例:192.168.0.0~3.0/24の4つの経路情報を192.168.0.0/22にサマタイズする
経路集約すると集約前の経路情報は広報されず集約後の経路情報のみ広報される
※個別経路が全てなくなると集約した経路情報の広報が止まる→一つでも個別経路が残って入れば変動なし
つまり、リソースを節約できて安定した状態を維持できるので経路集約は優れもの
RT1↔RT2という構成の中でRT1が192.168.20.0/24~200.0/24を経路集約した192.168.0.0/16,RT2が192.168.0.0/24~3.0/24を経路集約し
た192.168.0.0/22を広報するとき、どちらからでも192.168.1.1に通信するとループする
→なので経路集約を設定するとネクストホップをNullにした経路が生成される→RT1なら192.168.0.0/16ネクストホップNull0がルーティングテーブルに生成
内部経路・外部経路・集約経路はADが異なり集約経路が最も優先されることにも注意
interface <IF>
ip summary-address eigrp <AS> <NW subnet> /*subnet部分はprefix長でも可
router eigrp <AS>
summary-metric <NW/prefix> <帯域> <遅延> <信頼性> <負荷> <MTU> /*集約経路のメトリックの設定
上記手動設定だが以下自動設定について
自動設定の場合ルータを跨ぐ際にクラスの境界が変わればクラス単位に経路情報が集約されネイバに広報される→外部経路のみでは集約されないことに注意
以下の図が理解しやすい

(引用:EIGRP – auto-summary / no auto-summary 設定)
※同じクラスNWが分割されると意図した宛先に転送できない可能性があるので要注意
(教材のセクション3,34.2:33頃参照)
router eigrp <AS>
auto-summary
異なるルーティングプロトコル間で経路情報を交換することを再配送という
設定は境界となるルータで設定を行う
EIGRPを再配送する際はメトリック(帯域幅、遅延…)を指定する必要あり
※staticやconnectedには不要だが
router eigrp <AS>
redistribute ospf <AS> metric <複数のメトリック> /*指定プロトコルに対して適用する場合(この例だとOSPF)
redistribute ospf <AS>
default-metric <複数のメトリック> /*他のredistributeに対しても適用される