IPSec over L2TP: notificou o erro NO_PROPOSAL_CHOSEN

2

Ambiente:

# uname -a
Linux shrimpwagon 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux

Eu já instalei:

# apt-get install strongswan xl2tpd

Estou tentando me conectar a uma VPN Meraki. Falei com um técnico da Meraki e ele disse que parece que não está autenticando, mas não me deu muito mais detalhes:

# ipsec up L2TP-PSK
generating QUICK_MODE request 2711688330 [ HASH SA No ID ID NAT-OA NAT-OA ]
sending packet: from 10.0.0.4[4500] to 50.123.152.194[4500] (252 bytes)
received packet: from 50.123.152.194[4500] to 10.0.0.4[4500] (68 bytes)
parsed INFORMATIONAL_V1 request 2555305796 [ HASH N(NO_PROP) ]
received NO_PROPOSAL_CHOSEN error notify
establishing connection 'L2TP-PSK' failed

ipsec.conf:

config setup
    virtual_private=%v4:10.0.0.0/8
#   nat_traversal=yes
    protostack=auto
    oe=off
    plutoopts="--interface=eth0"

conn L2TP-PSK
    keyexchange=ikev1
    ike=aes128-sha1-modp1024,3des-sha1-modp1024!
    phase2=ah
    phase2alg=aes128-sha1-modp1024,3des-sha1-modp1024!
    authby=secret
    aggrmode=yes
    pfs=no
    auto=add
    keyingtries=2
#   dpddelay=30
#   dpdtimeout=120
#   dpdaction=clear
#   rekey=yes
    ikelifetime=8h
    keylife=1h
    type=transport
    left=%defaultroute
#   leftnexthop=%defaultroute
#   leftprotoport=udp/l2tp
    right=50.123.152.194
    rightsubnet=10.2.150.0/24

ipsec.secrets:

%any %any : PSK "****"

xl2tpd.conf:

[lac vpn-connection]
lns = 50.123.152.194
;refuse chap = yes
;refuse pap = no
;require authentication = yes
;name = vpn-server
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes

options.l2tpd.client:

ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
lock
connect-delay 5000
name swelch
password ****

Eu obtive a maioria das minhas instruções neste site:

link

Eu tive que colocá-lo no modo agressivo, especificar ikev1 e definir os algoritmos ike. Depois que fiz isso, pude começar a me comunicar com o MX. Mas estou recebendo esse erro agora e estou com uma perda total.

Obrigado antecipadamente!

    
por shrimpwagon 04.04.2017 / 14:02

1 resposta

3

Ao conectar-se como Meraki Client VPN, ele suporta apenas protocolos que foram removidos da lista de negociação do protocolo padrão Strongswan (porque o ataque de aniversário SWEET32 é possível contra alguns desses protocolos), portanto, você deve especificá-los explicitamente tem).

Se você instalar o ike-scan e executá-lo no "servidor" do Meraki, sudo ipsec stop; sudo service xl2tpd stop; sudo ike-scan YOUR.SERVER.IP , poderá ver qual é o protocolo padrão. Estou bastante confiante de que é 3des-sha1-modp1024 como você tem acima, embora no meu (NetworkManager) gerado ipsec.conf eu não tenho o phase2 e phase2alg linhas, mas um esp .

Aqui está o trecho da minha configuração de trabalho com os protocolos:

  keyexchange=ikev1
  ike=3des-sha1-modp1024!
  esp=3des-sha1!

Sidenote: Isso provavelmente não importa para você desde que você está usando a CLI, mas estou usando um PPA para o plugin NM para L2TP de ppa:nm-l2tp/network-manager-l2tp e na minha GUI do NetworkManager ele se refere a Phase 1 e Phase 2 , mas na configuração ipsec gerada esses mapeiam para esp e ike acima. Eu usei esta postagem no blog

    
por 24.07.2017 / 19:28