Solaris 10 10/09 ご使用にあたって

DR および showdevices が XSCF の再起動後に動作しない (6821108)

OPL システムで XSCF サービスプロセッサを再起動したあとで、IPsec 通信が失われます。次のエラーメッセージが XSCF サービスプロセッサ上に表示されます。


XSCF> showdevices -d 0

Can't get device information from DomainID 0.

次のメッセージがドメインの /var/adm/messages ファイルに表示されます。


Apr  7 11:19:20 domain-0 sckmd: [ID 205163 daemon.error] 
PF_KEY error: type=ADD, errno=17: File exists, diagnostic code=0: No diagnostic

この問題が発生するのは、ドメイン上の既存の SA (Security Association) が適切に削除されないことが原因であるため、新しい SA の追加に失敗します。

回避方法 1: XSCF サービスプロセッサを 2 回再起動します。最初の再起動で SA の半分が削除され、2 回目の再起動で残りの半分が削除されます。2 番目の追加に成功し、IPsec 通信が再度確立されます。

回避方法 2: サービスプロセッサを再起動する前に、各ドメインで IPsec SA を 2 回削除します。

IPsec をシステム上のほかのことに使用していない場合は、ipseckey flush によってすべての SA が表示されます。IPsec をほかのことに使用している場合は、次の手順を実行してすべての SA を表示します。

  1. IP アドレスを取得します。


    # /usr/platform/SUNW,SPARC-Enterprise/sbin/prtdscp
    Domain Address: 192.168.224.2
    SP Address: 192.168.224.1
  2. ipseckey および prtdscp ユーティリティーを使用して SPI を 2 回削除します。


    # ipseckey delete ah spi 0xff00 dst 
    `/usr/platform/SUNW,SPARC-Enterprise/sbin/prtdscp -s`
    #  ipseckey delete ah spi 0xff00 dst 
    `/usr/platform/SUNW,SPARC-Enterprise/sbin/prtdscp -s`
    
    # ipseckey delete ah spi 0xff dst 
    `/usr/platform/SUNW,SPARC-Enterprise/sbin/prtdscp -d`
    # ipseckey delete ah spi 0xff dst 
    `/usr/platform/SUNW,SPARC-Enterprise/sbin/prtdscp -d`

    サービスプロセッサが再起動すると、キーが正しく追加されます。