С помощью IPsec можно связать одну рабочую станцию с другой, организовав соединение «узел-узел». В соединении такого типа для создания безопасного туннеля используется сеть, к которой подключены оба узла. Для организации соединения «узел-узел» и настройки IPsec от каждого узла требуется совсем немного. Для создания соединения IPsec узлам нужно только постоянное подключение к несущей сети (например, к Интернету) и Red Hat Enterprise Linux.
Первый этап организации соединения состоит в сборе системной и сетевой информации на каждой рабочей станции. Для соединения «узел-узел» вам потребуется следующая информация:
IP-адреса обоих узлов
Уникальное имя соединения IPsec, выделяющее его среди других устройств или соединений (например, ipsec0)
Постоянный или автоматически созданный с помощью racoon ключ шифрования
Предварительный общий ключ проверки подлинности, используемый для установки соединения и обмена ключами шифровании во время сеанса связи
Предположим, например, что компьютер 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, выполните после создания файла следующее:
|
Ключ проверки подлинности можно изменить в любое время, для этого на обоих компьютерах нужно отредактировать файл 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) |