VyOS で IS-IS

# IS-IS ルーティングとやらをやってみる
## ざっくり概要
[AlaxalA](https://www.alaxala.com/jp/techinfo/archive/manual/AX7800S/HTML/10_10_/CFGUIDE/0156.HTM) のネットワークを参考に [VyOS](https://vyos.io/) on VMworkstation で IPv4 のみの環境を作ってみる。

エリアと機械を識別する番号の NSAP (Network Service Access Point) (或いはNetwork-Entity-Title : NET) は AA.BBBB.CCCC.CCCC.CCCC.DD

|名称|値|意味|
|---|---|---
|AFI (Authority and Format Identifier)|AA| BGP の AS 番号のようにグローバルで決められたアドレスを使う。49 はプライベートアドレス。|
|エリア識別子|BBBB|IDI (Initial Domain Identifier) と HO-DSP (High Order Domain Specific Part) 。12byte を CIDR のように IDI と HO-DSP を適当に分け合う。|
|System ID|CCCC.CCCC.CCCC|ルータの固有 ID で loopback IP アドレスや MAC アドレスを指定することが一般的|
|NSEL (NSAP Selector)|DD|00 にする。ローカル (自身) のシステムであることを表す|

機械の設定上は IDI と HO-DSP を纏めてエリア識別子とし、IDI と HO-DSPは専ら人間の認識のために用いられる。

今回は全て同じエリアの 49.0000.0000.0000.00xx.00 として設定する。 (xx はルータの番号)
注:IS-IS のエリアは機械毎に設定され、インターフェイス単位の OSPF とは異なる。


# ネットワーク図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/79c99dfa-ec7e-fb3f-e3a7-faa07a71b10a.png)
Vy-01, Vy-02 は冗長を組み、Vy-01 が起動時はこちらを優先とする (バックアップの機器を下位機種にして費用を削減する場合など)

|インターフェース|用途|
|:-:|---|
|eth0|管理LAN|
|eth1|ローカルLAN|
|eth2|対向|
|eth3|対向|

IP アドレスは Vy-αβ, ethγ のとき
`192.168.κα.βγ` とする。
κ は Center=0, Base2 = 2, Base 3 = 3
ルーター間のネットワークは /32 、LAN 側は /24 とする。 

管理 LAN のインターフェイス (eth0) は 192.168.255.αβ/24

面倒なので host も VyOS を使う。

- 管理用の LAN は ホストオンリー
- 他の LAN は LAN セグメント
で接続する。

# ルータ設定
## 共通設定
本題ではないので簡単に。
- 管理 LAN から SSH でログインする
- 管理 LAN で ntp サーバで時刻を合わせる
- 管理 LAN で syslog をリモートに送る
- 管理 LAN はルーティングしない
- ipv6 を無効
- ssh 共有鍵の設定

1. ホスト名、ドメイン名、タイムゾーン、
   ipv6 を無効にして、lldp を有効に、
   ログインパスワード、ssh ログインパスワードを設定。
```config:common
set system host-name 'VyOS'
set system domain-name 'home.my'

set system time-zone 'Asia/Tokyo'
set system ipv6 disable-forwarding
set system sysctl parameter net.ipv6.conf.all.disable_ipv6 value '1'
set service lldp interface all

set system login user vyos authentication encrypted-password '(パスワード)'
set system login user '(ログイン名)' authentication public-keys '(識別用の名前)' key '(公開鍵)'
set system login user '(ログイン名)' authentication public-keys '(識別用の名前)' type '(鍵の種別)'
```
仮想マシンなので、接続が分かりにくいため lldp を有効にする。
`show lldp neighbors` で確認できる。
詳細を確認する `show lldp neighbors detail` コマンドがなくなったが `lldpctl` で確認可能。


2. 管理LAN (eth0) は vrf MGT で通信する。ntp、syslog も管理 LAN を使用。
  ntp 192.168.255.254
  syslog 192.168.255.253
```config:共通設定
set vrf name MGT ip disable-forwarding
set vrf name MGT table '100'

set interfaces ethernet eth0 address '192.168.255.200/24'
set interfaces ethernet eth0 description 'MGT'
set interfaces ethernet eth0 vrf 'MGT'

set service ntp server 192.168.255.254
set service ntp vrf 'MGT'
set service ssh vrf 'MGT'

set system syslog host 192.168.255.253 facility all level 'debug'
set system syslog vrf 'MGT'
```

## ホスト名、IP アドレス
  description に接続先を書いておく
```config:Vy-01
set system host-name 'VY-01'

set interfaces ethernet eth0 address '192.168.255.1/24'
set interfaces ethernet eth0 description 'MGT'
set interfaces ethernet eth0 vrf 'MGT'
set interfaces ethernet eth1 address '192.168.0.11/24'
set interfaces ethernet eth1 description 'Center_LAN'
set interfaces ethernet eth2 address '10.0.0.12/32'
set interfaces ethernet eth2 description 'to_VY-21'
set interfaces ethernet eth3 address '10.0.0.13/32'
set interfaces ethernet eth3 description 'to_VY-31'
```
```config:Vy-02
set system host-name 'VY-02'

set interfaces ethernet eth0 address '192.168.255.2/24'
set interfaces ethernet eth0 description 'MGT'
set interfaces ethernet eth0 vrf 'MGT'
set interfaces ethernet eth1 address '192.168.0.21/24'
set interfaces ethernet eth1 description 'Center_LAN'
set interfaces ethernet eth2 address '10.0.0.22/32'
set interfaces ethernet eth2 description 'to_VY-21'
set interfaces ethernet eth3 address '10.0.0.23/32'
set interfaces ethernet eth3 description 'to_VY-31'
```
```config:Vy-21
set system host-name 'VY-21'

set interfaces ethernet eth0 address '192.168.255.21/24'
set interfaces ethernet eth0 description 'MGT'
set interfaces ethernet eth0 vrf 'MGT'
set interfaces ethernet eth1 address '192.168.2.11/24'
set interfaces ethernet eth1 description 'Base2_LAN'
set interfaces ethernet eth2 address '10.0.2.12/32'
set interfaces ethernet eth2 description 'to_VY-01'
set interfaces ethernet eth3 address '10.0.2.13/32'
set interfaces ethernet eth3 description 'to_VY-02'
```
```config:Vy-31
set system host-name 'VY-31'

set interfaces ethernet eth0 address '192.168.255.31/24'
set interfaces ethernet eth0 description 'MGT'
set interfaces ethernet eth0 vrf 'MGT'
set interfaces ethernet eth1 address '192.168.3.11/24'
set interfaces ethernet eth1 description 'Base3_LAN'
set interfaces ethernet eth2 address '10.0.3.12/32'
set interfaces ethernet eth2 description 'to_VY-01'
set interfaces ethernet eth3 address '10.0.3.13/32'
set interfaces ethernet eth3 description 'to_VY-02'
```

## VRRP の設定
条件
- Vy-01 と Vy-02 の LAN 側 (eth1) を冗長化
- 共有アドレス `192.168.0.10/24`
- VRRP グループ名 `int`
- Vy-01 が起動している時は Vy-01 を優先
  Vy-01 : `group (グループ名) priority '200'`
  Vy-02 : `group (グループ名) priority '100'`
  `group (グループ名) no-preempt` を定義しない
- Vy-01 が起動して 60秒後に切り替え
  `group (グループ名) preempt-delay '60'`
- アドバタイズ (アクティブからバックアップへ送信する生存信号・鼓動) 間隔 1秒
  `group (グループ名) advertise-interval 1`

```config:Vy-01
set high-availability vrrp group int address 192.168.0.10/24
set high-availability vrrp group int interface 'eth1'
set high-availability vrrp group int peer-address '192.168.0.21'
set high-availability vrrp group int preempt-delay '60'
set high-availability vrrp group int priority '200'
set high-availability vrrp group int vrid '100'
set high-availability vrrp group int advertise-interval 1
```
```config:Vy-02
set high-availability vrrp group int address 192.168.0.10/24
set high-availability vrrp group int interface 'eth1'
set high-availability vrrp group int peer-address '192.168.0.11'
set high-availability vrrp group int preempt-delay '60'
set high-availability vrrp group int priority '100'
set high-availability vrrp group int vrid '100'
set high-availability vrrp group int advertise-interval '1'
```

## IS-IS 設定
- wide metric を使う
- Vy-αβ の net は `net '49.0000.0000.0000.00αβ.00'`
- パスワード `Password-123`
- バックアップ側の回線を `metric '20'`
- 他は `metric '10'`
- ルータ間は p2p で繋ぐ

```config:Vy-01
set protocols isis metric-style 'wide'
set protocols isis net '49.0000.0000.0000.0001.00'

set protocols isis interface eth1 metric '10'
set protocols isis interface eth2 metric '10'
set protocols isis interface eth2 network point-to-point
set protocols isis interface eth2 password md5 'Password-123'
set protocols isis interface eth3 metric '10'
set protocols isis interface eth3 network point-to-point
set protocols isis interface eth3 password md5 'Password-123'
```

```config:Vy-02
set protocols isis metric-style 'wide'
set protocols isis net '49.0000.0000.0000.0002.00'

set protocols isis interface eth1 metric '10'
set protocols isis interface eth2 metric '20'
set protocols isis interface eth2 network point-to-point
set protocols isis interface eth2 password md5 'Password-123'
set protocols isis interface eth3 metric '20'
set protocols isis interface eth3 network point-to-point
set protocols isis interface eth3 password md5 'Password-123'
```

```config:Vy-21
set protocols isis metric-style 'wide'
set protocols isis net '49.0000.0000.0000.0021.00'

set protocols isis interface eth1 metric '10'
set protocols isis interface eth2 metric '10'
set protocols isis interface eth2 network point-to-point
set protocols isis interface eth2 password md5 'Password-123'
set protocols isis interface eth3 metric '20'
set protocols isis interface eth3 network point-to-point
set protocols isis interface eth3 password md5 'Password-123'
```

```config:Vy-31
set protocols isis metric-style 'wide'
set protocols isis net '49.0000.0000.0000.0031.00'

set protocols isis interface eth1 metric '10'
set protocols isis interface eth2 metric '10'
set protocols isis interface eth2 network point-to-point
set protocols isis interface eth2 password md5 'Password-123'
set protocols isis interface eth3 metric '20'
set protocols isis interface eth3 network point-to-point
set protocols isis interface eth3 password md5 'Password-123'
```

# 状態の確認

## 物理結線の確認 (lldp)
仮想マシンなので物理結線ではなく、論理結線かもしれないですが...

```shell:Vy-01
vyos@VY-01:~$ show lldp neighbors
Capability Codes: R - Router, B - Bridge, W - Wlan r - Repeater, S - Station
                  D - Docsis, T - Telephone, O - Other

Device    Local Port    Protocol    Capability    Platform                       Remote Port
--------  ------------  ----------  ------------  -----------------------------  -----------------
host-09   eth0          LLDP        R             VyOS 1.5-rolling-202404230019  MGT
host-29   eth0          LLDP        R             VyOS 1.5-rolling-202404230019  MGT
host-39   eth0          LLDP        R             VyOS 1.5-rolling-202404230019  MGT
VY-02     eth0          LLDP        R             VyOS 1.5-rolling-202404230019  MGT
VY-21     eth0          LLDP        R             VyOS 1.5-rolling-202404230019  MGT
VY-31     eth0          LLDP        R             VyOS 1.5-rolling-202404230019  MGT
id        eth0          LLDP                                                     00:50:56:c0:00:02
host-09   eth1          LLDP        R             VyOS 1.5-rolling-202404230019  Center_LAN
VY-02     eth1          LLDP        R             VyOS 1.5-rolling-202404230019  Center_LAN
VY-31     eth3          LLDP        R             VyOS 1.5-rolling-202404230019  to_VY-01
VY-21     eth2          LLDP        R             VyOS 1.5-rolling-202404230019  to_VY-01
```
eth0 の列は管理 LAN なので以降は省略... id の列は Windows ですね。
見るべきは `Remote Port` の欄に `description` が見えている。Vy-01 なら to_Vy-01 (自分の名前) が見えていることを確認。
違っていれば結線を確認。

## VRRP
```shell:Vy-01
vyos@VY-01:~$ show vrrp
Name    Interface      VRID  State      Priority  Last Transition
------  -----------  ------  -------  ----------  -----------------
int     eth1            100  MASTER          200  2h34m32s

vyos@VY-01:~$ show vrrp detail | grep protocol (バージョンの確認)
 VRRP default protocol version = 2

vyos@VY-01:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address        MAC                VRF        MTU  S/L    Description
-----------  ----------------  -----------------  -------  -----  -----  -------------
eth0         192.168.255.1/24  00:0c:29:49:3a:5c  MGT       1500  u/u    MGT
eth1         192.168.0.11/24   00:0c:29:49:3a:66  default   1500  u/u    Center_LAN
             192.168.0.10/24
eth2         10.0.0.12/32      00:0c:29:49:3a:7a  default   1500  u/u    to_VY-21
eth3         10.0.0.13/32      00:0c:29:49:3a:70  default   1500  u/u    to_VY-31
lo           127.0.0.1/8       00:00:00:00:00:00  default  65536  u/u
             ::1/128
```

```shell:Vy-02
vyos@VY-02:~$ show vrrp
Name    Interface      VRID  State      Priority  Last Transition
------  -----------  ------  -------  ----------  -----------------
int     eth1            100  BACKUP          100  2h34m28s


vyos@VY-02:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address        MAC                VRF        MTU  S/L    Description
-----------  ----------------  -----------------  -------  -----  -----  -------------
eth0         192.168.255.2/24  00:0c:29:57:a0:56  MGT       1500  u/u    MGT
eth1         192.168.0.21/24   00:0c:29:57:a0:60  default   1500  u/u    Center_LAN
eth2         10.0.0.22/32      00:0c:29:57:a0:6a  default   1500  u/u    to_VY-21
eth3         10.0.0.23/32      00:0c:29:57:a0:74  default   1500  u/u    to_VY-31
lo           127.0.0.1/8       00:00:00:00:00:00  default  65536  u/u
             ::1/128
```


## IS-IS のネイバー

```shell:Vy-01
vyos@VY-01:~$ show isis neighbor
Area VyOS:
  System Id           Interface   L  State        Holdtime SNPA
 VY-02               eth1        1  Up            29       000c.2957.a060
 VY-02               eth1        2  Up            30       000c.2957.a060
 VY-21               eth2        3  Up            28       2020.2020.2020
 VY-31               eth3        3  Up            28       2020.2020.2020
```

```shell:Vy-02
vyos@VY-02:~$ show isis neighbor
Area VyOS:
  System Id           Interface   L  State        Holdtime SNPA
 VY-01               eth1        1  Up            28       000c.2949.3a66
 VY-01               eth1        2  Up            29       000c.2949.3a66
 VY-21               eth2        3  Up            29       2020.2020.2020
 VY-31               eth3        3  Up            30       2020.2020.2020
```

```shell:Vy-21
vyos@VY-21:~$ show isis neighbor
Area VyOS:
  System Id           Interface   L  State        Holdtime SNPA
 VY-01               eth2        3  Up            29       2020.2020.2020
 VY-02               eth3        3  Up            30       2020.2020.2020
```

```shell:Vy-31
vyos@VY-31:~$ show isis neighbor
Area VyOS:
  System Id           Interface   L  State        Holdtime SNPA
 VY-01               eth2        3  Up            30       2020.2020.2020
 VY-02               eth3        3  Up            27       2020.2020.2020
```

## ルーティング

I で始まるのが IS-IS のルーティングテーブル。
I> となっていれば、そのルートが選択されている。
```shell:Vy-01
vyos@VY-01:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

C>* 10.0.0.12/32 is directly connected, eth2, 02:24:22
C>* 10.0.0.13/32 is directly connected, eth3, 02:24:23
I>* 10.0.0.22/32 [115/30] via 192.168.0.21, eth1, weight 1, 00:01:09
I>* 10.0.0.23/32 [115/30] via 192.168.0.21, eth1, weight 1, 00:01:09
I>* 10.0.2.12/32 [115/20] via 10.0.2.12, eth2 onlink, weight 1, 00:01:09
I>* 10.0.2.13/32 [115/30] via 10.0.2.12, eth2 onlink, weight 1, 00:01:09
I>* 10.0.3.12/32 [115/20] via 10.0.3.12, eth3 onlink, weight 1, 00:01:09
I>* 10.0.3.13/32 [115/30] via 10.0.3.12, eth3 onlink, weight 1, 00:01:09
I   192.168.0.0/24 [115/20] via 192.168.0.21, eth1 inactive, weight 1, 00:01:09
C>* 192.168.0.0/24 is directly connected, eth1, 02:24:22
I>* 192.168.2.0/24 [115/20] via 10.0.2.12, eth2 onlink, weight 1, 00:01:09 👈 Base 2 の LAN への経路
I>* 192.168.3.0/24 [115/20] via 10.0.3.12, eth3 onlink, weight 1, 00:01:09 👈 Base 3 の LAN への経路
```
```shell:Vy-02
vyos@VY-02:~$ show ip route
--- 8< --- snip --- 8< ---

I>* 10.0.0.12/32 [115/20] via 192.168.0.11, eth1, weight 1, 00:00:29I>* 10.0.0.13/32 [115/20] via 192.168.0.11, eth1, weight 1, 00:00:29

C>* 10.0.0.22/32 is directly connected, eth2, 02:24:49
C>* 10.0.0.23/32 is directly connected, eth3, 02:24:49
I>* 10.0.2.12/32 [115/30] via 10.0.2.13, eth2 onlink, weight 1, 00:00:29
  *                       via 192.168.0.11, eth1, weight 1, 00:00:29
I>* 10.0.2.13/32 [115/40] via 10.0.2.13, eth2 onlink, weight 1, 00:00:29
  *                       via 192.168.0.11, eth1, weight 1, 00:00:29
I>* 10.0.3.12/32 [115/30] via 10.0.3.13, eth3 onlink, weight 1, 00:00:29
  *                       via 192.168.0.11, eth1, weight 1, 00:00:29
I>* 10.0.3.13/32 [115/40] via 10.0.3.13, eth3 onlink, weight 1, 00:00:29
  *                       via 192.168.0.11, eth1, weight 1, 00:00:29
I   192.168.0.0/24 [115/20] via 192.168.0.11, eth1 inactive, weight 1, 00:00:29
C>* 192.168.0.0/24 is directly connected, eth1, 02:24:48
I>* 192.168.2.0/24 [115/30] via 10.0.2.13, eth2 onlink, weight 1, 00:00:29 👈 Base 2 の LAN への経路
  *                         via 192.168.0.11, eth1, weight 1, 00:00:29  👈 Vy-01 経由 Base 2 へのルート
I>* 192.168.3.0/24 [115/30] via 10.0.3.13, eth3 onlink, weight 1, 00:00:29 👈 Base 3 の LAN への経路
  *                         via 192.168.0.11, eth1, weight 1, 00:00:29  👈 Vy-01 経由 Base 3 へのルート
```
```shell:Vy-21
vyos@VY-21:~$ show ip route
--- 8< --- snip --- 8< ---

I>* 10.0.0.12/32 [115/20] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43
I>* 10.0.0.13/32 [115/20] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43
I>* 10.0.0.22/32 [115/40] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43
  *                       via 10.0.0.22, eth3 onlink, weight 1, 00:01:43
I>* 10.0.0.23/32 [115/40] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43
  *                       via 10.0.0.22, eth3 onlink, weight 1, 00:01:43
C>* 10.0.2.12/32 is directly connected, eth2, 02:26:13
C>* 10.0.2.13/32 is directly connected, eth3, 02:26:13
I>* 10.0.3.12/32 [115/30] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43
I>* 10.0.3.13/32 [115/40] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43
I>* 192.168.0.0/24 [115/20] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43 👈 Center の LAN への経路
C>* 192.168.2.0/24 is directly connected, eth1, 02:26:14
I>* 192.168.3.0/24 [115/30] via 10.0.0.12, eth2 onlink, weight 1, 00:01:43 👈 Base 3 の LAN への経路
```
```shell:Vy-31
vyos@VY-31:~$ show ip route
--- 8< --- snip --- 8< ---

I>* 10.0.0.12/32 [115/20] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29
I>* 10.0.0.13/32 [115/20] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29
I>* 10.0.0.22/32 [115/40] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29
  *                       via 10.0.0.23, eth3 onlink, weight 1, 00:00:29
I>* 10.0.0.23/32 [115/40] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29
  *                       via 10.0.0.23, eth3 onlink, weight 1, 00:00:29
I>* 10.0.2.12/32 [115/30] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29
I>* 10.0.2.13/32 [115/40] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29
C>* 10.0.3.12/32 is directly connected, eth2, 02:27:09
C>* 10.0.3.13/32 is directly connected, eth3, 02:27:09
I>* 192.168.0.0/24 [115/20] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29 👈 Center の LAN への経路
I>* 192.168.2.0/24 [115/30] via 10.0.0.13, eth2 onlink, weight 1, 00:00:29 👈 Base 2 の LAN への経路
C>* 192.168.3.0/24 is directly connected, eth1, 02:27:10
```
eth2, eth3 のインターフェースは /32 なので通信できない筈が、IS-IS のお陰で接続できるようになっている。
IS-IS 自体は L2 プロトコルなので IP アドレスを必要とせず /32 のインターフェース同士を繋げることができます。

## 通信試験

```shell:host-39
vyos@host-39:~$ ping 192.168.2.91 record-route
PING 192.168.2.91 (192.168.2.91) 56(124) bytes of data.
64 bytes from 192.168.2.91: icmp_seq=1 ttl=61 time=2.23 ms
RR:     192.168.3.91　　👈 host-39
        10.0.3.12　　　 👈 Vy-31
        10.0.0.12　　　 👈 Vy-01 ✅
        192.168.2.11　　👈 Vy-21
        192.168.2.91　　👈 host-29
        192.168.2.91　　👈 host-29
        10.0.2.12　　　 👈 Vy-21
        10.0.0.13　　　 👈 Vy-01
        192.168.3.11　　👈 Vy-31

64 bytes from 192.168.2.91: icmp_seq=2 ttl=61 time=1.55 ms      (same route)
64 bytes from 192.168.2.91: icmp_seq=3 ttl=61 time=1.51 ms      (same route)
^C
--- 192.168.2.91 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2017ms
rtt min/avg/max/mdev = 1.511/1.764/2.230/0.329 ms
```
Vy-01 側を通っていることが分かります。

ここで Vy-01 を再起動すると...
```shell:host-39
vyos@host-39:~$ ping 192.168.2.91 record-route
PING 192.168.2.91 (192.168.2.91) 56(124) bytes of data.
64 bytes from 192.168.2.91: icmp_seq=1 ttl=61 time=1.91 ms
RR:     192.168.3.91
        10.0.3.12　　　 👈 Vy-31
        10.0.0.12　　　 👈 Vy-01 ✅ 正常ルート
        192.168.2.11
        192.168.2.91
        192.168.2.91
        10.0.2.12
        10.0.0.13
        192.168.3.11

64 bytes from 192.168.2.91: icmp_seq=2 ttl=61 time=1.65 ms      (same route)
64 bytes from 192.168.2.91: icmp_seq=3 ttl=61 time=1.38 ms      (same route)
64 bytes from 192.168.2.91: icmp_seq=33 ttl=61 time=2.12 ms　👈 icmp_seq が +30 (30秒で切り替わり)
RR:     192.168.3.91
        10.0.3.13　　　 👈 Vy-31
        10.0.0.22　　　 👈 Vy-02 ✅ バックアップルートへ切り替わり
        192.168.2.11
        192.168.2.91
        192.168.2.91
        10.0.2.13
        10.0.0.23
        192.168.3.11

64 bytes from 192.168.2.91: icmp_seq=34 ttl=61 time=1.50 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=35 ttl=61 time=1.32 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=36 ttl=61 time=1.33 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=37 ttl=61 time=1.47 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=38 ttl=61 time=1.90 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=39 ttl=61 time=1.75 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=40 ttl=61 time=1.19 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=41 ttl=61 time=1.27 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=42 ttl=61 time=1.41 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=43 ttl=61 time=4.16 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=44 ttl=61 time=3.69 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=45 ttl=61 time=1.09 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=46 ttl=61 time=1.39 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=47 ttl=61 time=1.12 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=48 ttl=61 time=1.34 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=49 ttl=61 time=1.15 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=50 ttl=61 time=1.52 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=51 ttl=61 time=1.08 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=52 ttl=61 time=1.69 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=53 ttl=61 time=1.40 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=54 ttl=61 time=1.53 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=55 ttl=61 time=1.33 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=56 ttl=61 time=1.15 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=57 ttl=61 time=1.51 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=58 ttl=61 time=1.64 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=59 ttl=61 time=1.36 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=60 ttl=61 time=1.35 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=61 ttl=61 time=1.86 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=62 ttl=61 time=2052 ms
RR:     192.168.3.91
        10.0.3.13　　　 👈 Vy-31
        192.168.0.21　　👈 Vy-02 ✅ LAN 側から Vy-01 へ
        10.0.0.12　　　 👈 Vy-01 ✅
        192.168.2.11
        192.168.2.91
        192.168.2.91
        10.0.2.12
        10.0.0.13

64 bytes from 192.168.2.91: icmp_seq=63 ttl=61 time=1028 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=64 ttl=61 time=4.44 ms
RR:     192.168.3.91
        10.0.3.12　　　 👈 Vy-31
        10.0.0.12　　　 👈 Vy-01 ✅ 正常なルートへ戻る
        192.168.2.11
        192.168.2.91
        192.168.2.91
        10.0.2.12
        10.0.0.13
        192.168.3.11

64 bytes from 192.168.2.91: icmp_seq=65 ttl=61 time=1.09 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=66 ttl=61 time=1.48 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=67 ttl=61 time=1.29 ms     (same route)
64 bytes from 192.168.2.91: icmp_seq=68 ttl=61 time=1.53 ms     (same route)
^C
--- 192.168.2.91 ping statistics ---
68 packets transmitted, 39 received, 42.6471% packet loss, time 67982ms
rtt min/avg/max/mdev = 1.079/80.555/2052.193/358.613 ms, pipe 3
vyos@host-39:~$
```
バックアップへ切り替わりに 30秒掛かっていますが、ちゃんと切り替わって、戻ってますね。
Center の LAN を経由したときに時間が 1秒を超えているのはなんなんでしょう？arp の学習でもないでしょうし。


# 利用している用語や意味について
言葉の定義については [VyOS のドキュメント](https://docs.vyos.io/en/latest/configuration/protocols/isis.html)、[ネットワークエンジニアとして](https://www.infraexpert.com/study/study28.html)、[IS-IS隣接関係とエリアタイプを設定します](https://www.cisco.com/c/ja_jp/support/docs/ip/integrated-intermediate-system-to-intermediate-system-is-is/200293-IS-IS-Adjacency-and-Area-Types.html#anc4) などを参考にした独自解釈です。