18.12. Установка IPsec-подключения

IPsec расшифровывается как Internet Protocol Security (Безопасность протокола Интернета). Этот протокол позволяет организовать виртуальные частные сети (Virtual Private Network, VPN), в которых между двумя компьютерами или сетями устанавливается зашифрованное соединение (компьютер-компьютер или сеть-сеть, соответственно).

ПодсказкаПодсказка
 

За дополнительными сведениями об IPsec обратитесь по адресу http://www.ipsec-howto.org/.

18.12.1. Соединение компьютер-компьютер

IPsec-соединение компьютер-компьютер — это зашифрованное соединение между двумя компьютерами, на которых работает IPsec с одним ключом шифрования. При активном IPsec-соединении весь трафик между двумя компьютерам шифруется.

Чтобы настроить IPSec-подключение компьютер-компьютер, выполните на каждом компьютере следующие действия:

  1. Запустите программу Настройка сети (Network Administration Tool).

  2. На вкладке IPsec нажмите кнопку Создать (New).

  3. Нажмите Вперёд (Forward), чтобы приступить к настройке IPsec-подключения компьютер-компьютер.

  4. Назначьте название подключения из одного слова, например, ipsec0, и укажите, должно ли подключение активироваться автоматически при запуске компьютера. Нажмите Вперёд (Forward).

  5. Выберите тип подключения Шифрование узел-узел (Host to Host encryption). Нажмите Вперёд (Forward).

  6. Выберите тип используемого шифрования: ручное или автоматическое.

    Если выбрано ручное шифрование, позже должен быть представлен ключ для шифрования. Если выбрано автоматическое шифрование, ключами шифрования управляет демон racoon. Если используется racoon, должен быть установлен пакет ipsec-tools.

    Нажмите Вперёд (Forward) для продолжения.

  7. Укажите IP-адрес другого компьютера.

    Если вы не знаете IP-адрес другого компьютера, запустите на нём команду /sbin/ifconfig <device>, где <device> — Ethernet-устройство, используемое для соединения компьютеров. Если в компьютере установлена всего одна плата Ethernet, устройство будет называться eth0. IP-адрес компьютера — это число, указанное за меткой inet addr:.

    Нажмите Вперёд (Forward) для продолжения.

  8. Если на этапе 6 вы выбрали ручное шифрование, укажите ключ, который будет использоваться, или нажмите Создать (Generate) чтобы создать его.

    Укажите ключ для проверки подлинности или нажмите Создать (Generate), чтобы создать его. Это может быть любое сочетание цифр и букв.

    Нажмите Вперёд (Forward) для продолжения.

  9. Проверьте эти данные на странице IPsec — Сводка (IPsec — Summary) и нажмите Применить (Apply).

  10. Выберите в меню Файл (File) => Сохранить (Save), чтобы сохранить конфигурацию.

  11. Выберите из списка IPsec-подключение и нажмите кнопку Активизировать (Activate).

  12. Повторите это действие на другом компьютере. Очень важно, чтобы на других компьютерах использовались ключи, выбранные на этапе 8. В противном случае, IPsec работать не будет.

После того, как вы настроите IPsec-подключение, оно появится в списке IPsec, показанном на рисунке 18-19.

Рисунок 18-19. IPsec-подключение

При этом в каталоге /etc/sysconfig/network-scripts/ создаются два файла ifcfg-<nickname> и keys-<nickname>. Если выбрано автоматическое шифрование, также создаётся файл /etc/racoon/racoon.conf.

В момент активизации интерфейса в каталоге /etc/racoon/ создаются файлы <remote-ip>.conf и psk.txt, а в файл racoon.conf включается <remote-ip>.conf.

Чтобы определить, успешно ли установлено IPsec-соединение, обратитесь к разделу 18.12.3 Проверка IPsec-соединения.

18.12.2. Соединение сеть-сеть (VPN)

Для организации IPsec-соединения сеть-сеть используются два IPsec-маршрутизатора, по одному для для каждой сети,через которые трафик проходит в частные подсети.

Например, как показано на рисунке 18-20, если частная сеть 192.168.0/24 передаёт трафик в частную сеть 192.168.2.0/24, пакеты проходят через gateway0 к ipsec0, затем через Интернет к ipsec1 и gateway1, и, наконец, попадают в сеть 192.168.2.0/24.

Маршрутизаторы IPsec должны иметь адресуемые в Интернете IP-адреса, также, как и любое другое Ethernet-устройство, подключающее частную сеть к Интернету. Трафик проходит через него, только если он связался с другом маршрутизатором IPsec и установил шифрованное соединение.

Рисунок 18-20. IPsec сеть-сеть

Также можно установить брандмауэры между IP-маршрутизаторами и Интернетом, и брандмауэры интрасети между маршрутизатором IPsec и шлюзом во внутреннюю сеть. Маршрутизатор IPsec и шлюз подсети можно организовать на одном компьютере с двумя устройствами Ethernet, первое, с внешним IP-адресом, будет работать как маршрутизатор IPsec, а второе, с внутренним IP-адресом, станет шлюзом в частную сеть. IPsec-маршрутизаторы будут использовать этот шлюз для трафика частной сети, а внешний шлюз — для пересылки пакетов другому маршрутизатору IPsec.

