学派吧-关于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配置概述的具体介绍的详细内容,更多请关注学派吧其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/2589.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年12月12日 下午10:13
下一篇 2018年12月12日 下午10:13

相关推荐

  • (centos)linux如何查看和修改系统时间

    在linux中一般会使用date命令来查看当前系统时间,使用date -s命令来修改系统时间。 如何查看当前系统时间? date命令是用来显示系统时间的,可以按照指定格式来显示日期,如果只键入date则以默认格式显示当前系统时间。【视频教程推荐:linux教程】 例: [root@localhost ~]# date Fri Mar 1 10:36:45 P…

    2019年3月13日
    6.8K00
  • WordPress优化-利用Nginx fastcgi_cache缓存加速 | centos运维

      高并发网站架构的核心原则其实就一句话”把所有的用户访问请求都尽量往前推“,即:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态服务器。以此类推:能不访问数据库和存储就一定不要去访问数据库和存储。 WordPress最好的…

    2018年11月21日
    5.7K00
  • Linux下alias命令的用法介绍-linux运维-学派吧

    本篇文章给大家带来的内容是关于Linux下alias命令的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近在使用ssh连接远程机器敲了类似ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138 这么长一串命令的时候被我们的运维吐槽了一波,遂给我安利了这个命令 1.alias的使用 alias命…

    服务器运维 2018年11月21日
    2.0K00
  • bt宝塔专业版切换免费版降级恢复

    前言 这几天看到群里很多朋友反馈。购买了一个月专业版,想恢复到免费版,不知道如何处理。今天小编把教程整理下发布出来。 操作 切换至免费版: wget -O update.sh http://download.bt.cn/install/update.sh && bash update.sh free 切换至专业版: wget -O update.sh htt…

    服务器运维 2018年9月21日
    5.9K00
  • Linux/centos无法打包-报错Read-only file system的解决方法-学派吧

    问题描述: 1:Linux系统变成只读了,复制文件提示:Read-only file system,如图所示: 2:centos系统无法打包、无法建立文件夹、无法启动宝塔等多重情况。都有可能是这个原因。 解决方法: 使用fsck手动修复,具体操作如下 注:如果硬盘故障则需要更换硬盘。 重启系统后使用root进入单用户模式,运行 fsck.ext3 -y /d…

    2019年5月1日
    3.8K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----