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