生存通知

概要

生存通知機能とは、ネットワークに接続しているルーターから他拠点のルーターへ、自分の名前とIPアドレスを含めたパケットを送り、通信できる状態であることを通知する機能です。通知パケットを受信したルーターは、通知された名前とIPアドレスをログに出力し、保存します。WANのIPアドレスが不定となる拠点のルーターから他拠点のルーターへ通信可能であることを知らせる手段として本機能を利用することができます。

  • 生存通知パケットとして UDP/Discard(9)を使用します。
  • 生存通知を受信したルーターでは、通知された名前によって送信元のルーターを識別します。そのため、生存通知を送信するルーター毎に固有の名前を設定する必要があります。
  • 送信側ルーター、受信側ルーターで共有鍵を持ち、その鍵を使用して算出したダイジェストをパケットに含めることで、受信側でのパケットの認証を行うことができます。
  • unnumbered接続の回線を使用して本機能の通知パケットを送信する場合、IPアドレスが設定されているLANインタフェースの中で、インタフェースの番号が若い方のIPアドレスを通知します。
  • 受信した生存通知の情報を show status heartbeatコマンドで表示することができます。

注意事項

  • 本機能を利用するためには、送信側と受信側の双方のルーターが本機能に対応している必要があります。対象となる機種およびファームウェアリビジョン については、以下の「対応機種とリビジョン」 をご覧ください。
  • 本機能では、回線の接続状態にかかわらず、指定されたIPアドレスへパケットを送信しようと試みます。そのため、ISDN回線を使用している場合、意図しない発呼が行われ課金される可能性があります。これを防ぐために、静的フィルタを利用して、切断時には生存通知パケットを送信しない設定をする必要があります。設定については、「定期的に生存通知を実行する」をご覧ください。

対応機種とリビジョン

ヤマハRTシリーズでは以下の機種およびファームウェアで、生存通知機能をサポートしています。

機種 ファームウェア
RTX5000 Rev.14.00.15以降
RTX820 Rev.11.03.16以降
RTX1200 Rev.10.01.20以降
RTX800 Rev.10.01.20以降

詳細

生存通知の設定および動作の流れ

  1. 送信側ルーター(以下、ルーターA:IPアドレス 172.16.1.254)で生存通知用の共有鍵の設定、および機器の名称を設定します。

    router-A# heartbeat pre-shared-key yamaha
    router-A# snmp sysname router-A
    
  2. 受信側ルーター(以下、ルーターB:IPアドレス 10.0.0.1)で、ルーターAと同じ共有鍵の設定、および生存通知パケットを受信し、ログを出力する設定を行います。

    router-B# heartbeat pre-shared-key yamaha
    router-B# heartbeat receive on log=on
    
  3. ルーターAで、生存通知を実行します。

    router-A# heartbeat send 10.0.0.1
    

    UDP/9パケットに以下のデータを含めて送信します。

    • 共有鍵(yamaha)を使用して算出したダイジェスト文字列
    • snmp sysnameで設定した機器の名称(router-A)
    • 送信するインタフェースのIPアドレス(172.16.1.254)
  4. ルーターBは、生存通知を受け取ると、自身が持っている共有鍵(yamaha)でダイジェストを算出し、受信パケットに含まれている文字列と照合します。文字列が一致していたら、通知された名前とIPアドレスをログに出力し、受信時刻と共に保存します。
  5. ルーターBのsyslogとshow status heartbeatでは、以下のように表示されます。

    router-B# show log
    2006/07/20 21:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
    router-B# show status heartbeat
    (?: 監視時間内に通知がない)
    名前             IPアドレス      最終通知時刻         受信間隔(秒)
    -----------------------------------------------------------------
    router-A         172.16.1.254    2006/07/20 21:37:48
    
    受信間隔は、同じ相手から生存通知を2回以上受信すると表示されます。
    

定期的に生存通知を行う場合は、送信側ルーターで、schedule atコマンドを使用してください。このとき、受信側ルーターで、heartbeat receiveコマンドのmonitorオプションで監視時間を設定しておくと、監視時間内に通知がない時にログを出力し、SNMPトラップを上げます。また、監視時間を経過した後、同じ相手から再び通知が行われた場合には、生存通知が再開されたことを示すログを出力します。

MIB変数

以下のMIB変数で生存通知の受信情報を取得することができます。

  • yamahaRTIp
    • yrIpHeartBeatTable
      受信した生存通知の情報
      • yrIpHeartBeatEntry
        • yrIpHeartBeatIndex
          テーブルインデックス
        • yrIpHeartBeatName
          通知された名前
        • yrIpHeartBeatFrom
          通知されたIPアドレス
        • yrIpHeartBeatRecvTime
          最後に通知を受信した時刻
        • yrIpHeartBeatInterval
          通知を受信した間隔
    • トラップ
      • yrIpHeartBeatTrap
        指定した期間に通知がない場合に送信する

コマンド

生存通知の実行

[書式]

heartbeat send DEST_ADDR [log=SWITCH]

[設定値]

  • DEST_ADDR ... 送信先ルーターのIPv4アドレスまたはFQDN
  • SWITCH ... syslogの出力
    • on ... syslogを出力する
    • off ... syslogを出力しない

[説明]

DEST_ADDRで指定したIPアドレスに、snmp sysnameで設定した機器の名称とIPアドレスを送り、通信できる状態であることを通知する。

