Создаем файл /etc/isakmpd/isakmpd.policy на каждом хосте. Этот файл будет одинаковым для хостов A и B:
KeyNote-Version: 2 Authorizer: "POLICY" Licensees: "passphrase:mekmitasdigoat" Conditions: app_domain == "IPsec policy" && esp_present == "yes" && esp_enc_alg == "aes" && esp_auth_alg == "hmac-sha" -> "true";Вместо "mekmitasdigoat" следует указать фразу, которая будет использоваться в качестве ключа для установки соединения. Эта фраза должна совпадать для хостов A и B. Далее нам потребуется файлы /etc/isakmpd/isakmpd.conf для каждого из хостов:
[General] Listen-on= 192.168.64.1 Shared-SADB= Defined [Phase 1] 192.168.64.15= ISAKMP-peer-B Default= ISAKMP-peer-B-aggressive [Phase 2] Connections= IPsec-A-B [ISAKMP-peer-B] Phase= 1 Transport= udp Local-address= 192.168.64.1 Address= 192.168.64.15 Configuration= Default-main-mode Authentication= mekmitasdigoat [ISAKMP-peer-B-aggressive] Phase= 1 Transport= udp Local-address= 192.168.64.1 Address= 192.168.64.15 Configuration= Default-aggressive-mode Authentication= mekmitasdigoat [IPsec-A-B] Phase= 2 ISAKMP-peer= ISAKMP-peer-B Configuration= Default-quick-mode Local-ID= Net-A Remote-ID= Net-B [Net-B] ID-type= IPV4_ADDR_SUBNET Network= 192.168.64.15 Netmask= 255.255.255.255 [Net-A] ID-type= IPV4_ADDR_SUBNET Network= 192.168.64.1 Netmask= 255.255.255.255 [Default-main-mode] DOI= IPSEC EXCHANGE_TYPE= ID_PROT Transforms= 3DES-SHA [Default-aggressive-mode] DOI= IPSEC EXCHANGE_TYPE= AGGRESSIVE Transforms= 3DES-SHA-RSA [Default-quick-mode] DOI= IPSEC EXCHANGE_TYPE= QUICK_MODE Suites= QM-ESP-AES-SHA-PFS-SUITE
Файл /etc/isakmpd/isakmpd.conf для хоста B:
[General] Listen-on= 192.168.64.15 Shared-SADB= Defined [Phase 1] 192.168.64.1= ISAKMP-peer-A Default= ISAKMP-peer-A-aggressive [Phase 2] Connections= IPsec-B-A [ISAKMP-peer-A] Phase= 1 Transport= udp Local-address= 192.168.64.15 Address= 192.168.64.1 Configuration= Default-main-mode Authentication= mekmitasdigoat [ISAKMP-peer-A-aggressive] Phase= 1 Transport= udp Local-address= 192.168.64.15 Address= 192.168.64.1 Configuration= Default-aggressive-mode Authentication= mekmitasdigoat [IPsec-B-A] Phase= 2 ISAKMP-peer= ISAKMP-peer-A Configuration= Default-quick-mode Local-ID= Net-B Remote-ID= Net-A [Net-B] ID-type= IPV4_ADDR_SUBNET Network= 192.168.64.15 Netmask= 255.255.255.255 [Net-A] ID-type= IPV4_ADDR_SUBNET Network= 192.168.64.1 Netmask= 255.255.255.255 [Default-main-mode] DOI= IPSEC EXCHANGE_TYPE= ID_PROT Transforms= 3DES-SHA [Default-aggressive-mode] DOI= IPSEC EXCHANGE_TYPE= AGGRESSIVE Transforms= 3DES-SHA-RSA [Default-quick-mode] DOI= IPSEC EXCHANGE_TYPE= QUICK_MODE Suites= QM-ESP-AES-SHA-PFS-SUITEНе забудьте установить права, запрещающие чтение файлов конфигурации isakmpd простыми пользователями:
# chmod 600 /etc/isakmpd/isakmpd.conf /etc/isakmpd/isakmpd.policyТеперь остается только запустить isakmpd на каждом из хостов:
# isakmpd -4Для автоматического запуска isakmpd следует отредактировать файл /etc/rc.conf.local:
isakmpd_flags="-4"Для гарантии защиты трафика следует также добавить правила pf(4), разрешающие трафик между данными хостами только по протоколам ESP и UDP (порты источника и приемника 500).
Смотрите также по данной теме: isakmpd.conf(5), isakmpd.policy(5), isakmpd(8), vpn(8), http://www.openbsdsupport.org/vpn-ipsec.html, /usr/share/ipsec/isakmpd.
Исходные данные: хост A (OpenBSD, адрес 192.168.64.1), хост B (Windows XP, адрес 192.168.64.15).
Информацию о настройке OpenBSD хоста A смотрите в описании вопроса как настроить ISAKMPD (IKE). Для настройки Windows XP хоста B выполните следующие действия:
Исходные данные: хост A (OpenBSD, адрес 192.168.64.1), хост B (Cisco PIX, адрес 192.168.64.15).
Информацию о настройке OpenBSD хоста A смотрите в описании вопроса как настроить ISAKMPD (IKE). Для настройки Cisco PIX хоста B выполните следующие команды:
pix(config)# access-list to_hostA permit ip host 192.168.64.15 host 192.168.64.1 pix(config)# sysopt connection permit-ipsec pix(config)# crypto ipsec transform-set set_hostA esp-aes esp-sha-hmac pix(config)# crypto map newmap 10 ipsec-isakmp pix(config)# crypto map newmap 10 match address to_hostA pix(config)# crypto map newmap 10 set peer 192.168.64.1 pix(config)# crypto map newmap 10 set transform-set set_hostA pix(config)# crypto map newmap interface outside pix(config)# isakmp enable outside pix(config)# isakmp key mekmitasdigoat address 192.168.64.1 netmask 255.255.255.255 pix(config)# isakmp identity address pix(config)# isakmp policy 10 authentication pre-share pix(config)# isakmp policy 10 encryption 3des pix(config)# isakmp policy 10 hash sha pix(config)# isakmp policy 10 group 2 pix(config)# isakmp policy 10 lifetime 86400 pix(config)# exitПроверьте результат настройки командой ping (на Cisco PIX) - она должна ругнуться несколько раз "No response received", после чего все должно заработать.