openvpn

https://www.ilanni.com/?p=9847

  • Mac OSX:Tunnelblick 开源的可以连接 OpenVPN,已测试过,可以使用

  • Windows:OpenVPN Desktop Client OpenVPN2.4 不支持 XP。配置文件client.conf需要重命名成client.ovpn。导入配置的时候不要把安装目录下的 client.ovpn 覆盖了!

#让客户端发起的所有IP请求都通过OpenVPN服务器

push “redirect-gateway def1”

#允许客户端子网互通

client-to-client

前面案例提到的,都是由服务端先生成客户端证书,然后分发到客户端,让客户端通过证书连接到服务器上。但有时候,这样的分发是比较麻烦的(也不安全)。这样,我们可以考虑另外一种方式: 只在服务端制作客户端证书,而客户端只需要有ca.crt文件,而不需要拿到客户端证书,当登陆服务器的时候是通过用户名和密码即可登陆OpenVPN服务器。

◎服务端配置:(以Linux版为例)

OpenVPN可以通过插件(plugin)方式支持上述的用户名认证,在Linux下以PAM为例,必须先增加用户:

useradd -M test

passwd test

然后修改.conf增加:

引用 #使用PAM插件

plugin /usr/share/vpn/plugin/lib/openvpn-auth-pam.so login

#客户端可以不提供证书

client-cert-not-required

#用户登陆的用户名就是Common Name

username-as-common-name

※注意: 1、若不增加client-cert-not-required语句,默认PAM认证和证书验证是需要同时通过才能建立连接的; 2、OpenVPN是基于SSL连接,所以,上述设置只是让客户端不用提供证书,但却必须提供ca.crt; 3、而且OpenVPN服务器也必须用客户端使用的登陆名(如:test)建立相同Common Name的证书,否则客户端登陆的时候,服务器会提示找不到对应证书,而不能建立连接。

◎客户端配置:

client.conf增加:

引用 #激活登陆认证方式

auth-user-pass

#修改认证证书,保留ca.crt即可,客户端证书可以不要了

ca ./easy-rsa/keys/ca.crt

参考文档

Last updated