setkey(8) FreeBSD 一般コマンドマニュアル

setkey

前のページ 上に戻る 次のページ

setkey


     setkey [-dv] -f filename
     setkey [-adPlv] -D
     setkey [-dPv] -F
     setkey [-h] -x


解説

     setkey は、カーネル内のセキュリティアソシエーションデータベース (SAD) エ
     ントリとセキュリティポリシデータベース (SPD) エントリを、追加・更新・内容
     列挙・削除します。

     setkey は、一連の操作を標準入力から受け取るか ( -c 付で起動された場合)
     filename という名前のファイルから受け取ります ( -f filename 付で起動され
     た場合)。

     -D      SAD エントリをダンプします。 -P 付の場合、SPD エントリをダンプし
             ます。

     -F      SAD エントリを捨てます。 -P 付の場合、SPD を捨てます。

     -a      setkey は通常、 -D に対し、死んだ SAD エントリを表示しません。 -a
             付の場合、死んだ SAD エントリも表示します。死んだ SAD エントリと
             は、期限切れではあるものの、 SPD エントリから参照されているために
             残っているものを指します。

     -d      コマンドパーザ用のデバッグメッセージ表示を有効にし、カーネルとは
             対話をしません。これは通常は使用しません。

     -x      無限ループし、 PF_KEY ソケットへ送られる全メッセージをダンプしま
             す。 -xx は、各タイムスタンプのフォーマットをやめます。

     -h      -x モードにおいて、16 進数ダンプを追加します。

     -l      -D において、短い出力で無限ループします。

     -v      冗長になります。プログラムは、 PF_KEY ソケット上で交換したメッセ
             ージをダンプします。これには他プロセスからカーネルに送られたメッ
             セージを含みます。

     操作は、次の文法です。ハッシュマーク ('#') で始まる行はコメント行として扱
     われることに注意してください。

     add src dst protocol spi [extensions] algorithm... ;
             単一の SAD エントリを追加します。

     get src dst protocol spi ;
             単一の SAD エントリを表示します。

     delete src dst protocol spi ;
             単一の SAD エントリを削除します。

     deleteall src dst protocol ;
             指定に適合するすべての SAD エントリを削除します。
             全 SPD エントリをクリアします。

     spddump ;
             全 SPD エントリをダンプします。

     メタ引数は下記の通りです:

     src
     dst     セキュアコミュニケーションの始点/終点を IPv4/v6 アドレスで指定し
             ます。 setkey は引数 srcdst について、ホスト名からアドレスへ
             の問い合わせを行いません。これらは数値形式で指定する必要がありま
             す。

     protocol
             protocol は次のいずれか 1 つです:
             esp         rfc2405 を基にした暗号ペイロード
             esp-old     rfc1827 を基にした暗号ペイロード
             ah          rfc2402 を基にした認証ヘッダ
             ah-old      rfc1826 を基にした認証ヘッダ
             ipcomp      IPCOMP

     spi     SAD および SPD 用の、セキュリティパラメータインデックス (SPI)。範
             囲 0 から 255 の SPI 値は使用できません。 10 進数または 16 進数
             (0x 付) で指定する必要があります。

     extensions
             次に示す引数を受け付けます:
             -m mode     使用するセキュリティプロトコルモードを指定します。
                         mode は次のいずれか 1 つです: transport, tunnel, any
                         。デフォルト値は any です。
             -r size     繰り返し攻撃を防ぐためのウィンドウサイズをバイト数で
                         指定します。 size は 32 ビットワードの 10 進数で指定
                         する必要があります。 size が 0 または指定されなかった
                         場合、繰り返しのチェックは行われません。
             -u id       SAD 中のポリシエントリの識別子を指定します。 policy
                         を参照してください。
             -f pad_option
                         ESP パディングの内容を指定します。 pad_option は次の
                         いずれか 1 つです:
                         zero-pad    パディングはすべて 0。
                         random-pad  一連の乱数値を設定。
                         seq-pad     1 から開始して増加する一連の数を設定。
             -f nocyclic-seq
                         周期的な順序番号を許可しません。
             -lh time
             -ls time    SA のハード有効期間/ソフト有効期間を指定します。

     algorithm
             -E ealgo key
                         暗号化アルゴリズムを指定します。
             -A aalgo key
                         認証アルゴリズムを指定します。 -Aprotocol esp と

             のみを受け付けます。 protocol ah と ah-old は -A のみを受け付けま
             す。 protocol ipcomp は -C のみを受け付けます。

             key は、ダブルクォートで括られた文字列か、一続きの 16 進数で指定
             する必要があります。

             ealgo, aalgo, calgo が取り得る値は別の節で規定します。

     src_range
     dst_range
             セキュアコミュニケーションの選択であり、 IPv4/v6 アドレスまたは
             IPv4/v6 アドレス範囲で指定します。 TCP/UDP ポート指定を付加するこ
             とも可能です。次の形式を受け付けます:

             address
             address/prefixlen
             address[port]
             address/prefixlen[port]

             prefixlenport は 10 進数で指定する必要があります。 port の周
             りの角括弧は、実際に必要です。マニュアルページのメタ文字ではあり
             ません。

             setkey は引数 srcdst について、ホスト名からアドレスへの問い合
             わせを行いません。これらは数値形式で指定する必要があります。

     upperspec
             使用する上位層プロトコル。 upperspec として、 /etc/protocols 中の
             1 語を使用可能です。または、 icmp6, ip4, any を指定可能です。 any
             は ``任意のプロトコル'' を意味します。また、プロトコル番号を使用
             可能です。

             注: upperspec は、現時点では転送に対して機能しません。転送ノード
             において、追加の再構成 (現時点では未実装) が必要となるからです。
             /etc/protocols には多数のプロトコルが登録されていますが、 TCP,
             UDP, ICMP 以外は IPSec と共に使用するには不適切かもしれません。そ
             のようなプロトコルの使用には、注意してください。

     policy  policy は次のいずれか 1 つです:

             -P
             direction
             discard
             -P
             direction
             none
             -P
             direction
             ipsec
             protocol/mode/src-dst/level

             ポリシの方向を direction で指定する必要があります。 out または in
             ます。 use は、カーネルが SA を使用可能であれば使用し、使用不能の
             場合には通常操作を続けることを意味します。 require は、ポリシに適
             合するパケットをカーネルが送る時にはいつも SA が必要であることを
             意味します。 unique は require と同じです。更に、ポリシが一意な外
             向き SA に結合することを許します。 unique の後にコロン `' で区
             切った後に 10 進数でポリシ識別子を指定可能であり、次のようにしま
             す: unique:number 。 number は 1 から 32767 の範囲にあることが必
             要です。これは、 extensions -u に対応します。

             ``discard'' と ``none'' は ipsec_set_policy(3) に記述されている構
             文には存在しないことに注意してください。両者の構文にはちょっとし
             た違いがあります。詳細は ipsec_set_policy(3) を参照してください。


アルゴリズム

     次の一覧は、サポートされているアルゴリズムを示しています。 protocolalgorithm は、ほぼ直交しています。次に示すのは、 protocol パラメータの -A
     aalgoaalgo として使用可能な認証アルゴリズムの一覧です:

           アルゴリズム    鍵長 (ビット)   コメント
           hmac-md5        128             ah: rfc2403
                           128             ah-old: rfc2085
           hmac-sha1       160             ah: rfc2404
                           160             ah-old: 128bit ICV (文書無し)
           keyed-md5       128             ah: 96bit ICV (文書無し)
                           128             ah-old: rfc1828
           keyed-sha1      160             ah: 96bit ICV (文書無し)
                           160             ah-old: 128bit ICV (文書無し)
           null            0 〜 2048       デバッグ用
           hmac-sha2-256   256             ah: 96bit ICV (文書無し)
                           256             ah-old: 128bit ICV (文書無し)
           hmac-sha2-384   384             ah: 96bit ICV (文書無し)
                           384             ah-old: 128bit ICV (文書無し)
           hmac-sha2-512   512             ah: 96bit ICV (文書無し)
                           512             ah-old: 128bit ICV (文書無し)

     次に示すのは、 protocol パラメータの -E ealgoealgo として使用可能な暗
     号化アルゴリズムの一覧です:

           アルゴリズム    鍵長 (ビット)   コメント
           des-cbc         64              esp-old: rfc1829, esp: rfc2405
           3des-cbc        192             rfc2451
           simple          0 〜 2048       rfc2410
           blowfish-cbc    40 〜 448       rfc2451
           cast128-cbc     40 〜 128       rfc2451
           des-deriv       64              ipsec-ciph-des-derived-01 (期限切れ)
           3des-deriv      192             文書無し
           rijndael-cbc    128/192/256     draft-ietf-ipsec-ciph-aes-cbc-00

     次に示すのは、 protocol パラメータの -C calgocalgo として使用可能な圧
     縮アルゴリズムの一覧です:

           アルゴリズム    コメント

     get     3ffe:501:4819::1 3ffe:501:481d::1 ah 123456 ;

     flush ;

     dump esp ;

     spdadd  10.0.11.41/32[21] 10.0.11.33/32[any] any
                     -P out ipsec esp/tunnel/192.168.0.1-192.168.1.2/require ;



戻り値

     本コマンドは成功時に 0 を、エラー時に 0 以外を返します。


関連項目

     ipsec_set_policy(3), racoon(8), sysctl(8)


歴史

     setkey コマンドは WIDE Hydrangea IPv6 プロトコルスタックキットではじめて
     登場しました。本コマンドは 1998 年 6 月に、完全に再デザインされました。

FreeBSD 4.4                    November 20, 2000                   FreeBSD 4.4

ABELNET VPSサービス