Problèmes de configuration ipsec sur Ubuntu. Erreurs sur le transfert IP "autorisation de connexion du client Android

3

J'essaie de créer un VPN PSK L2TP / IPSec de mon téléphone Android vers mon serveur Ubuntu sur mon réseau domestique.

Je reçois deux erreurs. le premier est un échec lors de la vérification du transfert IP lorsque je lance la vérification ipsec.

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

La deuxième erreur se produit lorsque je tente de me connecter à ipsec à partir de mon téléphone Android. Dans l'auth.log, j'obtiens cette erreur;

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"

D'après mes recherches, je pense que ces problèmes sont dus à une mauvaise configuration dans ipsec.conf et / ou ipsec.secrets.

Je pense que le problème a à voir avec la différence subtile quand sur un réseau sans fil. J'ai d'abord un modem câble Comcast en mode pont. Ensuite, j'ai un routeur filaire / sans fil Linksys qui utilise DHCP pour récupérer mon adresse IP publique, 70.192.193.70. Mon serveur Ubuntu récupère son adresse IP réservée DHCP, et autres de mon routeur Linksys, 192.168.10.104. Mon routeur Linksys est la passerelle par défaut, 192.168.10.1.

J'espère que quelqu'un va lire ceci et dire que Chris ne peut pas être idiot, vous ne pouvez pas voir que vous devez configurer ces fichiers de cette façon ... LOL !. Cette lecture que j'ai faite utilise tous des exemples d'adresses IP {comme abcd et efgh je vous ai donné les adresses IP réelles pour que tout soit moins déroutant. Voici à quoi ressemblent actuellement mes fichiers.

/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

Je suis tellement coincé .. Tous les conseils sont les bienvenus!

Chris Boyd
la source

Réponses:

2

Voici comment je l'ai corrigé:

1.

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

2

ipsec verify

3

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

Alors ça devrait marcher.

J'espère que je pourrais aider: P

RootedMaster
la source
Cela m'a permis de me débarrasser de mon problème "Deux ou plusieurs interfaces trouvées".
Kevin Li
1

Une des choses que j'ai remarquées est une erreur dans /etc/ipsec.secrets. Ma configuration est la suivante:

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

Mon /etc/ipsec.secretsressemble à ceci:

10.0.1.1   %any:  PSK "whateverpassword"

Mon /etc/ipsec.confressemble à ceci:

<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>

Comme vous pouvez le constater, l'adresse IP du serveur VPN est utilisée dans les deux fichiers, pas l'adresse IP du routeur.

10.0.151.0/24est le sous-réseau que j'utilise pour VPN. Mon 10.0.151.0ordinateur Ubuntu a l' adresse, le premier client à se connecter reçoit l' 10.0.151.1adresse assignée, etc.

J'espère que cela t'aides. Aussi, veuillez nettoyer votre publication avec des blocs de code, car vos fichiers de configuration sont illisibles.

Luc van Donkersgoed
la source
J'ai fait ce petit changement et cela a fonctionné!
Kevin Li
@LucvanDonkersgoed Oui, cette suggestion m'a aussi aidé. Je vous remercie.
Dustin Oprea