以
ubuntu
系统为例安装
|
|
证书制作
创建默认证书
12$ make-cadir /etc/openvpn/ca$ cd /etc/openvpn/ca更改证书默认设置
|
|
- 更改证书的如下内容
|
|
- 有一个
KEY_NAME
,值可自定义,例如server
|
|
- 保存生效
|
|
CA
证书CA数字证书认证机构,负责颁发证书,用于openvpn服务器和客户端的认证
|
|
./build-ca
后一直回车确认,或者./build-ca --batch
保持默认设置,无须回车确认 之后证书的制作命令,直接按照添加--batch
执行,也可不添加,不再单独说明
- 服务器证书
|
|
server
为之前vars里export KEY_NAME="server"
的值 自定义server或者其他时后面需要在服务器配置文件中 client名称可自定义,如果修改最后在客户端配置文件中,需更改对应:
|
|
作为修改之后的证书
- 制作
Diffie-Hellman key
|
|
- 生成HMAC签名加强TLS认证
|
|
- 客户端证书
|
|
client
名称可自定义,如果修改最后在客户端配置文件中,更改对应
|
|
openvpn
服务器配置
- 移动证书
进入
keys
目录可以看到生成的证书文件 我们需要ca.crt ca.key server.crt server.key ta.key dh2048.pemserver
为之前自定义的服务器证书名
|
|
复制证书文件到
/etc/openvpn
当前目录是/etc/openvpn/ca/keys
,所以../../
就是配置目录
|
|
- 修改配置文件
复制配置文件模板到/etc/openvpn/,解压后修改
|
|
以下内容替换为证书的路径名称,同路径下可直接写名称
|
|
服务器证书一开始就命名为server默认值,后面就不用修改了
取消下面的注释(删掉;)
|
|
路由器作为client的话设置的话,
DNS
那里两行仍然是一个注释
去掉下面的注释,并再下一行添加key-direction 0
|
|
防火墙设置
我们使用云服务商的服务器,千万不要自己设置防火墙,我们做一个
iptables
- 打开
ip
转发
修改/etc/sysctl.conf
|
|
取消注释
|
|
生效
|
|
- `iptables·设置
|
|
启动服务端
|
|
客户端文件制作
|
|
- 编辑
client.conf
|
|
去掉里面的
;
,第一个local
后面设置为0.0.0.0
,第二句的my-server-1
换为server
端的ip
或者自己绑定的域名
删掉分号:
|
|
并在下一行添加
|
|
- 为了简单,客户端导入的文件我们就只用一个.ovpn的文件,在服务端的
ubuntu
运行
|
|
- 将
client.ovpn
更改:
|
|
为:
|
|
- 进入
/client/ovpn
目录,将client.ovpn
给复制出来,直接复制内容或者用scp
等,文件一定是.ovpn
结尾的形式
测试工具推荐:
mac
:
tunnelblickwindows
:
openvpn gui
账号密码分配
- 服务端的
server.conf
配置:
|
|
追加:
|
|
/etc/openvpn/checkpsw.sh
内容
|
|
- 配置账号密码
|
|
形式如下:
|
|
表示账号密码,一行一个,账号密码空格分开
- 重启
openvpn
|
|
- 最后一步,客户端的文件
client.ovpn
新添加:
|
|
修改之后,客户端文件需要重新导入到本地
openvpn
工具中