2.7.3. Libreswan を使用したホスト間の VPN

Libreswan がホスト間の IPsec VPN を作成するように設定するには、と呼ばれる 2 つのホスト間で、 left ならびに right両方のホストで root で以下のコマンドを入力します()left ならびに right)で、生の RSA 鍵のペアを新たに作成します。
~]# ipsec newhostkey --configdir /etc/ipsec.d \
--output /etc/ipsec.d/www.example.com.secrets
Generated RSA key pair using the NSS database
これにより、ホストの RSA 鍵ペアが生成されます。RSA 鍵の生成プロセスには数分かかる場合があります(特にエントロピーが少ない仮想マシン)。
公開鍵を表示するには、いずれかのホストで root で以下のコマンドを発行します。たとえば、で公開鍵を表示するには、 left ホスト、以下を実行します。
~]# ipsec showhostkey --left
ipsec showhostkey loading secrets from "/etc/ipsec.secrets"
ipsec showhostkey loading secrets from "/etc/ipsec.d/www.example.com.secrets"
ipsec showhostkey loaded private key for keyid: PPK_RSA:AQOjAKLlL
	# rsakey AQOjAKLlL
	leftrsasigkey=0sAQOjAKLlL4a7YBv [...]
以下で説明されているように、設定ファイルに追加するには、このキーが必要です。
シークレット部分は /etc/ipsec.d/*.db ファイル(とも呼ばれます)に保存されます。 NSS データベース.
このホスト間トンネルの設定ファイルを作成するには、行 leftrsasigkey= と上 rightrsasigkey= からの行が、/etc/ipsec.d/ ディレクトリーに配置されるカスタム設定ファイルに追加されます。
root として実行しているエディターを使用して、以下の形式で適切な名前のファイルを作成します。
/etc/ipsec.d/my_host-to-host.conf
以下のようにファイルを編集します。
conn mytunnel
    leftid=@west.example.com
    left=192.1.2.23
    leftrsasigkey=0sAQOrlo+hOafUZDlCQmXFrje/oZm [...] W2n417C/4urYHQkCvuIQ==
    rightid=@east.example.com
    right=192.1.2.45
    rightrsasigkey=0sAQO3fwC6nSSGgt64DWiYZzuHbc4 [...] D/v8t5YTQ==
    authby=rsasig
    # load and initiate automatically
    auto=start
左側のホストと右のホストの両方で同じ設定ファイルを使用できます。この場合は、自動検出されます。 left または right.いずれかのホストがモバイルホスト( IP アドレスを事前に認識しない)である場合は、モバイルホストでを IP アドレス %defaultroute として使用します。これにより、動的 IP アドレスが自動的に取得されます。着信モバイルホストからの接続を受け入れる静的ホストで、IP アドレスにを使用してモバイルホスト %any を指定します。
leftrsasigkey 値がから取得されていることを確認します。 left host と rightrsasigkey value はから取得されます。 right host。
ipsec を再起動して、新しい設定を読み取ります。
~]# service ipsec --full-restart
トンネルがすぐに確立されていることを確認するには、以下のコマンドを入力します。
~]# ipsec whack --trafficstatus
/etc/ipsec.d/*.conf ファイルの auto=start オプションを使用しない場合やトンネルが正常に確立されていない場合は、root で次のコマンドを使用して IPsec トンネルを読み込みます。
~]# ipsec auto --add mytunnel
トンネルを起動するには、root で、左側のまたは右側で以下のコマンドを実行します。
~]# ipsec auto --up mytunnel

2.7.3.1. Libreswan を使用したホスト間の VPN の検証

IKE ネゴシエーションは UDP ポート 500 で行われます。IPsec パケットは、カプセル化された セキュリティーペイロード (ESP)パケットとして表示されます。VPN 接続が NAT ルーターを通過する必要がある場合、ESP パケットはポート 4500 の UDP パケットでカプセル化されます。
パケットが VPN トンネル経由で送信されていることを確認するには、root で以下の形式でコマンドを実行します。
~]# tcpdump -n -i interface esp or udp port 500 or udp port 4500
00:32:32.632165 IP 192.1.2.45 > 192.1.2.23: ESP(spi=0x63ad7e17,seq=0x1a), length 132
00:32:32.632592 IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x4841b647,seq=0x1a), length 132
00:32:32.632592 IP 192.0.2.254 > 192.0.1.254: ICMP echo reply, id 2489, seq 7, length 64
00:32:33.632221 IP 192.1.2.45 > 192.1.2.23: ESP(spi=0x63ad7e17,seq=0x1b), length 132
00:32:33.632731 IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x4841b647,seq=0x1b), length 132
00:32:33.632731 IP 192.0.2.254 > 192.0.1.254: ICMP echo reply, id 2489, seq 8, length 64
00:32:34.632183 IP 192.1.2.45 > 192.1.2.23: ESP(spi=0x63ad7e17,seq=0x1c), length 132
00:32:34.632607 IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x4841b647,seq=0x1c), length 132
00:32:34.632607 IP 192.0.2.254 > 192.0.1.254: ICMP echo reply, id 2489, seq 9, length 64
00:32:35.632233 IP 192.1.2.45 > 192.1.2.23: ESP(spi=0x63ad7e17,seq=0x1d), length 132
00:32:35.632685 IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x4841b647,seq=0x1d), length 132
00:32:35.632685 IP 192.0.2.254 > 192.0.1.254: ICMP echo reply, id 2489, seq 10, length 64
interface は、トラフィックを伝送できるインターフェースです。tcpdump でキャプチャーを終了するには、を押し Ctrl+Cます。
注記
tcpdump コマンドは、IPsec と予期せずに対話します。送信プレーンテキストパケットではなく、送信暗号化パケットのみが表示されます。暗号化された受信パケットと、復号化された受信パケットが表示されます。可能であれば、エンドポイント自体ではなく、2 つのマシン間のルーターで tcpdump を実行します。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。