Чтобы настроить IPsec-соединение сеть-сеть, выполните следующие действия:

  1. Запустите программу Настройка сети (Network Administration Tool).

  2. На вкладке IPsec нажмите кнопку Создать (New).

  3. Нажмите Вперёд (Forward), чтобы приступить к настройке IPsec-подключения сеть-сеть.

  4. Назначьте название подключения из одного слова, например, ipsec0, и укажите, должно ли подключение активироваться автоматически при запуске компьютера. Нажмите Вперёд (Forward).

  5. Выберите вариант Шифрование сеть-сеть (Network to Network encryption) (VPN) и нажмите Вперёд (Forward).

  6. Выберите тип используемого шифрования: ручное или автоматическое.

    Если выбрано ручное шифрование, позже должен быть представлен ключ для шифрования. Если выбрано автоматическое шифрование, ключами шифрования управляет демон racoon. Если используется racoon, должен быть установлен пакет ipsec-tools. Нажмите Вперёд (Forward) для продолжения.

  7. На странице Локальная сеть (Local Network) введите следующие сведения:

    • Адрес локальной сети (Local Network Address) — IP-адрес устройства, которое соединяет IPsec-маршрутизатор с частной сетью.

    • Маска локальной сети (Local Subnet Mask) — Маска подсети для локального IP-адреса.

    • Шлюз локальной сети (Local Network Gateway) — Шлюз, соединяющий маршрутизатор с частной сетью.

    Нажмите Вперёд (Forward) для продолжения.

    Рисунок 18-21. Информация о локальной сети

  8. На странице Удалённая сеть (Remote Network) введите следующие сведения:

    • Удалённый адрес IP (Remote IP Address) — Адресуемый из внешнего мира IP-адрес маршрутизатора IPsec другой частной сети. В нашем примере, на компьютере ipsec0 следует ввести адресуемый из Интернета IP-адрес компьютера ipsec1, и наоборот.

    • Адрес удалённой сети (Remote Network Address) — Сетевой адрес частной сети, расположенной за другим маршрутизатором IPsec. В нашем примере, настраивая ipsec1, нужно ввести 192.168.1.0, а настраивая ipsec0 — 192.168.2.0.

    • Маска удалённой сети (Remote Subnet Mask) — Маска подсети удалённого IP-адреса.

    • Шлюз удалённой сети (Remote Network Gateway) — IP-адрес шлюза, соединяющего с удалённой сетью.

    • Если на этапе 6 вы выбрали ручное шифрование, укажите ключ, который будет использоваться, или нажмите Создать (Generate) чтобы создать его.

      Укажите ключ для проверки подлинности или нажмите Создать (Generate), чтобы создать его. Это может быть любое сочетание цифр и букв.

    Нажмите Вперёд (Forward) для продолжения.

    Рисунок 18-22. Информация об удалённой сети

  9. Проверьте эти данные на странице IPsec — Сводка (IPsec — Summary) и нажмите Применить (Apply).

  10. Выберите в меню Файл (File) => Сохранить (Save), чтобы сохранить конфигурацию.

  11. Выберите IPsec-подключение из списка и нажмите кнопку Активизировать (Activate).

  12. Включите маршрутизацию IP, выполнив от имени root в приглашении оболочки следующее:

    1. Отредактируйте /etc/sysctl.conf и задайте net.ipv4.ip_forward равным 1.

    2. Чтобы изменение вступило в силу, выполните команду:

      /sbin/sysctl -p /etc/sysctl.conf

Если необходимо, сценарий запуска сети, активизирующий IPsec-соединение, автоматически настраивает маршруты для передачи пакетов через маршрутизатор IPsec.

Чтобы определить, успешно ли установлено IPsec-соединение, обратитесь к разделу 18.12.3 Проверка IPsec-соединения.

18.12.3. Проверка IPsec-соединения

Чтобы проверить, шифрует ли IPsec пакеты, передаваемые между узлами (или сетями), запустите утилиту tcpdump и, проанализируйте пересылаемые сетевые пакеты. Пакет должен содержать заголовок AH и данные ESP. ESP означает, что шифрование работает. Например, выполните от имени root следующую команду:

# tcpdump

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

Команда tcpdump показывает сетевой трафик в режиме реального времени. Когда tcpdump поработает несколько секунд, вручную снимите этот процесс, нажав [Ctrl]-[C]. Вы должны увидеть подобные пакеты с ESP, показывающие, что IPsec работает.

Для расширенной проверки IPsec потребуются четыре компьютера, которые образую полную сеть IPsec с несколькими подсетями, но здесь это не рассматривается.

18.12.4. Запуск и остановка соединения

Если вы не настроили IPsec-соединение, чтобы оно запускалось при загрузке, запускайте и останавливайте его от имени root в командной строке.

Чтобы запустить соединение, выполните от имени root на каждом компьютере в схеме IPsec компьютер-компьютер или на каждом маршрутизаторе в схеме сеть-сеть (замените <ipsec-nick> именем, определённым ранее, например, ipsec0):

/sbin/ifup <ipsec-nick>

Чтобы разорвать соединение, выполните от имени root на каждом компьютере в схеме IPsec компьютер-компьютер или на каждом маршрутизаторе в схеме сеть-сеть (замените <ipsec-nick> именем, определённым ранее, например, ipsec0):

/sbin/ifdown <ipsec-nick>