Назад | Перейти на главную страницу

Не удается подключиться к удаленной системе по ssh после включения IPSec

Я создал две виртуальные машины поверх базовой ОС и включил IPSec между двумя виртуальными машинами. Теперь проблема в том, что как только IPsec запускается и между двумя виртуальными машинами устанавливается SA, я не могу выполнить ping или ssh для виртуальной машины через базовую ОС, но виртуальные машины могут проверять связь друг с другом. Насколько мне известно, IPsec создает туннель только между указанными IP-адресами, то есть пакеты, предназначенные для IP B с IP A, шифруются, а все остальные пакеты с IP A могут проходить без шифрования. Я что-то упустил? Используемый файл конфигурации:

conn example  
        left=192.168.54.220  
        leftcert=CA_Server  
        leftsubnet=192.168.54.1/24  
        leftsendcert=always  
        leftrsasigkey=%cert  
        right=192.168.54.221  
        rightca=%same  
        rightrsasigkey=%cert  
        rightsubnet=192.168.54.1/24  
        rightcert=CA_Client  
        authby=rsasig  
        ikev2=permit  
        auto=start  

IPsec создает туннель только между указанными IP-адресами, т. Е. Пакеты, предназначенные для IP B с IP A, шифруются, а все остальные пакеты с IP A могут проходить без шифрования. Я что-то упустил?

Да. IPSec создает туннель между двумя указанными конечные точки, left и right. Но трафик, который использует этот туннель, то есть трафик, который зашифрован, находится между двумя указанными сети, leftsubnet и rightsubnet. В вашем случае две маршрутизируемые подсети совпадают друг с другом, что не сработает.

Если вы хотите, чтобы трафик из A в B был зашифрован в A и расшифрован в B, и наоборот, вы сообщаете S / WAN, установив leftsubnet быть leftадрес, в вашем случае 192.168.54.220/32 (важна маска), и установив rightsubnet быть rightадрес, в вашем случае 192.168.54.221/32.

Насколько мне известно, IPsec создает туннель только между указанными IP-адресами, то есть пакеты, предназначенные для IP B с IP A, шифруются, а все остальные пакеты с IP A могут проходить без шифрования. Я что-то упустил?

Нет! В этом суть вашего текущего варианта использования.

Я вижу ключи подсети, но это одна и та же подсеть. Я не смотрел исходный код, поэтому не могу однозначно сказать, что проблема ... но я думаю, что проблема. Если не маршрутизация или использование nat, вам понадобится транспортный режим. Вот конфигурация точка-точка, которую я использовал пару недель назад:

conn transportModeFirewallToPhoneServer
        authby="psk"
        auto="start"
        compress="no"
        ecn="no"
        esp="aes128-md5"
        ike="aes256-md5-modp1536"
        ikelifetime="7800"
        keyexchange="ike"
        keylife="3600"
        left="hq.myDynDNSDomainToMyOffice.com"
        leftid="hq.myDynDNSDomainToMyOffice.com"
        leftupdown="/usr/libexec/ipsec/updown classic"
        pfs="yes"
        pfsgroup="modp1536"
        pmtu_discovery="no"
        rekeymargin="540"
        right="XXX.XXX.XXX.XXX"
        rightid="XXX.XXX.XXX.XXX"
        type="transport"

Биты импорта - это левый *, правый * и тип. Ваша конфигурация выглядит прекрасно, если не считать этих ключей. Кроме того, вы сказали, что он уже устанавливает VPN, поэтому ясно, что у вас есть правильные ike и auth.