IP EIGRP Route Authenticationの検証

## 概要
IP EIGRP Route Authenticationの検証でいろいろ試した記録です。
認証設定がうまくいかない場合のshowコマンドやdebugコマンドの出力をまとめました。


## サンプル
下記の設定でeigrpネイバが確立できていることを前提とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/646c341c-2f48-6524-7ac1-9c04b96afebd.png)

参考にした設定
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_eigrp/configuration/15-mt/ire-15-mt-book/ire-rte-auth.html
→How to Configure IP EIGRP Route Authentication
　Defining an Autonomous System for EIGRP Route Authentication
___
RA#
RA#sh run int g0/0
Building configuration...

Current configuration : 198 bytes
!
interface GigabitEthernet0/0
 ip address 10.10.10.1 255.255.255.0
 ip authentication mode eigrp 1 md5
 ip authentication key-chain eigrp 1 keychain1
 duplex auto
 speed auto
 media-type rj45
end

RA#sh run | sec router eigrp
router eigrp 1
 network 10.0.0.0
RA#

RA#sh run | sec key chain
key chain keychain1
 key 1
  key-string 0987654321
RA#
___

RB#
RB#sh run int g0/0
Building configuration...

Current configuration : 198 bytes
!
interface GigabitEthernet0/0
 ip address 10.10.10.2 255.255.255.0
 ip authentication mode eigrp 1 md5
 ip authentication key-chain eigrp 1 keychain1
 duplex auto
 speed auto
 media-type rj45
end

RB#sh run | sec router eigrp
router eigrp 1
 network 10.0.0.0
RB#

RB#sh run | sec key chain
key chain keychain1
 key 1
  key-string 0987654321
RB#



## 検証コマンド

使用するコマンドと確認観点
[1]show ip eigrp neighbors&emsp;→ネイバは確立できている？
[2]show ip eigrp interfaces detail&emsp;→IFはどのkey chainを参照？
[3]show key chain&emsp;→どのkey chain/key idを使用？keyは有効？
[4]debug eigrp packets&emsp;→helloパケットは送受信できてる？エラーの原因は何？

ネイバ確立OKの出力例

[1]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/86449618-4614-b8b5-dade-b265ee7cf7b6.png)
[2]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/957ba3f9-eec0-825e-76e3-6ae91a94dd5b.png)
[3]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/8b57eafa-e22b-c881-7d90-135e8796a958.png)
[4]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/78117a51-35f6-35aa-c224-496afbdcaf39.png)


## 壊してみる①　RBのkey chainを消去してみる

RBにコマンドを追加してkey chainを消去

【追加するコマンド】
RB(config)#no key chain keychain1

【検証コマンド結果】
[1]RA/RBともにネイバ表示なし
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/6099546a-017b-9bfc-a840-314a58135929.png)
[2]peerがいない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/c7df8517-4fc6-be03-d6fd-d710b89da223.png)
けど、authenticationの設定は正常に表示されるので、ネイバ確立しない原因が認証かはわからない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/3f96497e-3ec8-8c9e-36b4-62efdfb237f1.png)
[3]RAのkeyは有効
[2]もそうだけどあくまで設定の確認　正常にやりとりしているかはわからない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/393b7b4f-6919-e38e-d6dc-cff3fa6f1791.png)
**RBは表示なし**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/b3e2566d-7874-eda8-9238-5673b1bb32db.png)
[4]RA/RBともにignored(=無視された) 原因はRAがmissing、RBがinvalid
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/75faa7f2-b89c-ed3c-2808-302ff89f1c51.png)

RA/RB両方のkey chainを消去した場合の[4]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/e6cceed9-9a70-d21c-1436-7efcef1bea51.png)
missingの意味は
「(相手が)無視した原因は(相手のIFに設定されている)認証がみつからなかったため」ということ？
missingはルータ同士(RA-RB)のことではないみたい

