$Date: 2023/07/06 20:22:18 $
生存通知機能とは、ネットワークに接続しているルーターから他拠点のルーターへ、自分の名前とIPアドレスを含めたパケットを送り、通信できる状態であることを通知する機能です。通知パケットを受信したルーターは、通知された名前とIPアドレスをログに出力し、保存します。WANのIPアドレスが不定となる拠点のルーターから他拠点のルーターへ通信可能であることを知らせる手段として本機能を利用することができます。
本文書では、従来から実装されている生存通知機能をリリース1、今回新たに実装する生存通知機能をリリース2と区別します。両者の機能概念は同じですが、コマンド体系、動作には互換性がありませんので注意してください。
(参考)生存通知 リリース1の説明へのリンク
以後、特に断りのない限り、本文書の記述は生存通知機能 リリース2を対象とします。
以下にリリース2の主な特徴を挙げます。
ヤマハRTシリーズでは以下の機種およびファームウェアで、生存通知機能 リリース2をサポートしています。
機種 | ファームウェア |
---|---|
vRX VMware ESXi版 | すべてのリビジョン |
vRX Amazon EC2版 | |
RTX3510 | |
RTX1300 | |
RTX1220 | |
RTX830 | |
NVR700W | |
RTX1210 | |
RTX5000 | |
RTX3500 | |
FWX120 | |
RTX810 | |
RTX1200 | Rev.10.01.16以降 |
SRT100 | Rev.10.00.46以降 |
RTX3000 | Rev.9.00.43以降 |
RTX1500/RTX1100/RT107e | Rev.8.03.80以降 |
router-B# heartbeat2 receive 101 crypto yamaha_crypto auth yamaha_auth
router-B# heartbeat2 receive enable 101
router-A# heartbeat2 transmit 101 crypto yamaha_crypto auth yamaha_auth 10.0.0.1 router-A# heartbeat2 myname 拠点-1
router-A# heartbeat2 transmit enable 101
その後、ルーターAから定期的に生存通知が送信されます。このとき、通知内容は暗号化され、更に認証情報が付加されます。
なお、今回の例では送信間隔はデフォルト設定のままなので30秒です。これを変更するにはheartbeat2 transmit intervalコマンドを使用します。
また、ここで送信される通知パケットには以下のデータが含まれます。
ここで、名称とIPアドレスが暗号化の対象となり、更にシーケンス番号やアプリケーションヘッダを含めた情報が認証の対象となります。
冒頭のエントリ数は「表示対象のエントリ数/現在の受信エントリ総数」を表します。また、(受信)間隔は同じ相手から生存通知を2回以上受信すると表示されます。# show status heartbeat2 エントリ数: 1/1 '?': 監視時間内に通知がない 受信ID 名称 IPアドレス 最終受信時刻 間隔(秒) ------------------------------------------------------------------------------- 101 拠点-1 172.16.1.254 2006/07/20 21:37:48 - #
なお、受信側ルーターでheartbea2t receive monitorコマンドにより監視設定を有効にしておくと、監視時間内に通知がない場合にsyslogを出力し、SNMPトラップを上げます。また監視時間を経過した後、同じ相手から再び通知が行われた場合には、生存通知が再開されたことを示すsyslogを別途出力します。
以下のMIB変数で生存通知の受信情報を取得することができます。
[書式] heartbeat2 myname NAME no heartbeat2 myname [設定値] ○NAME........... 生存通知で使用する名称(1〜64文字/ASCII、1〜32文字/シ フトJIS) [説明] 生存通知で通知する本機の名称を設定する。 NAMEにはASCII文字だけではなく、シフトJISで表現できる範囲の日本語文字(半 角カタカナを除く)も使用できる。ただし、console characterコマンドの設定 がsjisの場合にのみ正しく設定、表示でき、他の設定では意図した通りに処理 されない場合がある。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 設定されていない
[書式] heartbeat2 transmit TRANS_ID [crypto CRYPTO_KEY] auth AUTH_KEY DEST_ADDR ... no heartbeat2 transmit TRANS_ID [設定値] ○TRANS_ID....... 通知設定の識別子(1..65535) ○CRYPTO_KEY..... ASCII文字列で表した暗号鍵(1〜32文字) ○AUTH_KEY....... ASCII文字列で表した認証鍵(1〜32文字) ○DEST_ADDR...... 送信先ルーターのIPv4アドレス、またはFQDN(空白で区切っ て4つまで指定可能) [説明] 生存通知の定期的な送信設定を定義する。本コマンドで設定したAUTH_KEYを元 に、通知パケットには認証情報が付与される。また、CRYPTO_KEYを指定した場 合は更に通知内容が暗号化される。 対応する受信側の設定としてheartbeat2 receiveコマンドを設定する際には、 RECV_IDが本コマンドのTRANS_IDと一致していなければならない。また同様に、 CRYPTO_KEY、AUTH_KEYも一致させる必要がある。 本コマンドは送信に最低限必要なパラメータをTRANS_IDに紐付けて定義するた めのものである。実際に送信処理を有効にするにはhertbeat2 transmit enable コマンドを設定する必要がある。 なお、複数の通知設定による送信負荷を分散させるため、通知設定が有効にな ってから最初に通知パケットを送信するまでの時間は、通知設定/宛先毎にラ ンダムとなる(ただし30秒以内)。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 設定されていない※現在、本コマンドの動作に関して一部不具合があることが確認されています。詳しくは既知の不具合-1を参照してください。
[書式] heartbeat2 transmit enable [one-shot] TRANS_ID_LIST no heartbeat2 transmit enable [設定値] ○TRANS_ID_LIST.. 有効にしたい通知設定の識別子のリスト ●1個の数字、または間に - をはさんだ数字(範囲指定)、およびこれらを 任意に並べたもの(128個以内) [説明] 定義した通知設定から実際に有効にしたいものを指定する。 識別子のリストは空白で区切って128個まで指定することができる。 'one-shot'キーワードを指定した場合は、TRANS_ID_LISTで指定された各設定 の通知処理を1回だけ実行する。なお、この形式で入力したコマンドは保存で きない。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 設定されていない
[書式] heartbeat2 transmit interval TIME heartbeat2 transmit interval TRANS_ID TIME no heartbeat2 transmit interval [TIME] no heartbeat2 transmit interval TRANS_ID TIME [設定値] ○TRANS_ID....... 通知設定の識別子 ○TIME........... 通知間隔秒数(30..65535) [説明] TRANS_IDに対応する通知設定の送信間隔を指定する。 TRANS_IDを省略した場合は全ての通知設定が適用対象となる。ただし、 TRANS_IDを個別に指定した設定の方が優先して適用される。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 30
[書式] heartbeat2 transmit log [TRANS_ID] SW no heartbeat2 transmit log [TRANS_ID] [設定値] ○TRANS_ID....... 通知設定の識別子 ○SW ●on........... 送信した内容をsyslogに出力する ●off.......... 送信した内容をsyslogに出力しない [説明] TRANS_IDに対応する通知設定のログ出力に関する設定を行う。SWを'on'にした 場合、生存通知を送信する際にINFOレベルのsyslogを出力する。 TRANS_IDを省略した場合は全ての通知設定が適用対象となる。ただし、 TRANS_IDを個別に指定した設定の方が優先して適用される。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] off
[書式] heartbeat2 receive RECV_ID [crypto CRYPTO_KEY] auth AUTH_KEY no heartbeat2 receive RECV_ID [設定値] ○RECV_ID........ 受信設定の識別子 ○CRYPTO_KEY..... ASCII文字列で表した暗号鍵(1〜32文字) ○AUTH_KEY....... ASCII文字列で表した認証鍵(1〜32文字) [説明] 生存通知の受信設定を定義する。受信処理を行う際は、通知パケットに含まれ る送信側の設定識別子(TRANS_ID)を元に、同じRECV_IDを持つ本コマンドの設定 を使用して復号化、認証チェックが行われる。 対応する送信側の設定としてheartbeat2 transmitコマンドを設定する際には、 TRANS_IDが本コマンドのRECV_IDと一致していなければならない。また同様に、 CRYPTO_KEY、AUTH_KEYも一致させる必要がある。 本コマンドは受信に最低限必要なパラメータをRECV_IDに紐付けて定義するため のものである。実際に受信処理を有効にするにはhertbeat2 receive enable コマンドを設定する必要がある。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 設定されていない
[書式] heartbeat2 receive enable RECV_ID_LIST no heartbeat2 receive enable [設定値] ○RECV_ID_LIST.. 有効にしたい受信設定の識別子のリスト ●1個の数字、または間に - をはさんだ数字(範囲指定)、およびこれらを 任意に並べたもの(128個以内) [説明] 定義した受信設定から実際に有効にしたいものを指定する。 識別子のリストは空白で区切って128個まで指定することができる。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 設定されていない
[書式] heartbeat2 receive monitor TIME heartbeat2 receive monitor RECV_ID TIME no heartbeat2 receive monitor [TIME] no heartbeat2 receive monitor RECV_ID TIME [設定値] ○RECV_ID........ 受信設定の識別子 ○TIME........... 監視時間 ●秒数(30..21474836) ●off.......... 受信間隔を監視しない [説明] RECV_IDに対応する受信設定における受信間隔の監視設定を行う。監視が有効 な場合は、指定した時間内に生存通知が届かないときINFOレベルのsyslogを出 力してSNMPトラップを送出する。 RECV_IDを省略した場合は全ての受信設定が適用対象となる。ただし、RECV_ID を個別に指定した設定の方が優先して適用される。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] off
[書式] heartbeat2 receive log [RECV_ID] SW no heartbeat2 receive log [RECV_ID] [設定値] ○RECV_ID........ 受信設定の識別子 ○SW ●on........... 受信した内容をsyslogに出力する ●off.......... 受信した内容をsyslogに出力しない [説明] RECV_IDに対応する受信設定のログ出力に関する設定を行う。SWを'on'にした 場合、生存通知を受信する際にINFOレベルのsyslogを出力する。 RECV_IDを省略した場合は全ての受信設定が適用対象となる。ただし、RECV_ID を個別に指定した設定の方が優先して適用される。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] off
[書式] heartbeat2 receive record limit NUM no heartbeat2 receive record limit [設定値] ○NUM............ 生存情報の最大保持数(RTX3000:64..10000、それ以外の 機種:64..1000) [説明] 受信した生存情報を同時に保持できる最大数を設定する。生存情報数が最大に 達した状態では新規の情報を取り込むことができない。そのような場合は clear heartbeat2コマンドで不要な情報を削除する必要がある。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。 [初期値] 64
[書式] show status heartbeat2 show status heartbeat2 id RECV_ID show status heartbeat2 name STRING [設定値] ○RECV_ID........ 受信設定の識別子 ○STRING......... 文字列(1〜64文字/ASCII、1〜32文字/シフトJIS) [説明] 受信した生存通知の情報を表示する。 第1書式では保持している全ての情報を表示する。 第2書式では指定の受信設定により受信した情報のみ表示する。 第3書式では指定の文字列が通知名称に含まれる情報のみ表示する。 STRINGにはASCII文字だけではなく、シフトJISで表現できる範囲の日本語文 字(半角カタカナを除く)も使用できる。ただし、console characterコマン ドの設定がsjisの場合にのみ正しく動作し、他の設定では誤動作する場合が ある。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。
[書式] clear heartbeat2 clear heartbeat2 id RECV_ID clear heartbeat2 name STRING [設定値] ○RECV_ID........ 受信設定の識別子 ○STRING......... 文字列(1〜64文字/ASCII、1〜32文字/シフトJIS) [説明] 受信した生存通知の情報をクリアする。 第1書式では保持している全ての情報をクリアする。 第2書式では指定の受信設定により受信した情報のみクリアする。 第3書式では指定の文字列が通知名称に含まれる情報のみクリアする。 STRINGにはASCII文字だけではなく、シフトJISで表現できる範囲の日本語文 字(半角カタカナを除く)も使用できる。ただし、console characterコマン ドの設定がsjisの場合にのみ正しく動作し、他の設定では誤動作する場合が ある。 [ノート] RTX1100, RTX1500, RT107e は Rev.8.03.80 以降で使用可能。 RTX3000 は Rev.9.00.43 以降で使用可能。 SRT100 は Rev.10.00.46 以降で使用可能。 RTX1200 は Rev.10.01.16 以降で使用可能。
┌─────┐ |ルーターA | └─────┘ センター側 | lan2 ---------------------------- | 10.0.0.1/28(固定) ――――――――――― / \ | インターネット | \ / ――――――――――― | PPPoE/IPCP/NAT(NATの外側アドレス:10.0.11.121) ---------------------------- 拠点-A | lan2 ┌─────┐ |ルーターB | └─────┘
heartbeat2 receive 101 crypto crypto-A auth auth-A heartbeat2 receive monitor 1 300 heartbeat2 receive enable 101 heartbeat2 receive record limit 128
heartbeat2 myname 拠点-A heartbeat2 transmit 101 crypto crypto-A auth auth-A 10.0.0.1 heartbeat2 transmit interval 101 60 heartbeat2 transmit log 101 on heartbeat2 transmit enable 101
# show status heartbeat2 エントリ数: 1/1 '?': 監視時間内に通知がない 受信ID 名称 IPアドレス 最終受信時刻 間隔(秒) ------------------------------------------------------------------------------- 101 拠点-A 10.0.11.121 2006/07/20 21:37:48 60 #
|lan1 192.168.100.1/24 ┌─────┐ |ルーターA | └─────┘ センター側 | bri1 ---------------------------- | unnumbered ――――――― / \ | ISDN | \ / ――――――― | unnumbered --------------------------- 拠点-B | bri1 ┌─────┐ |ルーターC | └─────┘ | lan1 192.168.101.1/24
heartbeat2 receive 201 crypto crypto-B auth auth-B heartbeat2 receive monitor 201 600 heartbeat2 receive enable 201
heartbeat2 myname 拠点-B heartbeat2 transmit 201 crypto crypto-B auth auth-B 192.168.100.1 heartbeat2 transmit interval 201 45 heartbeat2 transmit enable 201 ip filter 1 restrict * 192.168.100.1 udp * 8512 # 切断時は生存通知をブロック ip filter 100 pass * * * * * # その他の通信は通す pp select 1 ip pp secure filter out 1 100 # フィルタの適用
# show status heartbeat2 エントリ数: 1/1 '?': 監視時間内に通知がない) 受信ID 名称 IPアドレス 最終受信時刻 間隔(秒) ------------------------------------------------------------------------------- 201 拠点-B 192.168.101.1 2006/07/20 21:37:48 45 #
本機能において出力されるSYSLOGメッセージの一覧を以下に示します。なお、実際に出力される各メッセージの先頭には"[HEARTBEAT2] "というプレフィックスが付与されます。
レベル | 出力メッセージ | 内容 |
---|---|---|
INFO | Send to DEST_ADDR: NAME IP_ADDRR | 自身の情報(NAMEとIP_ADDR)を含めた生存通知をDEST_ADDR宛てに送信した。 |
Cannot resolve the host name: FQDN | 送信先に指定されたホスト名(FQDN)の名前解決ができない。 | |
Cannot transmit: DEST_ADDR (FQDN) | DEST_ADDR(FQDN)宛ての生存通知パケットが送信できない。 | |
Received from NAME IP_ADDR | NAME、IP_ADDRの情報を持つホストから生存通知を受信した。 | |
Not received for a given period: NAME IP_ADDR | NAME、IP_ADDRのルーターから監視時間内に生存通知を受信していない。 | |
Received IP address is changed from PREV_ADDR to NEW_ADDR : NAME | NAMEのルーターから通知されたIPアドレスがPREV_ADDRからNEW_ADDRへ変更された。 | |
Resumed the receiving from NAME IP_ADDR | 監視時間を超えて生存通知がない相手からの生存通知が再開され通知パケットを受信した。 | |
DEBUG | Digest is wrong : SRC_ADDR | SRC_ADDRから受信した生存通知のダイジェストが不正。 |
Format is wrong : SRC_ADDR | SRC_ADDRから受信した生存通知の内容が解析不能。 | |
Detected duplicate session, ignored: NAME | 前回の通知の複製と見られるため破棄した。 |