Ubuntu搭建openvpn服务器

avatar
作者
猴君
阅读量:0

文章目录

一、基于ubuntu搭建openvpn服务器

  1. 确保网络连通,使用ifconfig查看本机ip以及ping通外网(将虚拟机网络设置为NAT模式)
  • 找不到命令
    在这里插入图片描述
  • 网络可用
    在这里插入图片描述
  1. 安装openvpn
// 安装openvpn machine:~$ sudo apt-get -y install openvpn libssl-dev openssl //查看openvpn版本 machine:~$ sudo apt-get -y install openvpn libssl-dev openssl //查看安装时产生的文件 machine:~$ dpkg --list openvpn machine:~$ dpkg -L  openvpn | more 

在这里插入图片描述
3. 安装easy-rsa,用来生成证书

sudo apt-get -y install easy-rsa 

在这里插入图片描述

二、制作相关证书

  1. /etc/openvpn/目录下创建easy-rsa文件夹
sudo mkdir /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/ 

在这里插入图片描述
2. 把/usr/share/easy-rsa/目录下的所有文件全部复制到/etc/openvpn/easy-rsa/下

  • 这一步是为了后续的管理证书的方便,所以把easy-rsa放在了openvpn的启动目录下
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ 

在这里插入图片描述

  • 由于我们现在使用的是ubuntu系统,所以我们必须切换到root用户下才能制作相关证书,否则easy-rsa会报错。如果是centos系统,则不存在此问题
  • 制作CA证书之前,我们还需要编辑vars文件,按自己实际修改:
    在这里插入图片描述
  • 使用source vars命令使其生效(在这之前先sudo su切换管理员权限)
    在这里插入图片描述
2.1 制作ca证书

./build-ca

  • 报错,因为我安装的easy-rsa版本关系,可以创建一个软链接:
    在这里插入图片描述
    在这里插入图片描述
  • 然后一路回车即可,查看keys目录可见生成的证书文件ca.crt
    在这里插入图片描述
  • 把该CA证书的ca.crt文件复制到openvpn的启动目录/etc/openvpn下
cp keys/ca.crt /etc/openvpn/ ll /etc/openvpn/ 

在这里插入图片描述

2.2 制作Server端证书
// 制作server端证书,也是一路回车确认 //pao: 前面vars文件中设置的KEY_NAME ./build-key-server pao 

在这里插入图片描述

// 为服务器生成加密交换时的Diffie-Hellman文件 ./build-dh 

在这里插入图片描述

  • 查看keys文件夹,可以看到生成了三个证书文件,其中pao.crtpao.key是我们要使用的
    在这里插入图片描述
  • 把pao.crt、pao.key、dh2048.pem复制到/etc/openvpn/目录下
cp keys/pao.crt keys/pao.key keys/dh2048.pem /etc/openvpn/ 
2.3 制作Client端证书
//paoclient: 客户端的名称。这个是可以进行自定义 ./build-key paoclient //其中paoclient.crt和paoclient.key是我们需要的 
  • 这里客户端名称不要和pao重复,否则会报错,因为keys文件夹中已经有pao命名的证书,会冲突
    在这里插入图片描述

三、配置服务器

3.1 配置Server端
  • Server端的配置文件,我们可以从openvpn自带的模版中进行复制
root@.../easy-rsa# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ root@.../easy-rsa# cd /etc/openvpn/ root@.../easy-rsa# ll  // 解压server.conf.gz文件后,然后删除原文件 gzip -d server.conf.gz 

在这里插入图片描述

  • 修改server.conf文件
    因为server.conf和证书文件都放在/etc/openvpn路径下,不需要绝对路径,如果server.conf文件不在同一目录,则路径要更改为:ca /etc/openvpn/ca.crt
    在这里插入图片描述
    :
    在这里插入图片描述
  • 启动openvpn服务
/etc/init.d/openvpn start netstat -tunlp |grep 1194 

在这里插入图片描述
注意:可能会出现启动服务后,查看1194端口却发现服务未运行的状态,可以试试关闭防火墙

sudo systemctl stop ufw.service sudo systemctl disable ufw.service //查看防火墙状态 sudo ufw status 状态:不活动 
3.2. 配置Client端
  1. 实现虚拟和window文件共享
  • 之前可能安装VMtool有问题,没办法把文件从window直接拖入虚拟机
//创建共享文件夹目录  cd /mnt/hgfs/ mkdir -p Vm_share //挂载共享文件夹 /usr/bin/vmhgfs-fuse .host:/Vm_share /mnt/hgfs/Vm_share -o subtype=vmhgfs-fuse,allow_other //检查是否设置成功 cd /mnt/hgfs/Vm_share//进入共享文件夹 ls //查看当前文件夹中的文件是否为主机上的文件 

在这里插入图片描述
2. 无论是在Windows OS还是在Linux OS上Client端的配置,我们都需要把Client证书、CA证书以及Client配置文件下载下来
(这里因为之前虚拟机出错了,所以前面的步骤我重新做了一遍,server端证书更改为ca.crt 、merine.crt 、merine.key; 以下pao开头的证书为2.3生成的client端证书)
在这里插入图片描述

  • 先把这几个文件复制到/home/hxm/目录(家目录)下,然后再把openvpn客户端的配置文件模版也复制到/home/hxm/目录下
cp ca.crt pao.key pao.crt /home/hxm/ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /home/hxm/ 
  • 修改以上几个文件的用户属性
chown hxm:hxm pao.* chown hxm:hxm ca.crt 

在这里插入图片描述

  • 然后我们可以使用共享文件夹把这几个文件放到window本机
    在这里插入图片描述
  1. 把client.conf文件重命名为client.ovpn,然后进行编辑
client dev tun //使用tcp协议,与server端保持一致 proto tcp //这是我部署openvpn服务的server地址(虚拟机 ifconfig) remote 192.168.67.128 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt //clicent证书也要修改为自己的 cert pao.crt key pao.key ns-cert-type server comp-lzo verb 3 

四、安装openvpn客户端

  • http://build.openvpn.net/downloads/releases/
    这里我打不开地址,所以直接百度一个下载了,可以使用openvpn --version查看openvpn版本
    注意:下载的客户端版本号一定要与服务器端openvpn的版本一直,否则可能会出现无法连接服务器的现象
  1. 双击桌面OpenVPNGUI快捷方式运行openvpn客户端程序
    记得确保server端的openvpn服务正在运行
    window在窗口右下角找到openvpn窗口进行登录,当openvpn图标变成绿色,说明连接成功!可以右键查看连接状态、配置文件、日志信息
    在这里插入图片描述

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!