Ответ:
Содержание:
- Введение
- Конфигурирование
- Проверка работы
Введение
Этот пример демонстрирует настройку IPSec тоннелей между маршрутизаторами на базе Linux и DFL-100.
Используемые технологии:
- Протоколы ESP
- Алгоритмы шифрования 3des
- Аутентификация с использованием pre-shared key
Конфигурирование
Примечание: тестирование данной схемы проводилось в условиях лаборатории. В начале работы все устройства имели конфигурацию по умолчанию. Если у Вас работающая сеть, убедитесь, что Вы представляете всю потенциальную угрозу ее работоспособности от выполнения каждой команды
В этом разделе содержится информация о том, как настроить и использовать технологии, указанные выше. Более детальную информацию обо всех параметрах настройки IPSec на маршрутизаторе DI-804HV можно получить в руководстве пользователя.
Диаграмма тестовой сети:
Файлы конфигураций:
FreeSwan
Версия ядра Linux: 2.4.24
Версия FreeS/WAN: 1.96
Более подробную информацию по настройке FreeSwan можно получить на сайте проекта: http://www.freeswan.org/
Несколько важных замечаний перед настройкой:
Туннель между FreeSwan и DFL-100 возможен при условии шифрования по алгоритму 3des, использования DH group2 и аутентификации по алгоритму HMAC-MD5. Это связано с ограничениями в работе FreeSwan:
- не работает с ключами короче 1024 (DH group2);
- не поддерживает des;
- аутентификация только по hmac (нет esp-auth).
Для настройки FreeSwan необходимо изменить два файла: ipsec.conf и ipsec.secrets. Настраивать протоколы шифрации, DH Group и т.д. не нужно - FreeSwan содержит уже предопределенные наборы конфигураций и в зависимости от настроек на соседнем устройстве подставлет необходимые настройки.
ipsec.conf:
# /etc/ipsec.conf - FreeS/WAN IPsec configuration file
# More elaborate and more varied sample configurations can be found
# in FreeS/WAN's doc/examples file, and in the HTML documentation.
# basic configuration
config setup
# THIS SETTING MUST BE CORRECT or almost nothing will work;
# %defaultroute is okay for most simple cases.
# interfaces=%defaultroute
interfaces="ipsec0=eth0"
# Debug-logging controls: "none" for (almost) none, "all" for lots.
klipsdebug=none
plutodebug=none
# Use auto= parameters in conn descriptions to control startup actions.
plutoload=%search
plutostart=%search
# Close down old connection when new one using same ID shows up.
uniqueids=yes
# defaults for subsequent connection descriptions
# (mostly to fix internal defaults which, in retrospect, were badly chosen)
conn %default
keyingtries=0
disablearrivalcheck=no
#authby=rsasig
leftrsasigkey=%dns
rightrsasigkey=%dns
# sample VPN connection
conn dfl-100
authby=secret
keylife=28800s
# Left security gateway, subnet behind it, next hop toward right.
left=192.168.100.25
leftsubnet=192.168.14.0/24
#leftnexthop=192.168.100.179
# Right security gateway, subnet behind it, next hop toward left.
right=192.168.100.201
rightsubnet=192.168.3.0/24
#rightnexthop=10.101.102.103
# To authorize this connection, but not actually start it, at startup,
# uncomment this.
auto=add
i
psec.secrets:
# This file holds shared secrets or RSA private keys for inter-Pluto
# authentication. See ipsec_pluto(8) manpage, and HTML documentation.
# RSA private key for this host, authenticating it to any other host
# which knows the public part. Suitable public keys, for ipsec.conf, DNS,
# or configuration of other implementations, can be extracted conveniently
# with "ipsec showhostkey".
#: RSA {
# -- not filled in because ipsec.secrets existed at build time --
# }
# do not change the indenting of that "}"
192.168.100.201 192.168.100.25: PSK "123456"
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, служит для организации тоннеля и указывается на удаленном устройстве в привязке к ключу шифрации. Т.к. на FreeSwan ключ шифрации мы привязываем к 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:
Для поиска ошибок со стороны FreeSwan используется debug