6.11. IPsec ホスト間 (Host-to-Host) 設定

IPsecは、ホスト間接続の方法であるデスクトップまたはワークステーションから 別のデスクトップまたはワークステーションに接続するよう設定することができます。 このタイプの接続は、各ホストが接続されるネットワークが両ホストをつなげるセキュアな トンネルを作成するために使用します。ホスト間接続に必要なことはほとんどなく、 各ホストでのIPsec設定も同様に行なうことはあまりありません。 ホストにはキャリアネットワークヘの専用接続(インターネットなど)と、 IPsec接続を作成するためのRed Hat Enterprise Linuxがあれば十分です。

接続を作成するには、まず、各ワークステーションからシステムとネットワークの情報を収集します。 ホスト間接続には、次のような情報が必要です。

例えば、ワークステーションAとワークステーションBをIPSecトンネルを使って お互いに接続したいとします。ワークステーションは 値foobarbazを持つpre-shared keyを使い接続し、 ユーザーはracoonで各ホスト間の認証キーを 自動生成、共有することに同意しています。両方のホストユーザーは コネクション名をipsec0にしました。

以下にワークステーションAのホスト間IPsec接続用のifcfgファイルを 示します。この例の接続を識別する個有名はipsec0ですので、 ファイル名は/etc/sysconfig/network-scripts/ifcfg-ipsec0に なります。

DST=X.X.X.X
TYPE=IPsec
ONBOOT=yes
IKE_METHOD=PSK

ワークステーションAではX.X.X.XにワークステーションBの IPアドレスを入れますが、ワークステーションBではX.X.X.X にワークステーションAのIPアドレスを入れます。起動時に接続が開始するよう 設定され(ONBOOT=yes)、pre-sahred key認証方法を 使います(IKE_METHOD=PSK)。

以下に、/etc/sysconfig/network-scripts/keys-ipsec0と 呼ばれるpre-shared keyキーファイルを示します。両方のワークステーションが お互いを認証するのに使います。このファイルの内容は両方のワークステーションで 同じでなければならず、また、rootユーザーのみしかこのファイルの読み取り/書き込み を行なうことができないようになっていなければなりません。

IKE_PSK=foobarbaz

誓要項目重要
 

rootユーザーだけがファイルを読み取り、編集できるよう、 keys-ipsec0ファイルを変更するには、 ファイルを作成したら次のコマンドを実行します。

chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0

認証キーを変更するためには、いつも両方のワークステーション上で keys-ipsec0ファイルを編集します。 正常な接続には、両方のキーは同じでなければなりません

/etc/racoon/racoon.confファイルは、 include "/etc/racoon/X.X.X.X.conf" ステートメントを除いて、同一でなければなりません。 このステートメントは(また、参照するファイル)は、IPsecトンネルが起動すると生成されます。 ワークステーションAでは、includeステートメントの X.X.X.XをワークステーションBのIPアドレスにします。 ワークステーションBはその逆です。 以下に、IPsec接続が起動したときの一般的なracoon.confファイルを 示します。

# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.

path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

sainfo anonymous
{
	pfs_group 2;
	lifetime time 1 hour ;
	encryption_algorithm 3des, blowfish 448, rijndael ;
	authentication_algorithm hmac_sha1, hmac_md5 ;
	compression_algorithm deflate ;
}
include "/etc/racoon/X.X.X.X.conf"

接続を開始するには、ワークステーションを再起動するか次のコマンドを rootとして各ホストで実行します。

/sbin/ifup ipsec0

IPsec接続をテストするには、tcpdumpユーティリティを実行して ホスト(またはネットワーク)間で転送されているネットワークパケットを表示し、 IPsecで暗号化されていることを確認します。パケットにはAHヘッダが含まれ、 ESPパケットとして表示されていなければなりません。ESPであれば暗号化されている ということです。例えば、

17:13:20.617872 pinky.example.com > ijin.example.com: \
	    AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF)