我正在尝试通过我拥有的几个 VMS 设置 VPN。我在 ubuntu 10.04 上创建了一个 openvpn 服务器,并尝试使用 12.04 配置客户端。我按照以下说明操作https://help.ubuntu.com/10.04/serverguide/C/openvpn.html,除了对配置文件进行了一些更改。当我openvpn --config client.conf
在客户端上运行时,我得到了这个。
Sat Apr 14 15:11:26 2012 OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Mar 30 2012
Sat Apr 14 15:11:26 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sat Apr 14 15:11:26 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sat Apr 14 15:11:26 2012 Cannot load private key file /home/fpayer/keys/cerberus.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib
Sat Apr 14 15:11:26 2012 Error: private key password verification failed
Sat Apr 14 15:11:26 2012 Exiting
我已经验证了该文件是否存在,虽然我对 SSL 了解不多,但它看起来不错。在我看来,它似乎在寻找 .pem,但说明中从未提到要生成一个。我还发现很奇怪,我可以通过网络管理器连接,但无法 ping 通服务器,这可能是网络管理器的问题。我应该怎么做才能让客户端正常工作?
这是我的配置文件:
服务器:
port 1194
proto udp
dev tun0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/vpn-server.crt
key /etc/openvpn/easy-rsa/keys/vpn-server.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.1 255.255.255.0
ifconfig-pool-persist openvpn.dhcp
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 4
mute 20
;push "route 192.168.0.0 255.255.255.0"
;push "route 192.168.173.0 255.255.255.0"
;push "redirect-gateway def1"
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-to-client
; max-clients 10
客户:
client
dev tun0
proto udp
remote 192.168.1.6 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /home/fpayer/keys/ca.crt
cert /home/fpayer/keys/cerberus.crt
key /home/fpayer/keys/cerberus.crt
tls-auth /home/fpayer/keys/ta.key 1
verb 3
如果您能在配置文件中发现任何问题或者修复密钥验证,我们将不胜感激。
服务器IP:192.168.1.6 客户端IP:192.168.1.7
答案1
好像你的cerberus.crt已损坏。您是如何将文件传输到客户端计算机的?您确定您的密钥正确吗?您是否使用过其他操作系统进行传输,或者您是否编辑过文件,这可能会改变其最初的生成方式?您是否使用了:
./pkitool cerberus
生成密钥?
我已成功连接这些配置:
客户端 11.10(从 10.04 服务器生成的密钥)-> 服务器 12.04(从 10.04 升级,与 10.04 时代的密钥集相同)。 客户端 12.04 -> 服务器 12.04(客户端和服务器密钥均在 10.04 服务器上生成)你的配置文件和我的配置文件之间唯一的不同是,我没有这一行
tls-auth /home/fpayer/keys/ta.key 1
既不在服务器也不在客户端