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

StrongSwan ipsec ubuntu «игнорирование информационных данных, тип NO_PROPOSAL_CHOSEN»

У меня StrongSwan работает на сервере ubuntu, и я пытаюсь создать VPN-туннель с шифрованием ipsec с маршрутизатором Cisco 2821. Соединение не работает, и я не могу понять почему. Кажется, что этап 1 завершен, но на этапе 2 не удается. Может ли кто-нибудь дать предложения? Я в тупике. Кстати, мой сервер находится в облаке Amazon.

Вот мой конфиг:

conn my-conn
        type=tunnel
        authby=secret
        auth=esp
        ikelifetime=86400s
        keylife=3600s
        esp=3des-sha1
        ike=3des-sha1-modp1024
        keyexchange=ike
        pfs=no
        forceencaps=yes
        # Left security gateway, subnet behind it, nexthop toward right.
        left=10.0.0.4
        leftsubnet=10.0.0.4/32
        leftnexthop=%defaultroute
        # Right security gateway, subnet behind it, nexthop toward left.
        right=1.2.3.4   
        rightsubnet=1.2.3.5/32
        rightnexthop=%defaultroute
        # To authorize this connection, but not actually start it,
        # at startup, uncomment this.
        auto=start

Вот результат логов:

Dec 28 18:02:19 myserver pluto[15753]: "my-conn" #330: initiating Main Mode
Dec 28 18:02:19 myserver pluto[15753]: "my-conn" #330: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03]
Dec 28 18:02:19 myserver pluto[15753]: "my-conn" #330: enabling possible NAT-traversal with method RFC 3947
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring Vendor ID payload [Cisco-Unity]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: received Vendor ID payload [Dead Peer Detection]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring Vendor ID payload [883f3a4fb4782a3ae88bf05cdfe38ae0]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: received Vendor ID payload [XAUTH]
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: i am NATed
Dec 28 18:02:20 myserver pluto[15753]: | protocol/port in Phase 1 ID Payload is 17/0. accepted with port_floating NAT-T
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: Peer ID is ID_IPV4_ADDR: '1.2.3.4'
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ISAKMP SA established
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #331: initiating Quick Mode PSK+ENCRYPT+TUNNEL+UP {using isakmp#330}
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring informational payload, type NO_PROPOSAL_CHOSEN
Dec 28 18:02:20 myserver pluto[15753]: "my-conn" #330: ignoring informational payload, type IPSEC_RESPONDER_LIFETIME

Конфигурация, предоставленная мне для подключения к маршрутизатору cisco, была следующей:

Key Management: IKE 
Diffie-Hellman Group:   Group 2 
Encryption Algorithm:   3DES (rec)  
Hash Algorithm: SHA-1 (rec.)    
Authentication Method:  Preshared   
Pre-Shared Secret Key:  TBC 
Life Time:  86400s (24h)    

Encryption Phase 2 (IPSec):     

Encapsulation:  ESP 
Encryption Algorithm used:  3DES (rec)  
Hash Algorithm: SHA-1 (rec.)    
Perfect Forward Secrecy:    Groupe 2    
Aggressive Mode:    NO  
Life Time:  3600s (1h)  

Если я правильно помню, Amazon EC2 использует некоторый NAT, чтобы сделать ваш экземпляр доступным из Интернета.

Хотя совместимые с NAT приложения будут работать без проблем (например, http или ssh), некоторые протоколы были разработаны в то время, когда сквозная связь была правилом, и NAT нарушит эти протоколы.

FTP или SIP (на самом деле rtp) используют динамически выбираемые порты, но были разработаны помощники. Например, STUN для VoIP.

В случае IPSec этап 1 успешен. Это обнаружение NAT. Итак, ваш сервер говорит в журналах i am NATed.

Однако этап 2, который представляет собой решение об обходе NAT, не выполняется. Возможно, вам придется включить то, что Cisco называет «прозрачностью IPSec NAT» с обеих сторон. Таким образом, полезная нагрузка ipsec находится не на уровне 3 (IP), а на уровне 4 в UDP.

Это несколько похоже на то, что делает openvpn, но с ssl вместо IPSec.

Посмотри на Сайт Cisco о прохождении NAT. Несмотря на то, что он ориентирован на Cisco, он поможет вам настроить туннель.

Я получил эту ошибку с StrongSwan 5.6.1 в Centos 7 при подключении к серверу Windows. Ошибка связана с удаленный сервер с использованием слабых шифров которые считаются устарело StrongSwan.

  • Включение следующих слабые шифры позволяет ipsec подключение для завершения:

    • Алгоритмы фазы 1: aes128-sha1-modp2048,3des-sha1-modp1536,3des-sha1-modp1024
    • Алгоритмы Phase2: aes128-sha1,3des-sha1

увидеть известные проблемы для network-manager-l2tp


Я нашел Arch Linux L2TP вики полезно и инструкции, хотя для OpenSwan также работаю на StrongSwan:

  • Бегать ipsec verify сначала настроить вашу среду.

  • Бегать xl2tpd -D (режим отладки) - чтобы убедиться, что ваши настройки вменяемы.

  • Дайте VPN то же имя в Аплет NetworkManager что вы даете conn установка в /etc/ipsec.conf

  • В network-manager-l2tp плагин, кажется, устанавливает соответствие L2TP подключение через lns IP-адрес в /etc/xl2tpd/xl2tpd.conf. Имя, которое вы даете [lac vpn-name] настройка не имеет значения для плагина.

  • Эти примечания также относятся к настройке L2TP с участием ipsec под Arch Linux. Использовать Libreswan (Strongswan ipsec не работает в Arch Linux) с network-manager-l2tp плагин и разместите свой ipsec детали подключения под /etc/ipsec.d/*.conf. Имя файла может быть любым, поскольку плагин ищет conn строка в файлах конфигурации, которая соответствует Имя VPN в Сетевой менеджер.