如何在CyanogenMod 7上设置OpenVPN?


18

当我不在网吧时,我想通过我家的ISP连接路由所有网络流量,以免被窃听或鞭打

我有一个带有CyanogenMod 7的HTC G2 ,它内置了OpenVPN客户端支持

在此处输入图片说明

在家里,我有一个带有TomatoVPN的路由器,其中包括一个OpenVPN服务器:

在此处输入图片说明

现在,如何使电话客户端连接到路由器服务器?我可以在Google上找到一组看似相关的说明,但是它们并不是很有帮助:

您需要打包证书和密钥并将其放入SD卡

我在哪里买的?

将client.p12复制到sdcard根目录

我在哪里得到的?

添加您的证书,并相应地设置接口类型和协议。

具体如何?哪些设置应该是什么?由于不安全感,使用不保护我的设置要比根本不保护更糟糕。

我正在寻找有关“ roadwarrior”设置的逐步说明,该设置可通过VPN路由所有流量。

我在哪里获得钥匙?我是否需要使用其他用户名/密码身份验证?什么DNS搜索域?我应该在CM7的OpenVPN Advanced菜单中使用哪些设置?需要设置“重定向网关”以路由所有流量,例如,对吗?TomatoVPN中基本和高级的哪些设置?“直接客户重定向Internet流量”?“响应DNS”?

更新:

我自己再次尝试了一次,但还是失败了。我认为无法在路由器或电话上生成任何密钥,因此我尝试在Ubuntu中生成密钥。我试图按照这些指示来生成密钥,但是它们是不正确的。(例如,该文件夹/usr/share/doc/openvpn/examples/easy-rsa/2.0不是/usr/share/doc/openvpn-2.0/easy-rsa,并且有一个vars,但没有init-config脚本。)我发现了这些指示这些指示更有用,并生成了许多文件:

  • 01.pem
  • 02.pem
  • 证书
  • 密钥
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • server.crt
  • server.csr
  • 服务器密钥
  • ta.key

我复制到路由器的文件是

  • 证书
  • server.crt
  • 服务器密钥
  • dh1024.pem

-----BEGIN根据这些说明,首先要剥离所有东西。路由器服务器现在启动,并说

名称值最大bcast / mcast队列长度0

在状态下。所以我猜服务器在工作吗?

然后我将这些文件复制到手机中:

  • 证书
  • htc_g2.crt
  • htc_g2.key
  • server.crt
  • ta.key

不同的方向不同意要复制哪些文件。然后我转到设置→位置和安全性→从SD卡安装,并且能够安装CA证书,添加密码等。尝试添加htc_g2或服务器证书不起作用,说“没有要安装的证书”。我编辑了文件并删除之前的所有内容-----BEGIN,然后安装了它们。在“添加OpenVPN VPN”中,我为“设置CA证书”选择了“ ca”证书,为“设置用户证书”选择了htc_g2证书。当我尝试连接时,它说“无法连接到网络”。如果尝试使用服务器证书作为用户证书,则相同。


您的家用计算机上正在运行什么操作系统?
newuser

@JonnyP:家用计算机是Ubuntu,但我宁愿使用路由器而不是计算机。
endlith 2011年

1
在此阶段,我建议您尝试首先使OpenVPN设置与常规的OpenVPN桌面客户端一起使用,然后将相同的设置复制到手机中。
onik 2011年

我不敢相信没有人知道如何做到这一点。如果没有人使用过该选项,为什么会存在呢?
endlith 2011年

我有一个朋友在CM 6上进行了设置。他发现CM客户端需要设置某些字段后,必须重新颁发所有VPN证书。我看看是否可以从他那里得到更多信息。
Broam

Answers:


1

首先,检查KeysTomatoVPN中的选项卡以查看是否已经定义了一些默认密钥。如果没有,请查看OpenVPN HOWTO以获取有关如何生成密钥的信息。接下来,将前两个密钥(CA和Server证书)从文本区域复制到文本编辑器,然后将其保存为.cer后缀,然后将其传输到手机。CM7应该能够.cer直接导入证书,但是较旧的版本可能需要使用.p12文件(有关如何转换的信息,请参阅链接.crt -> .pem ->.p12)。此后,转到Settings -> Security -> Install from SD Card将证书加载到手机。


该链接有14,000个单词。您能直接指出我的相关部分吗?如果我想将电话以外的其他计算机连接到路由器,密钥生成会有所不同吗?我为这个问题添加了更多细节。
endlith 2011年

1
普通客户端也使用相同的密钥。我没有TomatoVPN的经验,但是您应该至少可以设置几个不同的客户端密钥。同样,可以在不同的设备上同时使用相同的密钥,但这取决于OpenVPN设置。在标题“设置您自己的证书颁发机构(CA)并为OpenVPN服务器和多个客户端生成证书和密钥”下描述了密钥的创建。如果您使用密钥并确保其安全,在通常情况下无需用户/通过身份验证。重定向网关应该是唯一的...
onik 2011年

...您需要更改CM7设置。
onik 2011年

否决的理由?
onik 2011年

1

好的,让我们澄清一下问题。

您能解释一下哪个文件适合吗?例如,“ ta.key”的作用是什么?

通常,服务器端有文件列表:

  1. server.conf(服务器的配置,似乎您没有此文件?)
  2. 证书
  3. 密钥
  4. dh1024.pem

并且服务器还应包含一组客户端密钥。

对于客户端,它应该具有:

  1. client.crt
  2. 客户密钥
  3. 证书
  4. client.ovpn(或client.conf)

我看不到你为什么有ta.key?

有关如何创建p12文件的信息,请按以下说明进行操作:

打开Linux终端(注意:您应该已经预安装了OpenSSL),输入

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

(您应该用方括号替换内容,而无需保留任何方括号。)

然后将生成名为certs.p12的p12文件。

希望它会有所帮助。


我不知道ta.key是什么。服务器似乎运行正常。我只是不知道该如何连接。 /tmp/etc/openvpn/server1其中包含以下文件:ca.crt config.ovpn dh.pem server.crt server.key status。也许config.ovpn是一样的server.conf
endlith 2011年

@endolith是的,config.ovpn与sever.conf相同。在启动OpenVPN之前,您可能需要编辑config.ovpn。
dumbfingers 2011年

@endolith是否要从CM7 Android手机或其他地方连接到OpenVPN?
dumbfingers 2011年

路由器正在运行OpenVPN服务器,我想用CM7手机连接到它。
endlith 2011年

@endolith首先,使用我提供的命令生成p12文件,然后将其复制到手机的SD卡中。在“电话”菜单上执行以下操作:设置-无线和网络-VPN设置-添加VPN,然后选择OpenVPN添加VPN,并填写以下选项:[VPN名称]任意输入[设置VPN服务器]填写IP地址,与如果您使用用户名/密码,请在client.ovpn [用户认证]中输入“远程”。[设置CA证书]触摸并导入ca证书[设置用户证书]触摸并导入用户证书(client.crt)您可能需要检查高级选项。就这样。
dumbfingers 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.