站群服务器
美国香港多IP国外服务器测评及优惠码推荐

阿里云服务器 ECS Linux CentOS OpenVPN 配置概述

本文简要说明如何在 CentOS 系统下配置 OpenVPN 和如何配置 Windows PC 客户端。

说明:本文相关配置和说明仅用于示例和操作指引,阿里云不对相关操作结果及由此产生的问题负责。

配置 OpenVPN

  • 准备工作
  • 安装 OpenVPN 服务
  • 配置 OpenVPN 服务(服务端)
  • 启动 OpenVPN

准备工作

在安装 OpenVPN 服务前,请确保完成以下准备工作:

  1. 使用 工具:update_source.sh 更新 yum 源为阿里云的内网 yum 源。
  2. 安装依赖的软件包:
bash
yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel
yum install -y pkcs11-helper pkcs11-helper-devel

确认软件包已经安装完成:

  1. bash
  2. rpm -qa lzolzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel

安装 OpenVPN 服务

请按照以下步骤安装 OpenVPN 服务:

  1. 下载 OpenVPN 的源码包:# wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz
  2. 使用 rpmbuild 命令将源码包编译成 rpm 包进行安装:# rpmbuild -tb openvpn-2.2.2.tar.gz。执行 rpmbuild 命令后即开始编译,编译完成后,/root/rpmbuild/RPMS/x86_64目录下会生成名为 openvpn-2.2.2-1.x86_64.rpm 的安装包。
  3. 执行# rpm -ivh openvpn-2.2.2-1.x86_64.rpm,以 rpm 包的方式进行安装:

配置 OpenVPN 服务(服务端)

配置 OpenVPN 服务分为 4 个阶段:

  • 初始化
  • 生成证书、密钥和参数文件
  • 复制证书、密钥和参数文件
  • 设置 iptables

初始化

执行命令初始化 PKI:cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0,然后进入/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0目录,找到 vars 证书环境文件,修改以下 5 行 export 定义的参数值:

  1. bash
  2. export KEY_COUNTRY="CN" 所在的国家
  3. export KEY_PROVINCE="BJ" 所在的省份
  4. export KEY_CITY="Hangzhou" 所在的城市
  5. export KEY_ORG="aliyun" 所属的组织
  6. export KEY_EMAIL=my@test.com 邮件地址

说明:您可以对上述参数的值进行自定义设置,不会导致 OpenVPN 配置出现异常。

生成证书、密钥和参数文件

请按照以下步骤生成所需的证书、密钥和参数文件:

  1. 执行以下命令,生成服务端的证书并清除keys目录下的所有 key:
bash
ln -s openssl-1.0.0.cnf openssl.cnf 软链接到openssl-1.0.0.cnf配置文件
source ./vars
./clean-all

2.执行以下命令生成 CA 证书。在初始化时,您已经在 vars 证书环境文件中配置了默认参数值,在本步骤中连续回车确认,完成配置即可。

  1. `./build-ca`

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

./build-key-server aliyuntest

4. 执行以下命令创建秘钥与证书,其中aliyunuser是用户名,连续回车确认,最后会有两次交互,输入y确认。完成后,keys目录下会生成 1024 位 RSA 服务器密钥aliyunuser.keyaliyunuser.crtaliyunuser.csr三个文件。

  1. ./build-key aliyunuser

5. 执行以下命令,生成用于客户端验证的 Diffie Hellman 参数,完成后,keys目录下会生成 dh 参数文件dh1024.pem

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

请按照以下步骤将生成的证书、密钥和参数文件复制到指定位置:

  1. 执行以下命令,将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys目录下的所有文件复制到/etc/openvpn目录下:
    1. cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/
  2. 执行以下命令,将 OpenVPN 服务端配置文件server.conf复制到/etc/openvpn/目录下:
    1. cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/

配置完成后,server.conf文件的内容如下:

bash
$ egrep -v "^$|^#|^;" server.conf
local 1.1.1.1  请在此处填写您的云服务器的公网IP地址
port 1194
proto udp
dev tun
ca ca.crt
cert aliyuntest.crt   请在此处填写生成服务器端证书时您自定义的crt名称
key aliyuntest.key   请在此处填写生成服务器端证书时您自定义的key名称
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

设置 iptables

设置 iptables 前,请确保 iptables 已经开启且/etc/sysconfig/iptables文件已经存在,然后按照以下步骤完成设置:

  1. 开启内部路由转发:
  1. vi /etc/sysctl.conf

2. 修改以下参数,启用 IPv4 转发:

  1. 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

启动 OpenVPN

执行命令启动 OpenVPN:/etc/init.d/openvpn start,然后执行命令:netstat -ano | grep 1194,查看 1194 端口正在监听,确保 OpenVPN 正在运行。

配置 Windows PC 客户端

请按照以下步骤配置 Windows PC 客户端:

  1. 下载Windows PC 客户端。
  2. 执行 Windows PC 客户端安装程序,按照默认设置安装完成。
  3. 将云服务器中/etc/openvpn/目录下的aliyunuser.keyaliyunuser.crt 和 aliyunuser.csr三个文件下载到需要连接 OpenVPN 的 Windows PC 客户端上(可以使用 ftp 工具下载),保存路径为 OpenVPN 安装路径下的\OpenVPN\config目录。
  4. 配置 client.opvn。在 OpenVPN 安装路径下,将\OpenVPN\sample-config\目录下的client.opvn复制到\OpenVPN\config目录下,然后修改配置文件中的以下参数:
bash
proto udp   去掉前面的分号,采用udp协议,与服务器端保持一致
remote  1.1.1.1  1194   请在此处将1.1.1.1修改为您的云服务器的公网IP地址,同时去掉该行前面的注释分号
cert aliyunuser.crt
key aliyunuser.key

5. 打开C:\Program Files (x86)\OpenVPN\bin目录,右击openvpn-gui-1.0.3.exe文件,选择 以管理员身份运行(A)(避免导致添加路由失败)。

6. 连接成功后,访问阿里云的内网镜像源,确认可以通过 OpenVPN 访问阿里云内网:

连接成功后,访问阿里云的内网镜像源,确认可以通过 OpenVPN 访问阿里云内网:

然后访问 ip.cn,可以看到此时 Windows PC 端的出口公网 IP 已经变为云服务器的公网 IP 地址:

如果本文未能解决您的问题,您可以前往阿里云社区进行免费咨询,或者联系云市场商家寻求帮助。

赞(0) 打赏
未经允许不得转载:站群服务器 » 阿里云服务器 ECS Linux CentOS OpenVPN 配置概述
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