帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
ubuntu 22.04搭建OpenVPN服务器
发布时间:2024-02-28 11:08:47   分类:帮助文档
ubuntu 22.04搭建OpenVPN服务器

为了公司与分公司之前的内部服务器和办公电脑之间能够相互访问,打算使用VPN,对于VPN,以前用得多的是PPTP; 但是PPTP相对于openvpn来说,没有openvpn安全,而且PPTP在linux下命令行支持不是很好,稳定性也不如openvpn。所以最后就选择openvpn来搭建VPN.

如上图所示,红线为VPN访问效果,黑线为一般网络访问效果。
PS:本文在ubuntu 22.04上安装,openvpn服务器地址为172.26.14.242。
运行效果如下:
PC客户端


服务端:


一、openvpn原理
openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的。这种方式称为TLS加密
openvpn使用TLS加密的工作过程是,首先VPN Sevrver端和VPN Client端要有相同的CA证书,双方通过交换证书验证双方的合法性,用于决定是否建立VPN连接。
然后使用对方的CA证书,把自己目前使用的数据加密方法加密后发送给对方,由于使用的是对方CA证书加密,所以只有对方CA证书对应的Private key才能解密该数据,这样就保证了此密钥的安全性,并且此密钥是定期改变的,对于窃听者来说,可能还没有破解出此密钥,VPN通信双方可能就已经更换密钥了。
二、安装openvpn
openvpn的安装我们分为apt-get方式和源码方式,下面我们只讲解apt-get方式的安装。有关源码方式安装openvpn,可自行百度。
apt-get方式安装,我们可以使用如下命令:
sudo apt-get -y install openvpn libssl-dev openssl

openvpn安装完毕后,我们来查看openvpn的版本,如下:
(下载openvpn client时需要参照这个版本号)
openvpn --version

通过上图,我们可以看到openvpn目前的版本为2.5.5。这个版本号,建议记住。
我们再来查看下openvpn安装时产生的文件,如下:
dpkg --list openvpn

dpkg -L openvpn | more

通过上图,我们可以很明显的看出openvpn已经有相关配置的模版了。
openvpn安装完毕后,我们再来安装easy-rsa。
easy-rsa是用来制作openvpn相关证书的。
安装easy-rsa,使用如下命令:
sudo apt-get -y install easy-rsa

查看easy-rsa安装的版本:
dpkg --list easy-rsa

查看easy-rsa安装的文件,如下:
dpkg -L easy-rsa |more

三、制作相关证书
根据第一章节openvpn的工作原理,我们可以知道openvpn的证书分为三部分:CA证书、Server端证书、Client端证书。
下面我们通过easy-rsa分别对其进行制作。
3.1 制作CA证书
openvpn与easy-rsa安装完毕后,我们需要在/etc/openvpn/目录下创建easy-rsa文件夹,如下:
sudo mkdir /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/

然后把/usr/share/easy-rsa/目录下的所有文件全部复制到/etc/openvpn/easy-rsa/下,如下:
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

当然,我们也可以直接在/usr/share/easy-rsa/制作相关的证书,但是为了后续的管理证书的方便,我们还是把easy-rsa放在了openvpn的启动目录下。
注意:由于我们现在使用的是ubuntu系统,所以我们必须切换到root用户下才能制作相关证书,否则easy-rsa会报错。如果是centos系统,则不存在此问题。
切换到root用户下,使用如下命令:
sudo su cp vars.example vars

在开始制作CA证书之前,我们还需要编辑vars文件,修改如下相关选项内容即可。如下:
vim vars
修改

添加

vars文件主要用于设置证书的相关组织信息,红色部分的内容可以根据自己的实际情况自行修改。
其中export KEY_NAME=”vpnairgens”这个要记住下,我们下面在制作Server端证书时,会使用到。
注意:以上内容,我们也可以使用系统默认的,也就是说不进行修改也是可以使用的。
注意:不同的easy-isa版本,可能使用过程不一样,具体使用方法可以参考安装文档中描述
查看安装文档中的步骤描述:
cat /usr/share/doc/easy-rsa/README.Debian

制作命令如下:
./easyrsa init-pki ls

./easyrsa build-ca nopass
ls


3.2 制作Server端证书
./easyrsa build-server-full vpnairgens nopass

注意:上述命令中vpnairgens,就是我们前面vars文件中设置的KEY_NAME
查看生成的Server端证书,如下
ls pki/issued/
ls pki/private/

如此,Server端证书就制作完毕。
3.3 制作Client端证书
Server端证书制作完成后,我们现在开始制作Client端证书,如下:
./easyrsa build-client-full airgens nopass

 注意:上述命令中的airgens,是客户端的名称。这个是可以进行自定义的。

ls pki/issued/
ls pki/private/
查看生成的证书,如下:



通过上图,我们可以很明显的看出已经生成了很多加密相关的文件
其中 ca.crt private/airgens.key issued/airgens.crt三个文件是我们要使用的。
如此,Client端证书就制作完毕。
现在再为服务器生成加密交换时的Diffie-Hellman文件,如下:
./easyrsa gen-dh



ls pki/dh.pem -l
查看生成的文件,如下:



3.4 将相关文件放到同目录下
cd /etc/openvpn/ cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf . ls

cp easy-rsa/pki/ca.crt ./
cp easy-rsa/pki/issued/vpnairgens.crt ./
ls




cp easy-rsa/pki/private/vpnairgens.key .
cp easy-rsa/pki/dh.pem ./
cp easy-rsa/pki/dh.pem ./dh2048.pem




3.5 配置vpn Server
vim server.conf
隧道port



开tcp关udp



修改秘钥key文件名



修改VPN的IP地址段(也可不修改)

 
 

 
3.6 运行VPN SERVER
配置完运行openvpn server
nohup /usr/sbin/openvpn --config /etc/openvpn/server.conf &






打开日志显示
tail -f /var/log/openvpn/openvpn.log



3.7 tftp下载秘钥文件
cp /etc/openvpn/ca.crt /etc/openvpn/easy-rsa/pki/issued/airgens.crt tmp_dir/

 四 VPN CLIENT安装

4.1 下载openvpn客户端
下载地址:https://build.openvpn.net/downloads/releases/OpenVPN-2.5.5-I602-amd64.msi
(版本与上面服务端一致)安装软件
将文件复制到软件安装的目录



4.2 创建配置文件
创建airgens.ovpn文件,用记事本打开,添加如下内容
client

dev tun

proto tcp

remote 172.26.14.242 1194

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert airgens.crt

key airgens.key

comp-lzo

verb 3
4.3 开启客户端软件



4.4 配置文件


4.5 连接状态查看

服务端连接状态:



PC客户端连接状态:



4.6 测试






参考文档:
烂泥:ubuntu 14.04搭建OpenVPN服务器-烂泥行天下
烂泥:openvpn配置文件详解-烂泥行天下


香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价