Я установил туннель ipsec с помощью strongswan и открыл с помощью x509 PKI. Туннель устанавливается правильно, но у меня есть проблемы.
Шлюз с iked не может пинговать локальный IP-адрес маршрутизатора vyatta, но vyatta может пинговать локальный IP-адрес шлюза с помощью iked.
Подсеть 10.1.1.0/24 не может присоединиться к подсети 10.3.3.0/24 (и наоборот)
Ниже представлена схема моей конфигурации:
10.2.2.0/24 10.3.3.0/24
+---------------+ +--------+.100 +-------+ ISP +---------+.1
|Private subnet +---^| FW +------^+ Box +^---------+FW |
+---------------+ 1.--------+ +-------+ +---------+
10.1.1.0/24 Strongswan NAT OpenBSD (iked)
vyatta
Мой iked.conf:
ikev2 "site2" passive esp \
from 10.3.3.1 to 10.2.2.100 \
from 10.3.3.0/24 to 10.1.1.0/24 \
peer any local any \
srcid iked.example.com dstid vyatta.example.com \
#ikesa auth hmac-sha2-256 enc aes-256-ctr group modp2048 \
childsa auth hmac-sha2-512 enc aes-256-ctr group modp2048 \
tag "$name-$id"
Мой ipsec.conf (strongswan):
conn site1
keyexchange=ikev2
dpddelay=5s
dpdtimeout=60s
dpdaction=restart
left=%defaultroute
leftcert=vyatta.crt.pem
leftsubnet=10.1.1.0/24,10.2.2.100
leftfirewall=yes
leftid="vyatta.example.com"
right=10.3.3.1
rightsubnet=10.3.3.0/24
rightid="iked.example.com"
auto=start
Но когда я добавляю эти два маршрута на свой шлюз iked, все работает:
route add -inet 10.2.2.100 -llinfo -link -static -iface vmx1
route add -inet 10.1.1.0/24 10.2.2.100
кроме одного. Когда я сделал комбинацию перенаправления rdr-to и nat-to из своего фильтра пакетов, это не сработало. Пакет правильно перенаправлен на сервер в подсети 10.1.1.0/24, и src ip имеет natted (snat - 10.3.3.1). Я заметил, что openbsd не пересылает, потому что он запрашивает адрес arp для 10.2.2.100, чего я не понимаю. Поэтому я понятия не имею, почему пакет не инкапсулирован в туннель, я ничего не вижу, когда выполняю "tcpdump enc0".
Итак, у меня два вопроса:
Этому вопросу несколько месяцев, так что вы, вероятно, уже давно поняли свою проблему. И это, скорее всего, не отвечает на ваш вопрос. Но я заметил, что вы закомментировали ikesa
вариант в вашем iked.conf
файл. Я только что узнал (на собственном опыте), что все, что следует за комментарием, не будет оцениваться. Итак, если вы используете pf
сослаться на ваш $name-$id
тег, он не будет правильно оцениваться, потому что iked
никогда не интерпретирует этот вариант. То же самое для твоего childsa
, если это важно для вашей настройки.