云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

Linux:OpenVPN服务部署实例

jxf315 2024-12-02 21:31:13 教程文章 36 ℃
  • 前言

嗨,大家好!今天我要为大家分享一个关于Linux的实例——OpenVPN服务部署。作为一名IT技术爱好者,我深知网络安全和隐私保护的重要性。

在当今数字化时代,我们越来越依赖互联网进行工作、学习和娱乐。然而,我们也面临着来自黑客和不可信网络的潜在威胁。因此,建立一个安全、加密的网络连接变得至关重要。

OpenVPN是一个功能强大的开源软件,通过使用SSL/TLS协议来建立安全的虚拟专用网络(VPN)。它不仅可以保护您的数据免受黑客攻击,还可以让您在公共网络上匿名浏览。

在接下来的实例中,我将向各位同学展示如何在Linux系统上部署OpenVPN服务,以便您可以安全地远程连接到您的私人网络或跨区域访问受限资源。

这个实例将包括安装和配置OpenVPN服务器,生成证书和密钥,以及配置客户端设备。我将尽力以简明易懂的方式向您解释每个步骤,并提供实用的技巧和建议。

我希望这个实例能够帮助各位同学了解OpenVPN的基础知识,并帮助各位同学在Linux系统上成功部署自己的OpenVPN服务。

1、环境准备

在开始OpenVPN服务的部署之前,确保您已经准备好了以下环境:

操作系统:CentOS 7。OpenVPN可以在各种操作系统上运行,但本实例将以CentOS 7为例进行说明。

硬件配置:确保各位同学的服务器至少具备双核CPU、4GB内存和100GB硬盘空间。这些资源将有助于各位同学的OpenVPN服务的稳定性和性能。

互联网连接:确保各位同学的服务器已经连接到互联网,并拥有公共的静态IP地址。这是为了让客户端设备可以通过互联网访问您的OpenVPN服务器。

一旦您确认了这些环境准备工作,接下来您可以开始进行第一步骤:安装和配置OpenVPN服务器。

2、软件下载

在接下来的步骤中,我们将更新yum仓库并下载所需的软件包。请按照以下步骤进行操作:

执行以下命令,更新yum仓库:

yum update

这将检查并安装系统上的所有可用更新。

执行以下命令,下载并安装EPLE标准库:

yum -y install epel-release

EPEL(Extra Packages for Enterprise Linux)是一个额外的软件包仓库,为CentOS提供了许多常见的开源软件包。

执行以下命令,下载并安装OpenVPN和Easy-RSA软件包:

yum -y install openvpn easy-rsa

OpenVPN是我们需要部署的VPN服务软件,而Easy-RSA是用于生成证书和密钥的工具。

完成以上步骤后,您的软件下载和安装就已经完成了。接下来,我们将继续进行OpenVPN服务器的配置和创建证书的步骤。

3、软件服务端证书生成

上一步完成后进入Easy-RSA目录:

cd /usr/share/easy-rsa/

拷贝Easy-RSA目录到OpenVPN目录:

cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa

进入拷贝后的目录:

cd /etc/openvpn/easy-rsa/

删除旧版本文件:

\rm 3 3.0

进入Easy-RSA 3.0.3目录:

cd 3.0.3/

复制vars.example文件,并更名为vars:

find / -type f -name "vars.example" | xargs -i cp {} . && mv vars.example vars

初始化公钥基础设施(PKI):

./easyrsa init-pki

创建CA证书(无需密码):

./easyrsa build-ca nopass

生成服务器密钥对(无需密码):

./easyrsa gen-req server nopass

签署服务器证书:

./easyrsa sign server server

在提示时输入"Yes"。

生成Diffie-Hellman文件(dh.pem):

./easyrsa gen-dh

整理文件,将所需的证书和密钥复制到OpenVPN目录:

cd /etc/openvpn/cp easy-rsa/3.0.3/pki/dh.pem .cp easy-rsa/3.0.3/pki/ca.crt .cp easy-rsa/3.0.3/pki/issued/server.crt .cp easy-rsa/3.0.3/pki/private/server.key .

完成以上步骤后,您已经成功生成了OpenVPN服务器的证书和密钥。接下来,我们将继续配置OpenVPN服务器。

4、软件客户端证书生成

拷贝Easy-RSA到客户端目录:

cp -r /usr/share/easy-rsa/ /etc/openvpn/client

进入客户端Easy-RSA目录:

cd /etc/openvpn/client/easy-rsa/

