IPsec / L2TP VPN com cliente OSX: xl2tpd relata “máximo de tentativas excedido”

2

Estou seguindo este guia para obter um servidor VPN IPsec / L2TP configurado em uma máquina Gentoo, e estou tendo problemas para conectar um cliente do OS X. Nos logs, acredito que estou fazendo uma conexão IPsec OK, mas o xl2tpd está se recusando a ir mais longe no processo de conexão. Minha configuração (nomes alterados):

  • O servidor inicial está diretamente conectado à Internet - sem NAT - em example.com
    • vpn.example.com é um alias para example.com
    • Ambos os endereços são fornecidos por meio de um serviço DNS dinâmico - o IP de example.com não é fixo
    • A sub-rede interna do servidor inicial é 192.168.1.0/24
  • O cliente OS X é executado 10.5.6 e possui um IP dinâmico (é um "roadwarrior")

Meus arquivos de configuração são os seguintes:

ipsec.conf

version 2.0

config setup
        nat_traversal=no
        nhelpers=0

include /etc/ipsec/ipsec.d/examples/no_oe.conf

conn L2TP-PSK-NAT
        rightsubnet=vhost:%priv
        also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
        authby=secret
        pfs=no
        auto=add
        keyingtries=3
        rekey=no
        type=transport
        left=%defaultroute
        leftprotoport=17/1701
        right=%any
        # Using the magic port of "0" means "any one single port". This is
        # a work around required for Apple OSX clients that use a randomly
        # high port, but propose "0" instead of their port.
        rightprotoport=17/0

ipsec.secrets

: PSK "testkey"

xl2tpd.conf

[global]
port = 1701
access control = no
debug avp = yes
debug network = yes
debug state = yes
debug tunnel = yes

[lns default]
ip range = 172.21.118.2-172.21.118.254
local ip = 172.21.118.1
require chap = yes
refuse pap = yes
name = LinuxVPN
pppoptfile = /etc/ppp/options.xl2tpd
ppp debug = yes
length bit = yes

options.xl2tpd

ipcp-accept-local
ipcp-accept-remote
ms-dns  192.168.1.27
noccp
noauth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
silent

E as entradas de registro:

*snip*
Sep 05 13:40:32 [pluto] "L2TP-PSK-noNAT"[14] 137.112.114.88 #28: STATE_QUICK_R2: IPsec SA established {ESP=>0x0cb56f8c <0x319c29ff xfrm=AES_128-HMAC_SHA1 NATD=none DPD=none}
Sep 05 13:40:39 [xl2tpd] Maximum retries exceeded for tunnel 23214.  Closing._
Sep 05 13:40:46 [xl2tpd] Connection 70 closed to 137.112.114.88, port 63835 (Timeout)_
*snip*

Por que o xl2tpd não aceita a conexão? Eu não consigo nem encontrar os arquivos de log xl2tpd relevantes para continuar a depuração - tudo que eu obtenho são aquelas duas linhas no syslog.

    
por Tim 05.09.2010 / 20:43

1 resposta

4

Descobri isso. Não sou especialista, então não sei por que isso funciona, mas consegui uma conexão adicionando as seguintes linhas à seção conn L2TP-PSK-noNAT do ipsec.conf:

leftnexthop=%defaultroute
rightnexthop=%defaultroute
    
por 05.09.2010 / 23:39