log=onの場合、パケットを送信するときにsyslogを出力する。

[ノート]

本コマンドを実行する前に、heartbeat pre-shared-keyコマンドで、受信側ルーターとの共有鍵を設定する必要がある。

[初期値]

log=off

生存通知を受信するか否かの設定

[書式]

heartbeat receive SW [option=vaule ...]
no heartbeat receive

[設定値]

  • SWITCH
    • on ... 生存通知パケットを受信する
    • off ... 生存通知パケットを受信しない
  • OPTION=VALUE
    OPTION VALUE 説明
    log on 受信した内容をsyslogに出力する。
    off 受信した内容をsyslogに出力しない。
    monitor 監視時間 [秒](30..21474836) 指定した秒数の間に通知がない場合にアラートを上げる。
    off 生存通知の受信がない場合でもアラートを上げない。

[説明]

受信した生存通知の内容をsyslogに出力するか否かを設定する。

monitorオプションで指定した監視時間内に生存通知が届かないとき、syslogを出力しSNMPトラップを送出する。

[ノート]

本コマンドを設定する前に、heartbeat pre-shared-keyコマンドで、送信側ルーターとの共有鍵を設定する必要がある。

[初期値]

SW...off
log = off
monitor = off

生存通知の共有鍵の設定

[書式]

heartbeat pre-shared-key KEY
no heartbeat pre-shared-key

[設定値]

  • KEY ... ASCII文字列で表した鍵(32文字以内)

[説明]

生存通知を受信する側で認証を行うための共有鍵を設定する。生存通知の送信側、受信側の両方で同じ鍵が設定されている必要がある。

このコマンドが設定されていない場合、生存通知の送信および受信時のログ出力は行われない。

生存通知の状態の表示

[書式]

show status heartbeat

[設定値]

なし

[説明]

受信した生存通知の情報を表示する。

表示する内容は以下の通り。

  • 通知された名前
  • 通知されたIPアドレス
  • 最後に生存通知を受信した時刻
  • 受信間隔(秒)

設定例

以下に、生存通知機能の設定例を示す。
設定例では、受信側ルーターのIPアドレス:10.0.1.1とする。

  • 手動で生存通知を行う。
    • 受信側ルーター
      # heartbeat pre-shared-key test
      # heartbeat receive on log=on
      
    • 送信側ルーター
      # heartbeat pre-shared-key test
      # snmp sysname router_name
      # heartbeat send 10.0.1.1	# 生存通知実行
      
  • 定期的に生存通知を実行する
    • 受信側ルーター
      # heartbeat pre-shared-key test
      # heartbeat receive on log=on monitor=4000
      
    • 送信側ルーター
      # heartbeat pre-shared-key test
      # snmp sysname router_name
      # schedule at 1 */* *:00 * heartbeat send 10.0.1.1  # 毎時0分に生存通知を実行する
      # ip filter 1 restrict * 10.0.1.1 udp * 9           # 切断時は生存通知を実行しない
      # ip filter 100 pass * * *
      # pp select 1
      pp1# ip pp secure filter out 1 100                  # フィルタを適用する
      

表示例

# show log
2006/07/20 21:30:43: [HEARTBEAT] Received from 172.16 10.1 router-C
2006/07/20 21:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/20 22:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/20 22:00:44: [HEARTBEAT] Received from 172.16 10.1 router-C
2006/07/20 22:30:44: same message repeated 1 times
2006/07/20 22:37:49: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/20 23:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/20 23:37:24: [HEARTBEAT] Not received for a given period: 172.16.10.1 router-C
2006/07/20 23:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 0:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 0:37:49: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 1:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 1:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 2:00:02: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 2:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 3:00:02: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 3:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A
2006/07/21 4:00:01: [HEARTBEAT] Received from 10.1.2.3 router-B
2006/07/21 4:37:48: [HEARTBEAT] Received from 172.16.1.254 router-A

# show status heartbeat
 (?: 監視時間内に通知がない)
 名前            IPアドレス      最終通知時刻         受信間隔(秒)
------------------------------------------------------------------
 router-A        172.16.1.254    2006/07/21 4:37:48       3600
 router-B        10.1.2.3        2006/07/21 4:00:01       3600
?router-C        172.16 10.1     2006/07/20 22:30:44      1800

SYSLOGメッセージ一覧

本機能において出力されるSYSLOGメッセージの一覧を以下に示します。尚、実際に出力される各メッセージの先頭には"[HEARTBEAT] "というプレフィックスが付与されます。

レベル 出力メッセージ 内容
INFO Send to DEST_ADDR: NAME SRC_ADDR NAME、SRC_ADDRを含めた生存通知をDEST_ADDR宛てに送信した。
Received from IP_ADDRESS NAME IPアドレスがIP_ADDRESS、名前がNAMEの生存通知を受信した。
Not received for a given period: IP_ADDRESS NAME NAME、IP_ADDRESSのルーターから監視時間内に生存通知を受信していない。
Resumed the receiving from IP_ADDRESS NAME 監視時間を超えて生存通知がない相手からの生存通知が再開され通知パケットを受信した。
DEBUG Received illegal packet: IP_ADDRESS IP_ADDRESSから不正なダイジェストを含む生存通知を受信した。
Received IP address is changed from PREV_ADDR to NEW_ADDR : NAME NAMEのルーターから通知されたIPアドレスがPREV_ADDRからNEW_ADDRへ変更された。

ページトップへ戻る