欢迎光临
我们一直在努力

学派吧-关于Linux CentOS OpenVPN配置概述的具体教程-linux教程

本文概要说明 CentOS 系统下的 OpenVPN 配置。

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

OpenVPN 配置


  • 准备工作

  • 安装 OpenVPN 服务

  • 配置 OpenVPN 服务(服务端)

  • 启动 OpenVPN

准备工作

1. 使用 工具:update_source.sh 更新 yum 源为阿里云的内网 yum源。

2. 安装依赖的软件包:

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

确认已经安装完成:

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

1-rpm.jpg

安装 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

执行这条命令以后就会正常开始编译了,编译完成以后会在 /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包的方式安装:

2-狿瀀洀.jpg

配置 OpenVPN 服务(服务端)

1. 初始化 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 证书环境文件,修改以下几行 export 定义的参数值

bashexportKEY_COUNTRY="CN"   所在的国家export KEY_PROVINCE="BJ"  所在的省份exportKEY_CITY="Hangzhou"   所在的城市exportKEY_ORG="aliyun"        所属的组织 export KEY_EMAIL=my@test.com    邮件地址

上述参数的值可以自定义设置,对配置无影响。

2. 生成服务端的证书:

清除并删除 keys 目录下的所有 key

bashln -s openssl-1.0.0.cnf openssl.cnf 做个软链接到openssl-1.0.0.cnf配置文件 source ./vars./clean-all

生成 CA 证书,刚刚已经在 vars 文件中配置了默认参数值,多次回车完成就可以 :

./build-ca

3-buledca.jpg

生成服务器证书,其中 aliyuntest 是自定义的名字,一直回车,到最后会有两次交互,输入 y 确认,完成后会在 keys 目录下保存了 aliyuntest.key、aliyuntest.csr 和 aliyuntest.crt 三个文件。

./build-key-server aliyuntest

4-秿.jpg

3. 创建用户秘钥与证书

./build-key aliyunuser

创建用户名为 aliyunuser 的秘钥和证书,一直回车,到最后会有两次确认,只要按y确认即可。完成后,在 keys 目录下生成 1024 位 RSA 服务器密钥 aliyunuser.key、aliyunuser.crt 和 aliyunuser.csr 三个文件。

4. 生成 Diffie Hellman参 数

./build-dh

执行了./build-dh后,会在 keys 目录下生成 dh 参数文件 dh1024.pem。该文件客户端验证的时候会用到。

5. 将 /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/

6. 复制 openvpn 服务端配置文件 server.conf 到 /etc/openvpn/ 目录下:

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

7. server.conf 配置

配置完成后的内容如下:

bash$ egrep -v "^$|^#|^;" server.conflocal 1.1.1.1  此处请填写用户自己的云服务器的公网IP地址port 1194proto udpdev tunca ca.crtcert aliyuntest.crt   此处crt以及下一行的key,请填写生成服务器端证书时用户自定义的名称key aliyuntest.key  dh dh1024.pemserver 172.16.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 223.5.5.5"  client-to-clientkeepalive 10 120comp-lzouser nobodygroup nobodypersist-keypersist-tunstatus openvpn-status.loglog         openvpn.logverb 3

0.jpg

8. 设置 iptables

设置前请确保 iptables 已经开启,而且 /etc/sysconfig/iptables 文件已存在。然后开启转发:

vi /etc/sysctl.conf

修改以下内容:

net.ipv4.ip_forward = 1

然后使内核参数生效:

sysctl -p

添加 iptables 规则确保服务器可以转发数据包到阿里云内外网:

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

保存 iptables 配置:

service iptables save

启动 OpenVPN

/etc/init.d/openvpn start

通过 netstat -ano | grep 1194 查看 1194 端口在监听,确保 openvpn 在运行中。

Windows PC 客户端的配置


1.下载 openvpn 客户端

2. 安装:Windows系统下安装,按照默认设置安装完成。

3. 将云服务器中 /etc/openvpn/ 目录下的 aliyunuser.key、aliyunuser.crt 和 aliyunuser.csr 三个文件下载到需要连接 openvpn 的 Windows 客户端上(可以使用 ftp 或者 xftp 工具下载)。

保存路径为 openvpn 软件的安装路径下的 \OpenVPN\config 目录。

4. 配置 client.opvn

将 openvpn 安装路径下的 \OpenVPN\sample-config\ 目录中下的 client.opvn 复制到 openvpn 安装路径下的 \OpenVPN\config 目录,然后修配置文件中的如下参数;

bashproto 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 文件,右键选择以管理员权限运行(避免普通用户运行导致添加路由失败):

8-.jpg

6. 连接成功后,通过访问阿里云的内网镜像源 http://mirrors.aliyuncs.com/ 确认可以通过 openvpn 访问阿里云内网:

7-.jpg

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

6-ipcn.jpg

以上就是关于Linux CentOS OpenVPN配置概述的具体介绍的详细内容,更多请关注学派吧其它相关文章!

赞(0) 打赏
未经允许不得转载: » 学派吧-关于Linux CentOS OpenVPN配置概述的具体教程-linux教程

评论 抢沙发

更好的服务器推荐选择

本站主要用于阿里云、腾讯云、华为云服务器活动的推荐及优惠购买方式、并搜集服务器运维的日常解决方案!

联系我们联系我们

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

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册