web-dev-qa-db-ja.com

Ubuntuでのipsec構成の問題。 AndroidクライアントからのIP転送のエラー」接続認証

Android電話からホームネットワーク上のUbuntuサーバーへのL2TP/IPsec PSKVPNを作成しようとしています。

2つのエラーが発生します。 1つ目は、ipsecverifyを実行したときのIP転送のチェックの失敗です。

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

2番目のエラーは、Android電話からipsecに接続しようとすると発生します。auth.logで、このエラーが発生します。

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"

私の調査によると、これらの問題はipsec.confやipsec.secretsの設定ミスが原因であるというのが一般的な考えです。

問題は、nattedネットワーク上での微妙な違いに関係していると思います。まず、ブリッジモードのComcastケーブルモデムがあります。次に、DHCPを使用してパブリックIPアドレス70.192.193.70を取得するLinksys有線/無線ルーターがあります。私のUbuntuサーバーは、予約済みのDHCP nattedIPアドレスなどをLinksysルーター192.168.10.104から取得します。私のLinksysルーターはデフォルトゲートウェイ192.168.10.1です。

誰かがこれを読んで、ばかげたクリスがあなたがこれらのファイルをこのように構成しなければならないのを見ることができないと言うことを願っています..LOL!。私が行ったこの読み取りはすべて、a.b.c.dやe.f.g.hなどのIP {アドレスの例を使用しています。すべてを混乱させないように、実際のIPアドレスを提供しました。以下は私のファイルが現在どのように見えるかです。

/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

私はとても立ち往生しています..どんなアドバイスも大歓迎です!

3
Chris Boyd

これが私がそれを修正した方法です:

1.1。

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

2.2。

ipsec verify

3.3。

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

その後、それは動作するはずです。

私が助けることができることを願っています:P

2
RootedMaster

私が気づいたことの1つは、/etc/ipsec.secretsのエラーです。私の構成は次のとおりです。

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

私の/etc/ipsec.secretsは次のようになります:

10.0.1.1   %any:  PSK "whateverpassword"

私の/etc/ipsec.confは次のようになります:

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

ご覧のとおり、両方のファイルで、ルーターのIPアドレスではなく、VPNサーバーのIPアドレスが使用されています。

10.0.151.0/24は、VPNに使用するサブネットです。私のUbuntuマシンには10.0.151.0アドレスがあり、最初に接続したクライアントは10.0.151.1アドレスが割り当てられます。

お役に立てれば。また、設定ファイルが読み取れないため、コードブロックを使用して投稿をクリーンアップしてください。

1