Я настроил туннель ipsec с strongswan и openiked с 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».
Итак, у меня два вопроса:
- Почему мой шлюз iked не может пинговать шлюз vyatta без маршрута? Что-то отсутствует в моем файле конфигурации (iked.conf)?
- Почему openbsd сделал запрос ARP вместо того, чтобы перенаправить пакет в enc0?
решение1
Этому вопросу несколько месяцев, так что вы, вероятно, уже давно разобрались в своей проблеме. И это, скорее всего, не ответ на ваш вопрос, в любом случае. Но я заметил, что вы закомментировали опцию ikesa
в своем iked.conf
файле. Я только что узнал (трудным путем), что все, что следует за комментарием, не будет оценено. Так что если вы используете pf
для ссылки на свой $name-$id
тег, он не будет оценен правильно, потому что iked
никогда не интерпретирует эту опцию. То же самое и для вашего childsa
, если это важно для вашей настройки.