SA データベースにエントリを追加するには以下のaddコマンドを用います。
# setkey -c
add 2001:2f8:43:a006::1 2001:2f8:43:a006::842 esp 1000
-E des-cbc "wakhok00" -A hmac-sha1 "wakhok00wakhok01xxxx";
add 2001:2f8:43:a006::842 2001:2f8:43:a006::1 esp 1001
-E des-cbc "wakhok01" -A hmac-sha1 "wakhok01wakhok00xxxx";
^D
|
add コマンドの一般的な文法は以下の通りです。
| add src dest proto spi [extensions] algorithm ; |
| IPsecプロトコル | オプション |
| esp | -E 又は -E -A |
| ah | -A |
| ipcomp | -C |
それぞれのオプションは以下のようにして指定します。
esp,ah に対しては色々なものが利用できますが、RFCとして規定されているのは、 上記の通りです。
一方、鍵はどのアルゴリズムを選んだかによって鍵長が違いますので、注意して ください。
| アルゴリズム | 鍵長(bit) |
| hmac-md5 | 128 |
| hmac-sha1 | 160 |
| des-cbc | 64 |
| 3des-cbc | 192 |
| simple | 0 - 2048 |
| blowfish-cbc | 40 - 448 |
| cast128-cbc | 40 - 128 |
但し、文字列を鍵に使う場合には、8bitで割り算をして、文字数を考えてください。 例えば、hmac-md5 では鍵長が128bitなので、8bit で割ると、16文字が鍵の長さ になります。しかし、鍵に文字列を利用すると、 8bitで表せる(0-255)範囲に対して、文字の範囲は狭いので、 実質的には鍵長を短くしているのと同じになります。秘密鍵の暗号強度は、基本的に 鍵長に依存する事を思い出してください。一方、16進数で表記する時には、4bit(0-15) で鍵長を割って、桁数を考えてください。例えば、3des-cbc ならば、192bitですので、 16進数で表記すると、48桁になります。
なお、繰り返しますが、IKEを利用する場合にはSAの設定は必要なく、SPを設定して おけば、自動的にSAは生成されます。また 、この設定例からも分かるとおり、IKEを使わない手動設定では、予め決めておいた 固定2点間の通信にしかIPsecは適用できません。つまりは、モバイルなどには 利用できないということです。
特定のSADエントリを削除したい場合には、delete コマンドを使って 以下のように指定します。
| delete src dest proto spi; |
例えば、以下のように行います。
# setkey -c
dump;
2001:512:240:a006::42 2001:512:240:a000::1
esp mode=any spi=1000(0x000003e8) reqid=0(0x00000000)
E: des-cbc 01234567 89abcdef
seq=0x00000000 replay=0 flags=0x00000040 state=mature
created: Jul 28 11:54:17 2004 current: Jul 28 11:59:55 2004
diff: 338(s) hard: 0(s) soft: 0(s)
last: hard: 0(s) soft: 0(s)
current: 0(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 0 hard: 0 soft: 0
sadb_seq=0 pid=3239 refcnt=1
delete 2001:512:240:a006::42 2001:512:240:a000::1 esp 1000;
dump;
The result of line 3: No SAD entries.
|