Я использую strongSwan 5.2.1 в Debian Jessie, и у меня проблемы с его настройкой для работы, как я хочу.
Помещение
В a В тестовой среде я пытаюсь использовать IPsec в транспортном режиме между виртуальной машиной Linux и виртуальной машиной Windows, настроенной как FTP-сервер в активном режиме. IPsec будет применяться только к FTP-трафику; то есть трафик к / от TCP-портов 20 и 21 на виртуальной машине Windows. Весь остальной трафик между двумя хостами (например, эхо-запросы) должен быть незашифрованным.
В реальном сценарии, для которого я это делаю, IP-адрес FTP-сервера будет отличаться, поэтому я бы хотел, чтобы моя конфигурация strongSwan не ссылалась на конкретный удаленный IP-адрес.
Файл ipsec.conf в Linux
Содержит следующее:
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
# strictcrlpolicy=yes
# uniqueid = no
# Add connections here.
include /var/lib/strongswan/ipsec.conf.inc
conn main
type=transport
left=%any
right=10.1.1.2
leftauth=psk
rightauth=psk
ike=3des-sha1-modp1024
esp=3des-sha1
keyexchange=ikev1
conn data
also=main
rightsubnet=%dynamic[6/20]
auto=route
conn command
also=main
rightsubnet=%dynamic[6/21]
auto=route
Проблема
IPsec. conf выполняет все, что я хочу, за исключением того, что IP-адрес FTP-сервера указан в файле строкой right = 10.1.1.2
.
Параметр also = route
означает, что обмен ключами инициируется только при обнаружении трафика, идущего к / от 10.1.1.2
на TCP-портах 20 или 21. Мне нужна конфигурация, которая инициирует обмен ключами на любой IP-адрес при обнаружении трафика, идущего к / от этого адреса, TCP-порты 20 и 21.
Возможна ли такая конфигурация в strongSwan, и если нет, существует ли какой-либо другой демон управления ключами для Linux, который может делать то, что я хочу достичь?
Дополнительные примечания
right =% any
не позволяет добиться того, что я хочу. Этот параметр позволяет любому удаленному хосту инициировать обмен ключами с локальным хостом; это не означает, что локальный хост инициирует обмен ключами с любым удаленным хостом. любого IP-адреса
на обоих концах соединения и успешно работает в так, как я хочу. Спасибо.
Чтобы использовать right =% any
с политиками прерывания транспортного режима (например, auto = route
), вам потребуется как минимум strongSwan 5.3.3 . См. Пример ikev2 / trap-any .