在 CentOS 系统的 ECS 实例中配置 OpenVPN

简介: 本文主要为大家介绍在CentOS系统的ECS实例中如何配置OpenVPN。

vcg_VCG211151450126_RF.jpg
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、准备工作

在安装OpenVPN服务前,请确保完成如下准备工作。
1、请参考如下文档,将YUM源更新为阿里云的YUM源。

2、依次执行如下命令,安装依赖的软件包。    

yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel
yum install -y pkcs11-helper pkcs11-helper-devel

3、执行如下命令,确认软件包已经安装成功。

rpm -qa lzolzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel

系统显示类似如下。
1.png

二、装OpenVPN服务

1、执行如下命令,下载OpenVPN的源码包。

wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz

2、执行如下命令,将源码包编译成RPM包进行安装。

rpmbuild -tb openvpn-2.2.2.tar.gz

注:执行命令后即开始编译,编译完成后,>/root/rpmbuild/RPMS/x86_64目录下会生成名为“openvpn-2.2.2-1.x86_64.rpm” 的安装包。

3、执行如下命令,以RPM包的格式进行安装。

rpm -ivh openvpn-2.2.2-1.x86_64.rpm

系统显示类似如下。
2.png

三、配置OpenVPN服务 

  • 初始化

1、执行如下命令,进入指定目录。找到vars证书环境文件,修改以下5行export定义的参数值。

cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0

2、编辑vars证书环境文件,修改如下5行环境变量定义的参数值,保存并退出。

export KEY_COUNTRY="CN" 
export KEY_PROVINCE="BJ" 
export KEY_CITY="Hangzhou" 
export KEY_ORG="aliyun"
export KEY_EMAIL=my@test.com

注:

  • “KEY_COUNTRY”为所在的国家。
  • “KEY_PROVINCE”为所在的省份。
  • “KEY_CITY”为所在的城市。
  • “KEY_ORG”为所属的组织。
  • “KEY_EMAIL”为邮件地址。
  • 您可以对上述参数的值进行自定义设置,不会导致OpenVPN配置出现异常。
  • 生成证书、密钥和参数文件

1、执行如下命令,创建软链接。

ln -s openssl-1.0.0.cnf openssl.cnf

2、执行如下命令,读取并加载vars文件。

source ./vars

3、执行如下命令,清除目录下的所有key。

./clean-all

4、执行如下命令,生成CA证书。您已经在vars证书环境文件中配置了默认参数值,在本步骤中连续输入回车确认,完成配置即可。

./build-ca

5、执行如下命令,生成服务器证书,其中aliyuntest是自定义的名字,连续输入回车确认,最后会有两次交互,输入y确认。完成后,目录下会生成aliyuntest.key、aliyuntest.csr和aliyuntest.crt三个文件。

./build-key-server aliyuntest

系统显示类似如下。
3.png
6、执行如下命令,创建秘钥与证书,其中aliyunuser是用户名,连续输入回车确认,最后会有两次交互,输入y确认。完成后,目录下会生成1024位RSA服务器密钥aliyunuser.key、aliyunuser.crt和aliyunuser.csr三个文件。

./build-key aliyunuser

7、执行如下命令,生成用于客户端验证的Diffie Hellman参数,完成后,目录下会生成1024.pem参数文件。

./bulid-dh
  • 复制证书、密钥和参数文件

1、执行如下命令,将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys目录中的所有文件复制到/etc/openvpn目录中。

cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/

2、执行如下命令,将OpenVPN服务端配置文件server.conf复制到/etc/openvpn/目录中。

cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf  /etc/openvpn/

3、配置完成后,执行如下命令,查看配置文件。

egrep -v "^$|^#|^;" server.conf

配置文件内容如下所示。

local [$IP]
port 1194
proto udp
dev tun
ca ca.crt
cert [$CRT_Name]
key [$Key_Name] 
dh dh1024.pem
server 172.16.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 223.5.5.5"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3

注:

  • [$IP]为云服务器的公网IP地址。
  • [$CRT_Name]为生成服务器端证书时自定义的额CRT名称。
  • [$Key_Name]为生成服务器证书时自定义的KEY的名称。
  • 设置防火墙

注:设置防火墙前,请确保iptables服务已经开启,且/etc/sysconfig/iptables文件已经存在。

1、执行如下命令,编辑配置文件。

vi /etc/sysctl.conf

2、修改成如下参数,启用IPv4转发,然后保存并退出。

net.ipv4.ip_forward = 1

3、执行如下命令,加载系统参数。

sysctl -p

4、添加如下iptables规则,确保服务器可以转发数据包到阿里云内网和外网。

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


5、执行如下命令,保存iptables配置。

 service iptables save
  • 配置Windows PC客户端

1、下载如下Windows PC客户端。

2、执行Windows PC客户端安装程序,按照默认设置安装完成。
3、将云服务器中/etc/openvpn/目录下的aliyunuser.key、aliyunuser.crt 和 aliyunuser.csr三个文件下载到需要连接OpenVPN的 Windows PC 客户端上(可以使用FTP工具下载),保存路径为OpenVPN安装路径下的\OpenVPN\config目录。
4、在OpenVPN安装路径下,将\OpenVPN\sample-config\目录下的client.opvn复制到\OpenVPN\config目录下,然后修改配置文件中的以下参数。

