环境:
vpn
服务器系统:Ubutu
一、Vps端安装
1、安装openVpn服务
输入安装命令安装openvpn:
sudo apt-get –y install openvpn libssl-dev openssl
安装完成后查看版本:
openvpn –-version
记录下版本号。
2、安装easy-rsa
,用来制作证书
输入安装命令:
sudo apt-get –y install easy-rsa
3、生成证书
生成CA证书
在/etc/openvpn/
目录下创建easy-rsa
文件夹:sudo mkdir /etc/openvpn/easy-rsa/
将
/usr/share/easy-rsa
目录下所有文件复制到/etc/openvpn/easy-rsa/
下:sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
切换到root目录下:
sudo su
进入easy-rsa文件夹:
cd /etc/openvpn/easy-rsa/
编辑vars文件:
sudo vi /etc/openvpn/easy-rsa/vars
根据实际情况更改文件中如下配置项:
export KEY_COUNTRY=”CN” export KEY_PROVINCE=”TJ” export KEY_CITY=”TianJin” export KEY_ORG=”qszy” export KEY_EMAIL=”公司或个人的邮箱地址” export KEY_OU=”qszy” export KEY_NAME=”qszyvpn”
使
vars
文件生效:source vars ./clean-all
制作CA证书:
./build-ca
一路回车,完成后查看keys目录,应有ca.crt和ca.key两个文件:
ll keys/
把生成的
ca.crt
文件复制到openvpn
启动目录下:cp kyes/ca.crt /etc/openvpn
生成server端证书
输入命令:./build-key-server qszyvpn
(此处名称须与生成CA证书时,vars文件配置中的export KEY_NAME配置项名称一致
一路回车,需要输入
y/n
时,一律输入y
完成后,查看keys
文件夹,应有qszyvpn.crt
、qszyvpn.csr
、qszyvpn.key
三个文件
为服务器生成加密交换时的秘钥协议文件:./build-dh
此过程需要时间较长,耐心等待。
完成后查看keys
目录,应有dh2018.pem
文件:ll keys/
然后将
qszyvpn.crt
、qszyvpn.key
、dh2048.pem
都复制到/etc/openvpn/
目录下:cp keys/qszyvpn.crt keys/qszyvpn.key keys/dh2048.pem /etc/openvpn/
生成
Client端
证书
为需要连接vpn的客户机生成一份证书。
输入命令:./build-key clint1 shell
一路回车,需要输入
y/n
时,一律输入y
查看keys
文件夹,应有client1.crt
、client1.csr
、client1.key
三个文件
4、server端配置
复制openvpn
自带的模板配置文件到启动目录:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
进入openvpn目录解压文件:
cd /etc/openvpn/
gzip -d server.conf.gz
修改server.conf
文件:
sudo vi /etc/openvpn/server.conf
找到并修改或添加如下配置项:
proto tcp
dev tap
cert qszyvpn.crt
key qszyvpn.key
dh dh2048.pem
client-to-client
push “10.8.0.0 255.255.255.0”
push “route 0.0.0.0 0.0.0.0”
完成后保存退出。
5、添加转发规则
开启ipv4
转发,修改/etc/sysctl.conf
配置文件:
vi /etc/sysctl.conf
将net.ipv4.ip_forward
项的值设为1
:
net.ipv4.ip_forward = 1
然后添加一条转发规则,输入命令:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
6、启动
以上工作结束后,即可启动openvpn服务:
/etc/init.d/openvpn start
查看其端口占用:
netstat -tunlp |grep 1194
二、win10
客户端安装
1、下载所需证书
将/etc/openvpn/easy-rsa/keys/
目录下的ca.crt
、clinet1.crt
、client1.key
三个文件以及/usr/share/doc/openvpn/examples/sample-config-files/
目录下的client.conf
模板配置文件下载到本地。先将四个文件复制到用户目录下,并赋予qszy.key
文件足够权限(777),再进行下载。
2、将下载下来的client.conf
文件重命名为client.ovpn
,然后进行编辑,找到并修改如下配置:
proto tcp
remote ip 1194 #此处ip替换为服务器的公网ip,1194为默认端口
dev tap
ca ca.crt
cert qszy.crt
key qszy.key
3、下载win客户端
进入http://build.openvpn.net/downloads/releases/
镜像,找到与openvpn
服务版本一致的exe
安装文件下载,进行安装。
4、复制配置
安装完成后,将下载的4个文件放入同一个文件夹中,并将文件夹复制到openvpn
安装目录的config
文件夹下,文件夹名称可随意设置,只要保证其在config
目录下名称唯一即可。
5、连接vpn
以管理员打开openvpnGUI
客户端,会在系统托盘生成一个图标,右键单击图标,点击connect
,即可连接,连接成功后,会提示已为本机生成一个IP
,可通过cmd
的ipconfig
命令查看。
三、为其他win10
客户端生成证书。
通过以上的配置,已经成功运行vpn
服务并为一台客户端机器生成了证书以提供vpn
连接服务,由于一台客户端机器只能使用唯一证书,因此局域网内其他机器想要连接vpn
,须先为其再生成一份证书,证书生成过程如下:
首先进入vpn
安装目录的easy-rsa
目录下:
cd /etc/openvpn/easy-rsa/
切换到root
权限:
sudo su
使配置文件生效:
source vars
此时不要执行./clean-all
操作,否则以前生成的所有证书都会被清空。
然后生成客户端证书:
./build-key clint2
一路回车,需要输入y/n
时,一律输入y
查看keys
文件夹,应有client2.crt
、client2.csr
、client2.key
三个文件。
将client2.crt
、client2.key
以及ca.crt
文件和/usr/share/doc/openvpn/examples/sample-config-files/
目录下的client.conf
模板配置文件下载下来,在新客户端上重复第二部分客户端安装操作即可。
四、Ubuntu
客户端安装
openvpn
既可以提供服务又可以连接服务,因此Ubuntu
客户端想要连接vpn
服务,只需安装好openvpn
后,执行服务端提供的配置文件即可。
1. 安装openvpn
与服务端安装命令一致,只需输入:
sudo apt-get install openvpn
默认安装位置为:/etc/openvpn
2. 上传配置文件
将服务端提供的4个秘钥等配置文件:*.crt
、*.ca
、*.key
、*.ovpn
上传到openvpn
的安装目录/etc/openvpn
下。
3. 执行配置文件
进入openvpn
安装目录:
cd /etc/openvpn
执行配置文件以链接vpn
:
sudo openvpn *.ovpn
此时控制台即会输出链接信息,在其中可以找到被分配的ip
地址。
4. 保持vpn
后台链接
前边命令链接后,vpn
在前台运行,并占用终端,退出终端后,vpn
即停止运行,输入以下命令即可令vpn
保持后台链接:
sudo openvpn *.ovpn > /dev/null &
也可将上述命令写入到/etc/rc.local
以做到开机自连。
此时即可查看vpn
的进程信息:
ps -ef | grep openvpn