OSPFネイバー認証 null認証

terminal CCIE

nullで認証???どういうこと?

nullで認証。何とも不思議な言葉。凄いパワーワードだと私は初めて聞いたときに感じました。認証なのにnullですよ。null=何もない、空。空で認証する。それって最早認証していなくない?つまり認証しない。それがnull認証です。
つまりCiscoルータでいえば認証設定をせずにネイバー設定をする、それがnull認証です。

OSPFネイバー認証のタイプ

こちらの投稿でOSPFネイバー認証について触れていますが、実はネイバー認証はタイプというものがあります。これはRFC2328の Appendix Dで以下3つが定められています。

Type説明OSPFネイバー認証
投稿で紹介した暗号化方式
0null
1Simple passwordクリアテキスト
2Cryptographic authenticationMD5, SHA

上記の表にOSPFネイバー認証の投稿で触れた3つの認証方式がどのタイプに該当するか、最も右側の列に記載しました。その投稿でご紹介したのはtype1と2でそれ以外null認証という方式もあったのですね。Ciscoルータではnull認証、すなわち認証しないというのがデフォルトの認証方式です。

CiscoルータでOSPF null認証を『設定』する

null認証も不思議なワードですが、それを設定するというのもさらに不思議なワードですね。
なぜなら認証しないということだから、設定も何もないじゃないか、そもそもデフォルトで認証しない設定なのだから、Ciscoルータでは。設定も何もあるの?それが普通の考えだと思います。私もそう思っていました。
しかし、null認証を『設定』する事が出来るのです。例えば次のようなケースです。

こちらのOSPFネイバー認証についての投稿でも触れておりますが、OSPF認証設定は

  1. 認証機能の有効化
  2. 認証キーの設定

の2段階の設定を行う必要があります。このうち、1.認証機能の有効化で エリアで認証機能を有効にした際、ある特定のインタフェースでは認証を使用したくないようなケースで使用することが想定されるかと思います。次のセクションから具体的な設定例を説明します。

CiscoルータでのOSPF null認証設定例

OSPF null認証設定例図

上記の図でR1の左側、R2,R3,R4とはMD5認証を行うが、R5はサービス仕様上認証機能そのものが提供出来ないため、認証を行わない(null認証)ものとします。ここでR1にて

R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#router ospf 1
R1(config-router)#area 0 authentication message-digest

とarea 0で認証を有効にしてしまうと、area0に属する全てのインタフェース、すなわちE2~E5で認証機能が有効となってしまいます。実際にコマンドで確認してみると、

 R1#show ip ospf | begin Area BACKBONE
    Area BACKBONE(0)
        Number of interfaces in this area is 5 (1 loopback)
        Area has message digest authentication
        SPF algorithm last executed 00:00:28.200 ago
        SPF algorithm executed 9 times
        Area ranges are
        Router LSA rebuild timer due in 00:02:35
        Number of LSA 35. Checksum Sum 0x0E95D1
        Number of opaque link LSA 0. Checksum Sum 0x000000
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0
 
R1#show ip ospf interface ethernet5
Ethernet5 is up, line protocol is up
(omitted)
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
      No key configured, using default key id 0

とR10が接続されているインタフェースe5でも認証機能が有効となっています。これではR5とのネイバーがUPしません。
そこで登場するのが『null認証の設定』。e5で以下のコマンドを投入します。

 R1(config)#interface ethernet 5
R1(config-if)#ip ospf authentication null
 
R1#show ip ospf interface ethernet5
Ethernet5 is up, line protocol is up
 (omitted)
  Suppress hello for 0 neighbor(s)
 ※ネイバー認証がされていればこの行に表示がされる
R1#

と確かに認証機能が有効となっていないことが確認できました。一方他のインタフェースは

 R1#show ip ospf interface ethernet 2
Ethernet 2 is up, line protocol is up
(omitted)
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
    Youngest key id is 1
 
R1#show ip ospf interface ethernet 3
Ethernet 3 is up, line protocol is up
(omitted)
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
    Youngest key id is 1
 
R1#show ip ospf interface ethernet 4
Ethernet 4 is up, line protocol is up
(omitted)
  Suppress hello for 0 neighbor(s)
  Cryptographic authentication enabled
    Youngest key id is 1

と認証機能は有効のままですね。

null認証を実際に使用するケースは・・・?

私はこの機能を使用したことはありません。正直この機能があることは、CCIEのためにOSPFを勉強し直して初めて知りました。
考えられるのは、例えば自社内ではOSPFネイバー認証を有効にして不正なネイバー接続を防止する仕様にしているが、WANサービスを提供してもらっている通信事業者のルータがサービス仕様上OSPFネイバー認証を提供しないため、そのルータに対してのみ無効にする、そんなケースでしょうか。ただ私は実際そのようなケースを経験したことがありません。
もしこのOSPF null認証、ラボや検証以外、実際に本番環境のネットワークで設定されている方がいらっしゃれば差し支えのない範囲でどのような使い方をされているか、コメント等で教えて頂ければ幸いです。

コメント