6.11. Конфигурация IPsec «узел-узел»

С помощью IPsec можно связать одну рабочую станцию с другой, организовав соединение «узел-узел». В соединении такого типа для создания безопасного туннеля используется сеть, к которой подключены оба узла. Для организации соединения «узел-узел» и настройки IPsec от каждого узла требуется совсем немного. Для создания соединения IPsec узлам нужно только постоянное подключение к несущей сети (например, к Интернету) и Red Hat Enterprise Linux.

Первый этап организации соединения состоит в сборе системной и сетевой информации на каждой рабочей станции. Для соединения «узел-узел» вам потребуется следующая информация:

Предположим, например, что компьютер A и компьютер B хотят организовать туннель IPsec. Для этого они хотят использовать предварительный общий ключ foobarbaz, а пользователи решили использовать racoon для автоматического создания и обмена ключом проверки подлинности. Пользователи обоих компьютеров назвали свои соединения ipsec0.

Ниже приведён файл ifcfg, созданный для IPsec-соединения «узел-узел» на компьютере A. В данном примере это соединение имеет уникальное имя ipsec0, поэтому получившийся файл называется /etc/sysconfig/network-scripts/ifcfg-ipsec0.

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

На компьютере A X.X.X.X нужно заменить IP-адресом компьютера B, а на компьютере B вместо X.X.X.X указать IP-адрес компьютера A. Это соединение устанавливается при загрузке (ONBOOT=yes) и использует метод проверки подлинности с предварительным общим ключом (IKE_METHOD=PSK).

Ниже показан файл с предварительным общим ключом (/etc/sysconfig/network-scripts/keys-ipsec0), с помощью которого компьютеры проверяют друг друга. Содержимое этого файла должно совпадать на обоих компьютерах, а доступ к нему должен иметь только пользователь root.

IKE_PSK=foobarbaz

ВажноВажно
 

Чтобы ограничить доступ к файлу keys-ipsec0, позволив читать и изменять его только пользователю root, выполните после создания файла следующее:

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

Ключ проверки подлинности можно изменить в любое время, для этого на обоих компьютерах нужно отредактировать файл keys-ipsec0. Чтобы соединение было установлено, оба ключа должны совпадать.

Файлы /etc/racoon/racoon.conf также должны совпадать, за исключением оператора include "/etc/racoon/X.X.X.X.conf". Этот оператор (и файл, на который он ссылается) создаётся при активации туннеля IPsec. На компьютере A вместо X.X.X.X в операторе include окажется IP-адрес компьютера B. На компьютере B будет обратная картина. Ниже показан типичный файл racoon.conf при установленном соединении IPsec.


# 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)