web-dev-qa-db-ja.com

トンネルは稼働していますが、pingを実行できません

問題を理解して解決する必要があります。 openswanが機能することを知っています。ホームネットワークから10.0.0.97の内部IPアドレスを使用してVPNに接続すると、pingを実行できますが、パブリックxFinity wifiを使用すると、トンネルが稼働していることを示していますが、できません。 VPNの内部ホストにpingを実行します。

パブリックXfinity wifiに正常に接続すると、私のIPは次のよ​​うになります。

inet addr:10.232.204.146  Bcast:10.255.255.255  Mask:255.224.0.0

これがルート-nです

root@ubuntu:/etc# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref      Use Iface
0.0.0.0         10.224.0.1      0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         10.224.0.1      0.0.0.0         UG    0      0        0 wlan0
10.224.0.0      0.0.0.0         255.224.0.0     U     9      0        0 wlan0

この時点で、pingを実行してインターネットを正常に閲覧できます。

Ipsec/openswanを起動したとき。わかった。

root@ubuntu:/etc# /etc/init.d/ipsec status
IPsec running  - pluto pid: 4483
pluto pid 4483
1 tunnels up

しかし、192.168.1.xxxのIPを持つ内部サーバーにpingすることはできません。

これが私のipsec.confです

    config setup

    dumpdir=/var/run/pluto/
    #
    # NAT-TRAVERSAL support, see README.NAT-Traversal
    #        nat_traversal=yes
    # exclude networks used on server side by adding %v4:!a.b.c.0/24
    # It seems that T-Mobile in the US and Rogers/Fido in Canada are
    # using 25/8 as "private" address space on their 3G network.
    # This range has not been announced via BGP (at least upto 2010-12-21)
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.1.0/24,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v6:fd00::/8,%v6:fe80::/10
    # OE is now off by default. Uncomment and change to on, to enable.
    oe=off
    # which IPsec stack to use. auto will try netkey, then klips then mast
    #protostack=netkey
    # Use this to log to a file, or disable logging on embedded systems (like openwrt)
    plutostderrlog=/var/log/pluto
    plutodebug="all"
    protostack=netkey

    conn work
    authby=secret
    auto=start
    type=tunnel
    left=10.232.204.146
    leftsubnet=10.0.0.0/8
    right=99.xx.xx.xx
    rightsubnet=192.168.1.0/24
    ike=aes256-sha1,aes128-sha1,3des-sha1
    leftxauthusername=xxxxx

これが私のipsec.secretsです

@massivedude : XAUTH  "password"
10.232.204.146   vpnserver-01   : PSK "YouWillNeverKnow"

ちなみに、トンネルが稼働していて、内部ホストにpingできない場合でも、yahoo.comとgoogle.comにpingできます

任意の助けをいただければ幸いです。

2
BioRod

Comcastはネットワーク全体(ここでは10.0.0.0/8アドレス)にNAT)を使用するため、Comcastを使用する場合は、この接続でnat_traversalを有効にする必要があります。

これは、IPSECパケットにパケット全体のハッシュが含まれているためです送信元アドレスを含む。ただし、NATは、送信元アドレスを10.232.204.146から不明なパブリックIPに変更するため、ハッシュはパケットと一致しなくなり、もう一方の端はパケットを破棄します。改ざんされている(同様に、もう一方の端からのパケットは、宛先アドレスがパブリックIPから10.232.204.146に変更され、破棄される)。

NATトラバーサルは、パケットの送信方法を変更します。パケットを直接送信する代わりに、暗号化されたパケットは、ハッシュされない通常のUDPパケット内にラップされます。 NATは、UDPパケットのIPアドレスを変更して、必要な場所に確実に到達できるようにしますが、元の暗号化されたパケットは変更されず、引き続き検証できます。

このようなパケットのラップには追加のオーバーヘッドがあると思うので、必要な場合にのみオンにすることをお勧めします。

2
DerfK