网站首页 > 教程文章 正文
- 前言
嗨,大家好!今天我要为大家分享一个关于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客户端,如图:
进行连接,至此服务安装完成,连接成功。
最后,文章只做技术交流,不可他用。
猜你喜欢
- 2024-12-02 Linux VRF 的概念与实际操作介绍
- 2024-12-02 75.2万份出生证明被泄露 新Linux漏洞允许黑客VPN连接
- 2024-12-02 VPN 虚拟专用网络隧道 到底是什么?
- 2024-12-02 Linux系统6种查看IP地址的方法
- 2024-12-02 v p n多平台开源集群项目softether 远程访问支持1万用户
- 2024-12-02 只用一个固定公网IP实现站点到站点VPN功能
- 2024-12-02 VPN协议大揭秘 PPTP与L2TP退场 SSTP与IKEv2成为安全新宠
- 2024-12-02 利用阿里云99元服务器自建VPN网络实现RDP远控家里电脑
- 2024-12-02 虚拟专用网络(VPN)的分类
- 2024-12-02 VPN路由器功能,工业路由器的openvpn功能简介
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)