CentOS搭建Open服务(集成openldap认证)
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
yum install openvpn
(3)在github 上,下载最新的easy-rsa
https://github.com/OpenVPN/easy-rsa 下载包
mkdir openvpn
cd openvpn
unzip easy-rsa-3.0.5.zip
mv easy-rsa-3.0.5 easy-rsa
2、配置/etc/openvpn/ 目录
(1)创建目录,并复制easy-rsa 目录
cp -a easy-rsa /etc/openvpn/
(2)配置,编辑vars文件,根据自己环境配置
cd /etc/openvpn/easy-rsa/easyrsa3
cp vars.example vars
cd /etc/openvpn/easy-rsa/easyrsa3
vim vars
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "ZheJiang"
set_var EASYRSA_REQ_CITY "HangZhou"
set_var EASYRSA_REQ_ORG "ethnicity"
set_var EASYRSA_REQ_EMAIL "ops
set_var EASYRSA_REQ_EMAIL "ops@ethnicity.cn"
set_var EASYRSA_REQ_OU "My OpenVPN"
3、创建服务端证书及key
进入
/etc/openvpn/easy-rsa/easyrsa3/目录
① 初始化
cd /etc/openvpn/easy-rsa/easyrsa3/
./easyrsa init-pki
② 创建根证书
./easyrsa build-ca
注意:在上述部分需要输入PEM密码 PEM pass phrase,输入两次,此密码必须记住,不然以后不能为证书签名。还需要输入common name 通用名,这个你自己随便设置个独一无二的。
③ 创建服务器端证书
./easyrsa gen-req server nopass
该过程中需要输入common name,随意但是不要跟之前的根证书的一样
④ 签约服务端证书
./easyrsa sign server server
该命令中.需要你确认生成,要输入yes,还需要你提供我们当时创建CA时候的密码。如果你忘记了密码,那你就重头开始再来一次吧
⑤ 创建Diffie-Hellman,确保key穿越不安全网络的命令
./easyrsa gen-dh
4、创建客户端证书
① 进入root目录新建client文件夹,文件夹可随意命名,然后拷贝前面解压得到的easy-ras文件夹到client文件夹,进入下列目录
mkdir client
cp /etc/openvpn/easy-rsa client/
cd client/easy-rsa/easyrsa3/
② 初始化
./easyrsa init-pki //需输入yes 确定
③ 创建客户端key及生成证书(记住生成是自己客户端登录输入的密码)
./easyrsa gen-req ethnicity //名字自己定义
④ 将的到的qingliu.req导入然后签约证书
a. 进入到
/etc/openvpn/easy-rsa/easyrsa3/
cd /etc/openvpn/easy-rsa/easyrsa3/
b. 导入req
./easyrsa import-req /root/client/easy-rsa/easyrsa3/pki/reqs/ethnicity.req ethnicity
c. 签约证书
./easyrsa sign client ethnicity
//这里生成client所以必须为client,along要与之前导入名字一致
上面签约证书跟server类似,就不截图了,但是期间还是要输入CA的密码
5、把服务器端必要文件放到etc/openvpn/ 目录下
ca的证书、服务端的证书、秘钥
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key /etc/openvpn/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt /etc/openvpn/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn/
6、把客户端必要文件放到root/openvpn/ 目录下
客户端的证书、
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /root/client/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/along.crt /root/client/
cp /root/client/easy-rsa/easyrsa3/pki/private/along.key /root/client
7、为服务端编写配置文件
vim /etc/openvpn/server.conf
local 0.0.0.0
port 1194
proto tcp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.222.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
client-to-client
keepalive 10 120
comp-lzo
max-clients 100
push "route 172.19.208.0 255.255.240.0"
user openvpn
group openvpn
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
#plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf %u"
client-cert-not-required
username-as-common-name
script-security 3
verb 3
ldap配置文件
cat /etc/openvpn/auth/ldap.conf
<LDAP>URL ldap://172.19.220.168:389BindDN cn=admin,dc=ethnicity,dc=cnPassword xxxxxxxTimeout 15TLSEnable noFollowReferrals no
</LDAP>
<Authorization>BaseDN "ou=People,dc=ethnicity,dc=cn"SearchFilter "uid=%u"RequireGroup true<Group>BaseDN "ou=Group,dc=ethnicity,dc=cn"SearchFilter "(objectclass=groupOfUniqueNames)"MemberAttribute uniqueMember</Group>
</Authorization>
8、iptables 设置nat 规则和打开路由转发
iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -j MASQUERADE
iptables -vnL -t nat
vim /etc/sysctl.conf //打开路由转发
net.ipv4.ip_forward = 1
sysctl -p
9、开启openvpn 服务
openvpn /etc/openvpn/server.conf 开启服务
ss -nutl |grep 1194
添加用户的脚本
cat add_user.sh
#!/bin/bash
user=$1
cd /root/client/easy-rsa/easyrsa3/
./easyrsa init-pki
./easyrsa gen-req $user
rm -rf /etc/openvpn/easy-rsa/easyrsa3/pki/reqs/$user.req
cd /etc/openvpn/easy-rsa/easyrsa3/
./easyrsa import-req /root/client/easy-rsa/easyrsa3/pki/reqs/$user.req $user
./easyrsa sign client $user
cp -r /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /root/client/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/$user.crt /root/client/
cp /root/client/easy-rsa/easyrsa3/pki/private/$user.key /root/client
最后附件client的配置
cat client.ovpn
client
dev tun
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
comp-lzo
remote-cert-tls server
route-delay 2
cipher AES-256-CBC
remote xxxxxx1194
ca /etc/openvpn/client/ca.crt
auth-user-pass /etc/openvpn/client/pass.txt
auth-nocache
/etc/openvpn/client/pass.txt 账号密码在两行
CentOS搭建Open服务(集成openldap认证)相关推荐
- LDAP落地实战(三):GitLab集成OpenLDAP认证
上一篇文章介绍了svn集成OpenLDAP认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍GitLab如何集成openldap实现账号认证 GitLab集成OpenLDAP ...
- Centos搭建FTP服务
前言: Centos 搭建FTP服务学习记录 FTP简介 FTP简称"文件传输协议",用于Internet上的控制文件的双向传输. 在FTP中常遇到两个概念: 下载和上传 &quo ...
- zabbix集成openldap认证
环境 centos7.9 zabbix 5.0 LTS openldap zabbix服务器上运行如下命令: php -m|grep ldap #查看模块是否开启 zabbix web页面配置 LDA ...
- CentOS 搭建 Vsftpd 服务,一次性成功,收藏了!
点击下方"民工哥技术之路",选择"设为星标" 回复"1024"获取独家整理的学习资料! 文件传输协议 FTP 文件传输协议(FTP)是一种基 ...
- Centos搭建ARK服务器之路
最近ark打折,买了之后和小伙伴准备一起搭建服务器来玩,然后就查了下资料,因为本人服务器是centos的 利用剩余空间弄了个服务器,然后发现,ark服务器真耗内存啊-- 然后实在看不懂的,本人的服务器 ...
- CentOS搭建云服务平台
原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历 目录 文章目录 目录 前言 ...
- 基于Linux CentOS搭建FTP服务
vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器.vsftpd支持匿名访问和本地用户模式两种访问方式.匿名访问方式任何用户都可以访问搭建的F ...
- centos搭建rsync服务!
为什么80%的码农都做不了架构师?>>> rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部 ...
- gitlab集成openldap认证
配置文件 cat /etc/gitlab/gitlab.rb gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YA ...
最新文章
- VISTA IIS Worker Process 已停止工作 解决办法
- Android中使用Room时怎样存储带list集合的对象
- cocos2d-x 3.2 移植到android
- import是引进外部函数吗_CMake之引入外部项目的三种方法
- mysql自动更新时间的触发器
- java onkeydown_java笔记 js onkeypress与onkeydown 事件区别详细说明
- 剑破冰山—Oracle开发艺术 目录
- 【老生谈算法】matlab实现追赶法算法——追赶法算法
- MB1504的程序实践与调试
- 实现写邮箱html页面,HTML写的第一个邮箱登陆界面
- 检验检测系统管理服务器,检验检测管理平台
- Android 中this的用法
- css3-文字添加边框
- 进程间通信之FIFO
- SpringBoot+logback优雅的配置日志!
- 安卓分析工具GameGurdian使用说明
- luckysheet实现在线编辑Excel
- 编译原理 LL1文法的判断和句子识别
- signature=f89e259b8a982ede42b69434f81f5bc3,利用 cDNA-AFLP技术鉴定马铃薯晚疫病菌小种特异无毒基因候选表达序列...
- android 如何刷机,安卓怎么刷机_安卓刷机图解_刷机大师教程
热门文章
- ArcGIS 网络分析 warning : the delay impedance of locationXX in Facilities exceeds the cutoff impedance
- unity转身代码_3DRPG游戏怎么控制人物转身
- 学java编程语言_为什么要学Java编程语言?
- 离散系统的零极点分布图
- Qt 6.2 LTS 与 Qt 5.15 LTS 的功能对比
- 第二次作业网络问卷制作
- linux3.x 驱动程序,Arm Linux3.x的设备树 - 龙芯开源社区
- 万向区块链蜂巢学院:王爽:隐私计算—数据经济、数据要素的基石
- 软件测试培训机构怎么选?这些你要知道、能省很多钱。
- python测试框架让case并发执行_《Flink官方文档》Python 编程指南测试版