## 壊してみる②　key-stringを間違えてみる

壊してみる①修正後、RBのkey-stringを変更

【追加するコマンド】
RB(config-keychain)#key chain keychain1
RB(config-keychain)#key 1
RB(config-keychain-key)#key-s **1234567890**
RB(config-keychain-key)#

【検証コマンド結果】
[1][2]は壊してみる①と同じなので割愛
[3]RA/RBともにkeyは有効　**textが違う** 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/ca0f1793-27c5-ef13-0205-b837a1f71b3f.png)
[4]RA/RBともにinvalidで表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/b9f51d3a-12f3-40a5-770f-f8334a3f0672.png)

補足
key-stringの設定は大文字小文字の区別あり

## 壊してみる③　key idをバラバラにしてみる
同じkey-stringをRAのkey 1とRBのkey 2に設定

【追加するコマンド】
RB(config)#
RB(config)#key chain keychain1
RB(config-keychain)#key 1
RB(config-keychain-key)#key-string 123456789
RB(config-keychain-key)#accept-lifetime 00:00:00 1 aug 2023 infinite
RB(config-keychain-key)#send-lifetime 00:00:00 1 aug 2023 infinite
RB(config-keychain-key)#
RB(config-keychain-key)#key 2
RB(config-keychain-key)#key-string 0987654321
RB(config-keychain-key)#end


【検証コマンド結果】
[1][2]は壊してみる①と同じなので割愛
[3]**RAはkey 1、RBはkey 2が有効**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/774b777b-9a91-bb94-5087-12951ca6e656.png)
[4]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/6a6a1b0b-bd0c-3055-4191-a2912f12eb93.png)
debugのkey idは相手のidみたい

## 壊してみる④？　有効期間(life time)を変更してみる

壊してみる③修正後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/c2b1bc65-1565-3ec0-60a4-b75f45ec676e.png)
RBの有効期限を設定
【追加するコマンド】
RB(config)#key chain keychain1
RB(config-keychain)#key 1
RB(config-keychain-key)#accept-lifetime 00:00:00 1 july 2023 inf
RB(config-keychain-key)#send-lifetime 00:00:00 1 july 2023 inf

【検証コマンド結果】
[1]**壊れない**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/0d6f3644-b01c-27b5-5124-86f4b0e0c6f2.png)
[2]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/2ca795de-e6fd-4a45-a9ce-1ca15c283fdd.png)
[3]開始時間をそろえる必要はないみたい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/6b52b5ca-75af-6348-ca91-5745fea40bde.png)
[4]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/60512ae6-fbfc-2c37-8e8e-74b4549e540c.png)

その他壊れなかった検証
・RBと違う開始日(有効)をRAに設定してみる
・acceptのみ or sendのみ設定してみる

## まとめ
壊してみる①～④でわかることは
・eigrp認証設定で対向ルータとあわせる必要があるのは「key id」「key-string」
・有効期間内であればlife timeはお互いに合わせる必要はない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/028bb379-fc0f-230b-d7ac-f512bf912423.png)

## おまけ　じつは一番残しておきたかったこと
じゃあ、片方が有効期間切れの場合(上図の青)の場合の動作はどうなるの？

RAは有効期間のまま
RBの開始を未来日に設定してみると
RB(config-keychain-key)#accept 00:00:00 1 july 2030 inf


**有効期間外のRBはdownのまま
有効期間内のRAはup/downを繰り返す**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/891ec13e-caef-d856-03a0-82a2bca02761.png)

[4]debug eigrp packets　(RAの最終行はsyslogメッセージ)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/68d822fd-75c1-4937-0356-644201848deb.png)

このことから、認証がおかしいかな？と思ったら
　down継続なら「key id」「key-string」が怪しい
　up/downを繰り返すなら「life time」が怪しい
とあたりを付けられそうです。


:::note info
eigrp自体の問題でup/downを繰り返す場合もあります
:::