ipsec problemas de configuração no Ubuntu. Erros no encaminhamento de IP "autorização de conexão do cliente Android

3

Estou tentando criar uma VPN L2TP / IPSec PSK do meu celular Android para o meu servidor Ubuntu na minha rede doméstica.

Estou recebendo dois erros. o primeiro é uma falha ao verificar o encaminhamento de IP quando executo o ipsec verify.

"Two or more interfaces found, checking IP forwarding            [FAILED]"

O segundo erro ocorre quando tento conectar-me ao ipsec no meu telefone Android. No auth.log, recebo este erro;

Aug  7 19:47:57 ubuntu pluto[5019]: packet from 70.192.193.159:13305: initial Main Mode message received on 192.168.10.104:500 but no connection has been authorized with policy=PSK

Regarding IP forwarding, yes I've added "net.ipv4.ip_forward=1" into sysctl.conf and ran "sysctl -p /etc/sysctl.conf"

A partir da minha pesquisa, os pensamentos comuns são de que esses problemas são causados por uma configuração incorreta em ipsec.conf e / ou ipsec.secrets.

Estou pensando que o problema tem a ver com a diferença sutil quando em uma rede nativa. Primeiro eu tenho um modem a cabo Comcast no modo bridge. Em seguida, tenho um roteador Linksys com fio / sem fio que usa DHCP para recuperar meu endereço IP público, 70.192.193.70. Meu servidor Ubuntu recupera seu endereço IP natted DHCP, e todos do meu roteador Linksys, 192.168.10.104. Meu roteador Linksys é o gateway padrão, 192.168.10.1.

Eu espero que alguém leia isso e diga "bobo" Chris, você não consegue ver que você tem que configurar esses arquivos assim .. LOL! Esta leitura que eu fiz todos usa exemplos de endereços IP como a.b.c.d e e.f.g.h. Eu dei a você endereços IP reais para tornar tudo menos confuso. Com tudo o que está abaixo são os meus arquivos atualmente.

/etc/ipsec.secrets
192.168.10.104 %any: PSK "myPSKpassword"
/etc/ipsec.conf
config setup
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24
    # virtual_private=%v4:192.168.10.0/24
    #contains the networks that are allowed as subnet= for the remote client. In other words, the address ranges that may live behind a NAT router through which a client connects.
    oe=off
    protostack=netkey

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
    # Apple iOS doesn't send delete notify so we need dead peer detection
    # to detect vanishing clients
    dpddelay=30
    dpdtimeout=120
    dpdaction=clear
    # Set ikelifetime and keylife to same defaults windows has
    ikelifetime=8h
    keylife=1h
    type=transport
    # Replace IP address with your local IP (private, behind NAT IP is okay as well)
    #left=x.x.x.x
    left=192.168.10.104
    # For updated Windows 2000/XP clients,
    # to support old clients as well, use leftprotoport=17/%any
    leftprotoport=17/%any
    right=%any
    rightprotoport=17/%any
    #force all to be nat'ed. because of iOS
    forceencaps=yes

Eu estou tão preso ... Qualquer e todo conselho é muito bem vindo!

    
por Chris Boyd 08.08.2014 / 02:16

2 respostas

2

Veja como corrigi-lo:

1.

echo 0 > /proc/sys/net/ipv4/ip_forward

2.

ipsec verify

3.

echo 1 > /proc/sys/net/ipv4/ip_forward

Então deve funcionar.

Espero que eu possa ajudar: P

    
por 14.10.2014 / 16:59
1

Uma das coisas que notei é um erro em /etc/ipsec.secrets . Minha configuração é a seguinte:

<outside  world>
       |
       V
    public ip
       |
       V
     router (private IP 10.0.100.1)
       |
       V
    10.0.1.1 (ubuntu IP)

Meu /etc/ipsec.secrets é assim:

10.0.1.1   %any:  PSK "whateverpassword"

Meu /etc/ipsec.conf é assim:

<code>
version 2.0
config setup
        dumpdir=/var/run/pluto/
        nat_traversal=yes
        virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:!10.0.151.0/24
        oe=off
        protostack=netkey
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
        dpddelay=30
        dpdtimeout=120
        dpdaction=clear
        ikelifetime=8h
        keylife=1h
        type=transport
        left=10.0.1.1
        leftnexthop=10.0.1.1
        leftprotoport=17/%any
        right=%any
        rightprotoport=17/%any
        forceencaps=yes
</code>

Como você pode ver, em ambos os arquivos, o endereço IP do servidor VPN é usado, não o endereço IP do roteador.

10.0.151.0/24 é a sub-rede que eu uso para VPN. Minha máquina Ubuntu tem o endereço 10.0.151.0 , o primeiro cliente a se conectar obtém o endereço 10.0.151.1 atribuído e assim por diante.

Espero que isso ajude. Além disso, limpe sua postagem com blocos de código, porque seus arquivos de configuração são ilegíveis.

    
por 08.08.2014 / 13:38