Openiked - Невозможно выполнить пинг удаленного шлюза

Openiked - Невозможно выполнить пинг удаленного шлюза

Я настроил туннель 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, если это важно для вашей настройки.

Связанный контент