1、安装openvpn 和easy-rsa(该包用来制作ca证书)

(1)安装epel 仓库源

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -Uvh epel-release-6-8.noarch.rpm

(2)安装openvpn

[root@master1 ~]# yum install openvpn

(3)在github 上,下载最新的easy-rsa

① https://github.com/OpenVPN/easy-rsa 下载包

② 上传,解压缩

[root@master1]# mkdir openvpn

[root@master1 easy-rsa]# tar xvf EasyRSA-3.0.8.tgz

2、配置/etc/openvpn/ 目录

(1)创建目录,并复制easy-rsa 目录

[root@master1 ~]# mkdir -p /etc/openvpn/

[root@master1 easy-rsa]#  cp -rf /usr/share/easy-rsa/EasyRSA-3.0.8/* /etc/openvpn/easy-rsa

cp /etc/openvpn/easy-rsa/openssl-easyrsa.cnf /etc/openvpn/easy-rsa/openssl.cnf

cp vars.example vars

(2)编辑vars文件,根据自己环境配置

[root@master1 easy-rsa]# vim vars

set_var EASYRSA_REQ_COUNTRY     "CN"
set_var EASYRSA_REQ_PROVINCE    "Shanghai"
set_var EASYRSA_REQ_CITY        "Shanghai"
set_var EASYRSA_REQ_ORG         "zed"
set_var EASYRSA_REQ_EMAIL       "hanjushu@zed.com"
set_var EASYRSA_REQ_OU          "My OpenVPN"

3、创建服务端证书及key

进入/etc/openvpn/easy-rsa/目录

① 初始化

[root@master1 easy-rsa]# ./easyrsa init-pki

② 创建根证书

[root@master1 easy-rsa]# ./easyrsa build-ca

注意:在上述部分需要输入PEM密码 PEM pass phrase,输入两次,此密码必须记住,不然以后不能为证书签名。还需要输入common name 通用名,这个你自己随便设置个独一无二的。

③ 创建服务器端证书

[root@master1 easy-rsa]# ./easyrsa gen-req server nopass

该过程中需要输入common name,随意但是不要跟之前的根证书的一样

④ 签约服务端证书

[root@master1 easy-rsa]# ./easyrsa sign server server

该命令中.需要你确认生成,要输入yes,还需要你提供我们当时创建CA时候的密码。如果你忘记了密码,那你就重头开始再来一次吧

⑤ 创建Diffie-Hellman,确保key穿越不安全网络的命令

[root@master1 easy-rsa]# ./easyrsa gen-dh

4、创建客户端证书

① 进入root目录新建client文件夹,文件夹可随意命名,然后拷贝前面解压得到的easy-ras文件夹到client文件夹,进入下列目录

[root@master1 ~]# mkdir client

[root@master1 ~]# cp -rf /openvpn/EasyRSA-3.0.8/* /client

[root@master1 ~]# cd client/easy-rsa/

② 初始化

[root@master1 easy-rsa]# ./easyrsa init-pki //需输入yes 确定

③ 创建客户端key及生成证书(记住生成是自己客户端登录输入的密码)

[root@master1 easy-rsa]# ./easyrsa gen-req along //名字自己定义

④ 将得到的qingliu.req导入然后签约证书

a. 进入到/etc/openvpn/easy-rsa/

[root@master1 easy-rsa]# cd /etc/openvpn/easy-rsa/

b. 导入req

[root@master1 easy-rsa]# ./easyrsa import-req /client/easy-rsa/pki/reqs/zedguest.req zedguest

c. 签约证书

[root@master1 easy-rsa]# ./easyrsa sign client zedguest

//这里生成client所以必须为client,zedguest要与之前导入名字一致

上面签约证书跟server类似,就不截图了,但是期间还是要输入CA的密码

5、把服务器端必要文件放到etc/openvpn/ 目录下

ca的证书、服务端的证书、秘钥

[root@master1 ~]# cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/

[root@master1 ~]# cp /etc/openvpn/easy-rsa/pki/private/server.key /etc/openvpn/

[root@master1 ~]# cp /etc/openvpn/easy-rsa/pki/issued/server.crt /etc/openvpn/

[root@master1 ~]# cp /etc/openvpn/easy-rsa/pki/dh.pem /etc/openvpn/

6、把客户端必要文件放到root/openvpn/ 目录下

客户端的证书、秘钥

[root@master1 ~]# cp /etc/openvpn/easy-rsa/pki/ca.crt /client/

[root@master1 ~]# cp /etc/openvpn/easy-rsa/pki/issued/zedguest.crt /client/

[root@master1 ~]# cp /client/easy-rsa/pki/private/along.key /client

7、为服务端编写配置文件

(1)当你安装好了openvpn时候,他会提供一个server配置的文件例子,在/usr/share/doc/openvpn-2.4.11/sample/sample-config-files 下会有一个server.conf文件,我们将这个文件复制到/etc/openvpn

[root@master1 ~]# rpm -ql openvpn |grep server.conf

[root@master1 ~]# cp /usr/share/doc/openvpn-2.4.11/sample/sample-config-files/server.conf /etc/openvpn

(2)修改配置文件

[root@master1 ~]# vim /etc/openvpn/server.conf

[root@master1 ~]# grep '^[^#|;]' /etc/openvpn/server.conf 修改的地方如下:

