Вопрос: Настройка IPSec тоннеля между межсетевым экраном DFL-100 и isakmpd (Linux)

Ответ: 

Содержание:

  • Введение
  • Конфигурирование
  • Проверка работы

Введение

Этот пример демонстрирует настройку IPSec тоннелей между маршрутизаторами на базе Linux и DFL-100.
Используемые технологии:

  • Протоколы ESP
  • Алгоритмы шифрования 3des
  • Аутентификация с использованием pre-shared key

Конфигурирование
Примечание: тестирование данной схемы проводилось в условиях лаборатории. В начале работы все устройства имели конфигурацию по умолчанию. Если у Вас работающая сеть, убедитесь, что Вы представляете всю потенциальную угрозу ее работоспособности от выполнения каждой команды

В этом разделе содержится информация о том, как настроить и использовать технологии, указанные выше. Более детальную информацию обо всех параметрах настройки IPSec на маршрутизаторе DI-804HV можно получить в руководстве пользователя.
Диаграмма тестовой сети:

 

Файлы конфигураций:

Isakmpd

Версия ядра Linux: 2.6.2
isakmpd 20031107-2 The Internet Key Exchange protocol openbsd impleme
Более подробную информацию по настройке isakmpd можно получить, выполнив на Linux команду "man isakmpd"
Конфигурация isakmpd:

isakmpd.conf:

# $OpenBSD: VPN-east.conf,v 1.13 2003/03/16 08:13:02 matthieu Exp $
# $EOM: VPN-east.conf,v 1.12 2000/10/09 22:08:30 angelos Exp $

# A configuration sample for the isakmpd ISAKMP/Oakley (aka IKE) daemon.
#
# The network topology of the example net is like this:
#
# 192.168.11.0/24 - west [.11] - 10.1.0.0/24 - [.12] east - 192.168.12.0/24
#
# "west" and "east" are the respective security gateways (aka VPN-nodes).

[Phase 1]
192.168.100.201=

ISAKMP-peer-west
[Phase 2]
Connections=

IPsec-east-west
[ISAKMP-peer-west]
Phase=
Transport=
Address=
Configuration=
Authentication=

1 udp
192.168.100.201
Default-main-mode
123456
[IPsec-east-west]
Phase=
ISAKMP-peer=
Configuration=
Local-ID=
Remote-ID=

2
ISAKMP-peer-west
Default-quick-mode
Net-east
Net-west
[Net-west]
ID-type=
Network=
Netmask=

IPV4_ADDR_SUBNET
192.168.3.0
255.255.255.0
[Net-east]
ID-type=
Network=
Netmask=

IPV4_ADDR_SUBNET
192.168.14.0
255.255.255.0
[Default-main-mode]
DOI=
EXCHANGE_TYPE=
Transforms=

IPSEC
ID_PROT
3DES- MD5
[Default-quick-mode]
DOI=
EXCHANGE_TYPE=
Suites=

IPSEC
QUICK_MODE
QM-ESP-3DES-MD5-PFS-SUITE

isakmpd.policy:

KeyNote-Version: 2
Comment: This policy accepts ESP SAs from a remote that uses the right password
$OpenBSD: policy,v 1.6 2001/06/20 16:36:19 angelos Exp $
$EOM: policy,v 1.6 2000/10/09 22:08:30 angelos Exp $
Authorizer: "POLICY"
Licensees: "passphrase:123456"
Conditions: app_domain == "IPsec policy" &&
esp_present == "yes" &&
esp_enc_alg == "3des" &&
esp_auth_alg == "hmac-md5" -> "true";

DFL-100

Версия ПО для DFL-100: тестировались 2.25.

Шаг 1. Настраиваем параметры IP на DFL-100

При помощи web-интерфейса настраиваем WAN (внешний IP) и LAN (внутренний IP) межсетевого экрана DFL-100.
Внутренний IP-адрес DFL-100 по умолчанию - 192.168.0.1, поэтому компьютеру, с которого конфигурируется устройство, нужно назначить IP- адрес типа 192.168.0.х
Логин по умолчанию - "admin" , пароль пустой.

Для того чтобы внести изменения в конфигурацию межсетевого экрана, после всех сделанных изменений на соответствующей странице web-интерфейса нужно нажать кнопку Apply.
На WAN интерфейсе настраиваем статический IP - адрес, маску подсети, шлюз по умолчанию.
На LAN интерфейсе настраиваем IP-адрес, соответствующий адресации, принятой в вашей сети. В данном случае IP - адрес будет 192.168.3.1
Проверить настройки можно на вкладке Device Status:

 

Шаг 2. Настраиваем IPSec на DFL-100.

В первую очередь, на вкладке Advanced Settings / VPN Settings /IPSec Status настраиваем статус IPSec. По умолчанию, IPSec включен.
Важно!
Настраиваем параметр Negotiation ID - этот параметр, заданный на DFL-100, служит для организации тоннеля и указывается на удаленном устройстве в привязке к ключу шифрации. Т.к. на Linux машине ключ шифрации мы привязываем к IP адресу, то в данной схеме мы должны на DFL-100 указать в поле Negotiation ID IP - адрес wan интерфейса DFL-100. Иначе тоннель не будет установлен!
Т.о. в данной схеме Negotiation ID = 192.168.100.201

 

Далее, на вкладке Advanced Settings / VPN Settings / IPSec Tunnel Mode задаем настройки для конкретного тоннеля. За подробностями понимания всех этих настроек можно обратится к документации по IPSec - она широко представлена в Интернет.
В данном случае на этой вкладке, при работе с маршрутизатором Linux, поле Negotiation ID носит информативный характер - можно указать любое значение.
Далее, параметр Remote Gateway IP - это IP-адрес WAN-интерфейса устройства, стоящего на другом конце тоннеля, т.е. 192.168.100.25
Параметр Remote IP Network - это внутренняя сеть LAN, подключенная к устройству, стоящему на другом конце тоннеля, т.е. 192.168.14.0
Параметр Remote IP Netmask - маска подсети для предыдущего пункта, т.е. 255.255.255.0
Все остальные параметры должны быть одинаковые на обоих устройствах, организующих IPSec соединение.
Примечание: Здесь выбор настроек определяется пользователем исходя из требований производительности или надежности. Приведенные ниже настройки даны в качестве примера. Вы также можете использовать другие комбинации - необходимое требование при этом одно: настройки должны быть идентичны на обоих устройствах, организующих IPSec тоннель!

 

Все, на этом конфигурирование устройств закончено

Проверка

Теперь для поднятия тоннеля между устройствами посылаем icmp-запрос из одной подсети в другую:

 

Тоннель устанавливается за несколько секунд и после этого пакеты icmp, как и весь остальной трафик между сетями, направляются именно по тоннелю IPSec.

Тоннель устанавливается за несколько секунд и после этого пакеты icmp между сетями направляются именно по тоннелю IPsec.
Отследить установку тоннеля IPSec на DFL-100, а также в случае необходимости терминировать тоннель можно на вкладке Device Status / VPN Statistics:

 

Для поиска ошибок со стороны Linux машины используются возможности isakmpd при запуске в режиме отладки с ключом "-D".