proto udp   
remote [$IP] 1194
cert aliyunuser.crt
key aliyunuser.key

注:> - “proto udp”字段中,需删除前面的注释分号,采用UDP协议,与服务器端保持一致。

  • “remote [$IP] 1194”字段中,需删除该行前面的注释分号。

5、打开C:\Program Files(x86)\OpenVPN\bin目录,右键单击openvpn-gui-1.0.3.exe文件,选择 以管理员身份运行,避免导致添加路由失败。
4.png
6、连接成功后,访问阿里云的内网镜像源,确认可以通过OpenVPN访问阿里云内网。
5.png
7、然后访问“ip.cn”,可以看到此时Windows PC端的出口公网IP地址已经变为云服务器的公网IP地址。

 

阿里巴巴开源镜像站 提供全面,高效和稳定的系统镜像、应用软件下载、域名解析和时间同步服务。”

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
存储 缓存 运维
阿里云服务器经济型e与通用算力型u1实例各自性能、适用场景区别及选择参考
在选择阿里云服务器实例规格时,经济型e实例和通用算力型u1实例因其高性价比和广泛适用性,备受个人开发者、中小企业的青睐。在同地域、相同配置的情况下,经济型e和通用算力型u1实例的价格相对于其他实例规格要低一些,很多个人和初创企业用户都会优先考虑选择这两个实例规格的云服务器,那么它们之间有什么区别?各自的性能、适用场景上有何区别?我们应该如何选择呢?本文将详细解析这两款实例的性能特点、适用场景、价格优势及购买建议,帮助用户更好地理解并选择合适的云服务器实例。
|
4天前
|
存储 弹性计算 数据挖掘
阿里云服务器ECS经济型e实例与通用算力u1区别、特性优势、使用场景及租赁费用对比
阿里云ECS云服务器的经济型e实例和通用算力型u1实例各有特点。e实例适合个人开发者和小微企业,适用于中小型网站、开发测试和轻量级应用,性价比高。u1实例则更适合中小企业,提供更高的性能和稳定性,适用于企业级应用、数据分析和中小型数据库。同等配置下,u1实例在计算、存储和网络性能上优于e实例。
124 86
|
3天前
|
存储 分布式计算 安全
阿里云服务器经济型、通用算力型、计算型、通用型各主要实例性能、适用场景对比
在阿里云目前的活动中,云服务器实例规格有几大类,分别是轻量应用服务器、经济型e实例、通用算力型u1实例,第七代计算型c7、通用型g7、内存型r7实例,第八代计算型c8i、通用型g8i、内存型r8i实例,倚天云服务器实例计算型c8y、通用型g8y、内存型r8y实例,不同类型的实例规格,性能和适用场景不同,本文将这些热门实例规格的性能和适用场景全部展示出来,以供大家做对比和选择参考,从而选择出适合自己需求的云服务器实例规格。
|
6天前
|
存储 缓存 网络协议
阿里云服务器实例选择:c7/g7/r7和c8i/g8i/r8i及c8y/g8y/r8y实例对比与选择参考
本文将重点介绍阿里云服务器七代云服务器实例(计算型c7、通用型g7、内存型r7)、八代云服务器实例(计算型c8i、通用型g8i、内存型r8i)以及倚天云服务器实例(计算型c8y、通用型g8y、内存型r8y)的主要性能、适用场景及选择参考,帮助用户根据自己的需求选择合适的云服务器实例。
|
4天前
|
存储 缓存 安全
阿里云服务器通用算力型u1实例怎么样?实例性能与测评结果参考
本文将通过性能评测、适用场景、特点介绍、实测数据分享以及最新活动价格等多个方面,全方位解析这款云服务器实例,以供用户了解和参考。
|
14天前
|
弹性计算 数据挖掘 测试技术
ECS e实例测评
ECS e实例是阿里云推出的经济型云服务器,适合中小规模应用。性能上能满足基本需求,但在高并发场景下表现一般。性价比高,价格亲民,适合预算有限的开发者。用户体验良好,配有丰富的技术文档,但部分高级功能操作说明有待优化。
42 18
|
5天前
|
弹性计算 监控 测试技术
ecs e实例测评
阿里云 e实例性能稳定,适用于中小型 Web 应用。在 CPU 和内存性能测试中,e实例表现出色,尤其在资源密集型任务中具有较高的性价比。相比同配置的其他 ECS 规格,e实例在轻量化场景中更为均衡。价格方面,e实例低于传统 ECS 的 t5 实例,且在中国大陆市场具备一定优势。用户体验方面,控制台提供了清晰的实例创建流程和快速部署选项,但缺乏高级应用文档和性能优化指导。总体而言,e实例适合中小型企业和个人开发者使用。
27 5
|
19天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
5天前
|
弹性计算 数据挖掘 调度
阿里云服务器e实例与u1实例区别探析
阿里云服务器e实例与u1实例有何区别?阿里云ECS经济型e实例与通用算力型u1实例是两款颇受欢迎的产品,本文将对这两款实例进行详细的对比,帮助用户更好地了解它们的区别并做出选择。
|
16天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。