local 0.0.0.0     #监听地址
port 1194     #监听端口
proto tcp     #监听协议
dev tun     #采用路由隧道模式
ca /etc/openvpn/ca.crt      #ca证书路径
cert /etc/openvpn/server.crt       #服务器证书
key /etc/openvpn/server.key  # This file should be kept secret 服务器秘钥
dh /etc/openvpn/dh.pem     #密钥交换协议文件
server 10.8.0.0 255.255.255.0     #给客户端分配地址池,注意:不能和VPN服务器内网网段有相同
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"      #给网关
push "dhcp-option DNS 8.8.8.8"        #dhcp分配dns
client-to-client       #客户端之间互相通信
keepalive 10 120       #存活时间,10秒ping一次,120 如未收到响应则视为断线
comp-lzo      #传输数据压缩
max-clients 100     #最多允许 100 客户端连接
user openvpn       #用户
group openvpn      #用户组
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 3

每个项目都会由一大堆介绍,上述修改,openvpn提供的server.conf已经全部提供,我们只需要去掉前面的注释#,然后修改我们自己的有关配置

(3)配置后的设置

[root@master1 ~]# mkdir /var/log/openvpn

[root@master1 ~]# chown -R openvpn.openvpn /var/log/openvpn/

[root@master1 ~]# chown -R openvpn.openvpn /etc/openvpn/*

8、iptables 设置nat 规则和打开路由转发

[root@master1 ~]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

[root@master1 ~]# iptables -vnL -t nat

[root@master1 ~]# vim /etc/sysctl.conf //打开路由转发

net.ipv4.ip_forward = 1

[root@along ~]# sysctl -p

9、开启openvpn 服务

[root@master1 ~]# openvpn /etc/openvpn/server.conf 开启服务

[root@master1 ~]# ss -nutl |grep 1194

如果开启后没有打开1194 端口,说明开启服务失败,可能是配置文件有错,也有可能是权限不够,自己查询日志解决。

Centos搭建服务相关推荐

  1. Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛

    Centos 搭建高性能WEB服务 Nginx+PHP+MYSQL+Discuz论坛 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运 ...

  2. Centos搭建FTP服务

    前言: Centos 搭建FTP服务学习记录 FTP简介 FTP简称"文件传输协议",用于Internet上的控制文件的双向传输. 在FTP中常遇到两个概念: 下载和上传 &quo ...

  3. 阿拉德手游服务端Centos搭建教程

    阿拉德手游服务端Centos搭建教程 大家好我是艾西,又有几天没有更新文章了.这几天看了看还是有不少人对手游感兴趣,今天给大家分享一款早些年大火的pc游戏,现在也有手游了"阿拉德" ...

  4. CentOS -OpenStack-pike 服务搭建

    Centos-7 部署openstack-pike步骤详解 加入老张: 作者老张 关注老张微信公众号: 一.        环境准备: 控制节点与计算节点都做环境部署 1.1   两台虚拟机 两台ce ...

  5. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步) 1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: # ...

  6. ngrok linux开机自启动,CentOS 搭建ngrok服务器

    原标题:CentOS 搭建ngrok服务器 1一.前提条件 1. 准备好一台主机,带公网IP 2. 准备一个一级域名,做好泛解析(二级域名的没有配置成功,汗...) 切记 一定要做好域名泛解析 二.安 ...

  7. Centos 搭建activemq

    Centos 搭建activemq 1,官方下载  http://activemq.apache.org/activemq-5122-release.html apache-activemq-5.15 ...

  8. lepus mysql 复制监控_MySQL数据库之CentOS搭建lepus3.8监控MySQL

    本文主要向大家介绍了MySQL数据库之CentOS搭建lepus3.8监控MySQL ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. LNMP环境 yum -y install ...

  9. centos / Linux 服务环境下安装 Redis 5.0.3

    centos / Linux 服务环境下安装 Redis 5.0.3 原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local ...

最新文章

  1. 英伟达显卡功率(频率)锁死
  2. C语言关于static的解析
  3. 文巾解题 1179. 重新格式化部门表
  4. 第四范式入围Gartner新兴技术与趋势影响力雷达全球代表厂商
  5. 【论文解读】通过知识蒸馏促进轻量级深度估计
  6. 【Nginx】错误: [emerg] “proxy_set_header“ directive is not allowed here in D:\sde\phpstudy_pro\...
  7. 逆向工程核心原理读书笔记-API钩取之记事本小写转大写
  8. Loadrunner常用15种的分析点
  9. 某个元素的距离页面的左边距_如何提高办公写作效率?先设置好页面上的这4类数据,准没错...
  10. java解析消息头代码_javaWeb项目-文件下载的消息头和编码问题
  11. mfc 禁用子菜单_MFC界面开发难上手?BCGControlBar v30.3帮你忙—工具栏和菜单
  12. 为什么调试的时候需要编译选项中添加 -g,readelf命令.
  13. python爬取电子书
  14. Hulk容器服务的镜像CI解决方案
  15. Python爬虫爬取小说 转换成epub格式
  16. android对cpu硬件要求,Android手机想用64位处理器?系统阻碍
  17. Excel笔记(3)常用函数11-20
  18. 富文本编辑器:ckeditor(使用官网下载包)
  19. 【海量数据学院】DBA学习方法论系列之:明确的学习目标
  20. UIWebView的用法

热门文章

  1. oppo reno5什么时候上市
  2. 【单片机仿真项目】数码管(proteus原理图+keil代码)
  3. XMPP——Smack[2]会话、消息监听、字体表情和聊天窗口控制
  4. 汽车芯片TJA1057GTK/3高速 CAN 收发器3 毫米 x 3 毫米 x 0.85 毫米
  5. 52. 文件上传篇——Apache漏洞原理
  6. git 命令git 地址_5个高级Git命令来启动您的Git游戏
  7. 学习-软件测试-Selenium-unittest-Maven-Jmeter
  8. 【自动化测试】想了解Selenium吗?看这里!
  9. 软件架构---微核架构
  10. 北京大学简约毕业答辩PPT模板