如何将 Android 4.2 VPN 连接到 OS X Server VPN (L2TP)?

如何将 Android 4.2 VPN 连接到 OS X Server VPN (L2TP)?

我有一台运行 OS X 10.8.2 的 Mac mini,其中装有应用商店中的 OS X Server 2.2.1,并且已在 Server.app 界面中使用 L2TP 设置 VPN。我已使用 Macbook 测试了此 VPN 连接,可以正常工作,但我不知道如何让 Android 的内置 VPN 正常工作。

当前设置:

  • 我已经在路由器上打开了端口 500、1701、1723 和 4500。
  • 我正在使用来自 no-ip.com 的动态 DNS,我们将其称为 hostname.no-ip.org
  • 我已经设置了一个“共享秘密”,我们会说 1234567890
  • 我在服务器上为我的 Android 手机建立了一个账户,假设用户名是“nexus”,密码是“google”

在 Macbook 上,我只需使用我在服务器上设置的 DNS、密钥和凭据,即可连接。

在我的 Android 设备(Galaxy Nexus 4.2.2)上,我使用以下设置:

  • 名称:Mac Server
  • 类型:L2TP/IPSec PSK
  • 服务器地址:hostname.no-ip.org
  • LT2TP 秘密:(未使用)
  • IPSec 标识符:(未使用)
  • IPSec 预共享密钥:1234567890

当我尝试使用这些设置进行连接时,它会提示输入用户名和密码,因此我输入了“nexus”和“google”。它停留在那里显示“正在连接...”大约 30 秒,然后它又回到“断开连接”,没有任何错误或其他消息。我也尝试将“共享密钥”放入 L2TP 密钥字段,但结果相同。

内置的 Android VPN 是否与 OS X Server 的 VPN 不兼容?还是我配置有误?

注意:我强烈希望继续使用 L2TP,而不是安全性较低的 PPTP VPN

答案1

我在 Mac OSX Leopard 10.5.8 上取得了一些成功。对于我的设置,我在 Verizon FiOS Actiontec 路由器后面有一台 Mac Mini。我使用 Android 手机进行连接。

一开始,它在内部运行良好(手机使用同一个 Wifi),但在外部连接时会失败(手机使用数据连接)。最后,它的工作方式恰恰相反。

我没有“VPN 用户”的用户帐户,因为此方法仅为连接创建了一个用户/密码。我没有“登录”到 Mac,但连接后可以与“真实用户”进行远程桌面连接。

我使用的是 2.4b 版互联网VPN配置设置,以下是一些最终结果:

转发端口 UDP 任意->1701,UDP 任意->500

Android 设置 名称:YourConnectionName(例如 Mac 服务器) 类型:L2TP/IPSec PSK 服务器地址:hostname.no-ip.org L2TP 密钥:(未使用) IPSec 标识符:(未使用) IPSec 预共享密钥:**YourSharedSecret**

连接时 用户名:auser 密码:challenge

/etc/ppp/用户.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Password</key>
        <string>challenge</string>
        <key>User</key>
        <string>auser</string>
</dict>
</plist>

/etc/ppp/chap-秘密

auser * challenge *

/资源库/首选项/系统配置/com.apple.RemoteAccessServers.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>ActiveServers</key>
        <array>
                <string>com.apple.ppp.l2tp</string>
        </array>
        <key>Servers</key>
        <dict>
                <key>com.apple.ppp.l2tp</key>
                <dict>
                        <key>DNS</key>
                        <dict>
                                <key>OfferedSearchDomains</key>
                                <array/>
                                <key>OfferedServerAddresses</key>
                                <array>
                                        <string>208.67.222.222</string>
                                        <string>208.67.220.220</string>
                                </array>
                        </dict>
                        <key>IPv4</key>
                        <dict>
                                <key>ConfigMethod</key>
                                <string>Manual</string>
                                <key>DestAddressRanges</key>
                                <array>
                                        <string>192.168.10.101</string>
                                        <string>192.168.10.200</string>
                                </array>
                                <key>OfferedRouteAddresses</key>
                                <array>
                                        <string>192.168.10.100</string>
                                </array>
                                <key>OfferedRouteMasks</key>
                                <array>
                                        <string>255.255.255.0</string>
                                </array>
                                <key>OfferedRouteTypes</key>
                                <array>
                                        <string>Private</string>
                                </array>
                        </dict>
                        <key>Interface</key>
                        <dict>
                                <key>SubType</key>
                                <string>L2TP</string>
                                <key>Type</key>
                                <string>PPP</string>
                        </dict>
                        <key>L2TP</key>
                        <dict>
                                <key>IPSecSharedSecret</key>
                                <string>**YourSharedSecret**</string>
                                <key>Transport</key>
                                <string>IPSec</string>
                        </dict>
                        <key>PPP</key>
                        <dict>
                                <key>AuthenticatorProtocol</key>
                                <array>
                                        <string>MSCHAP2</string>
                                </array>
                                <key>LCPEchoEnabled</key>
                                <integer>1</integer>
                                <key>LCPEchoFailure</key>
                                <integer>5</integer>
                                <key>LCPEchoInterval</key>
                                <integer>60</integer>
                                <key>Logfile</key>
                                <string>/var/log/ppp/vpnd.log</string>
                                <key>VerboseLogging</key>
                                <integer>1</integer>
                        </dict>
                        <key>Server</key>
                        <dict>
                                <key>Logfile</key>
                                <string>/var/log/ppp/vpnd.log</string>
                                <key>MaximumSessions</key>
                                <integer>128</integer>
                                <key>VerboseLogging</key>
                                <integer>1</integer>
                        </dict>
                </dict>
        </dict>
</dict>
</plist>

/etc/racoon/remote/anonymous.conf

remote anonymous {
   doi ipsec_doi;
   situation identity_only;
   exchange_mode main;
   verify_identifier off;
   shared_secret use "**YourSharedSecret**";
   nonce_size 16;
   nat_traversal_multi_user on;
   initial_contact on;
   support_mip6 on;
   proposal_check claim;

   proposal {
      authentication_method pre_shared_key;
      hash_algorithm sha1;
      encryption_algorithm 3des;
      lifetime time 3600 sec;
      dh_group 2;
   }
}

sainfo anonymous {
   encryption_algorithm aes, 3des;
   authentication_algorithm hmac_sha1, hmac_md5;
   compression_algorithm deflate;
   lifetime time 3600 sec;
}

您可能必须touch /var/log/ppp/vpnd.log这样做,如果您没有使用 iVPN,则看起来(从ps -ax)服务器是用 启动的vpnd -i com.apple.ppp.l2tp。更改设置和 PSK 后,我还racoonctl flush-sa ipsec

相关内容