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

Я установил туннель 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). 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). 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
задан 23 February 2018 в 20:54
1 ответ

Этому вопросу несколько месяцев назад, так что вы, вероятно, уже давно выяснили свою проблему. И это, скорее всего, все равно не ответит на ваш вопрос. Но я заметил, что вы закомментировали параметр ikesa в своем файле iked.conf . Я только что узнал (на собственном опыте), что все, что следует за комментарием, не будет оцениваться. Поэтому, если вы используете pf для ссылки на ваш тег $ name- $ id , он не будет правильно оцениваться, потому что iked никогда не интерпретирует этот параметр. . То же самое для вашего childsa , если это важно для вашей установки.

2
ответ дан 3 December 2019 в 20:16

Теги

Похожие вопросы