删除旧版本文件:

\rm 3 3.0

进入Easy-RSA 3.0.3目录:

cd 3.0.3/

复制vars.example文件,并更名为vars:

find / -type f -name "vars.example" | xargs -i cp {} . && mv vars.example vars

初始化公钥基础设施(PKI):

./easyrsa init-pki

生成客户端证书请求(无需密码):

./easyrsa gen-req client nopass

进入服务器端Easy-RSA目录:

cd /etc/openvpn/easy-rsa/3.0.3/

导入客户端证书请求并签署客户端证书:

./easyrsa import-req /etc/openvpn/client/easy-rsa/3.0.3/pki/reqs/client.req client

在提示时输入"Yes"。

签署客户端证书:

./easyrsa sign client client

在提示时输入"Yes"。

整理生成的证书文件,将其复制到客户端目录:

cd /etc/openvpn/client/cp /etc/openvpn/easy-rsa/3.0.3/pki/ca.crt .cp /etc/openvpn/easy-rsa/3.0.3/pki/issued/client.crt .cp /etc/openvpn/client/easy-rsa/3.0.3/pki/private/client.key .

完成以上步骤后,您已经成功生成了OpenVPN客户端的证书和密钥。接下来,我们将继续配置OpenVPN服务器和客户端。

5、配置服务端配置文件

打开配置文件进行编辑:

vi /etc/openvpn/server.conf

将以下内容复制到配置文件中,并保存:

port 1194proto udpdev tunca /etc/openvpn/ca.crtcert /etc/openvpn/server.crtkey /etc/openvpn/server.keydh /etc/openvpn/dh.pemifconfig-pool-persist /etc/openvpn/ipp.txtserver 10.8.0.0 255.255.255.0push "route 10.8.0.0 255.255.255.0"push "route 0.0.0.0 0.0.0.0"push "route 172.217.4.228 288.255.255.0.0"push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 114.114.114.114"push "dhcp-option DNS 8.8.8.8"client-to-clientkeepalive 20 120comp-lzouser openvpngroup openvpnpersist-keypersist-tunstatus      openvpn-status.loglog-append  openvpn.logverb 1mute 20

在此配置文件中,您可以设置端口、协议、证书和密钥文件的路径,设置VPN网络的IP范围,以及其他各种参数。

完成以上步骤后,您已成功配置OpenVPN服务器。接下来,我们将继续配置OpenVPN客户端。

6、配置客户端文件

打开配置文件进行编辑:

vi /etc/openvpn/client/client.ovpn

将以下内容复制到配置文件中,并保存:

clientremote 18.188.5.182 1194proto udpdev tuncomp-lzoca ca.crtcert client.crtkey client.keyroute-delay 2route-method exeredirect-gateway def1dhcp-option DNS 8.8.8.8dhcp-option DNS 8.8.4.4dhcp-option DNS 4.2.2.1dhcp-option DNS 4.2.2.2verb 3

在此配置文件中,您需要根据您的实际情况设置服务器的外网IP地址,在"remote"行中进行配置。

完成以上步骤后,您已成功配置OpenVPN客户端。接下来,您可以将客户端配置文件(client.ovpn)下载到您的本地计算机,并使用OpenVPN客户端软件加载该配置文件以建立VPN连接。

7、开启路由转发

启动OpenVPN服务:

systemctl start openvpn@server

安装iptables服务:

yum -y install iptables iptables-services

编辑iptables配置文件:

vi /etc/sysconfig/iptables

在文件中插入以下规则,然后保存:

-A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT

重启iptables服务:

systemctl restart iptables.service

清空规则:

iptables –F

配置规则:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

编辑sysctl.conf文件:

vi /etc/sysctl.conf

在文件中找到并取消注释以下行:

net.ipv4.ip_forward = 1

保存文件。

应用sysctl配置:

sysctl –p

以上步骤将启用路由转发并配置iptables规则,以便允许OpenVPN客户端通过服务器进行互联网访问。

完成以上步骤后,您已成功开启了路由转发并设置了相应的防火墙规则。您现在可以尝试连接OpenVPN客户端并访问互联网。

8、拷贝客户端文件

把生成的“client”文件夹从服务器下载下到本地电脑,安装openvpn客户端,
安装完成后,把下载下来的ca证书文件放入到“conf”文件中,如图:


然后启动VPN客户端,如图:

进行连接,至此服务安装完成,连接成功。

最后,文章只做技术交流,不可他用。

Tags:

最近发表
标签列表