阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

HAproxy + Keepalive实现LDAP代理服务

442次阅读
没有评论

共计 3823 个字符,预计需要花费 10 分钟才能阅读完成。

HAproxy + Keepalive 实现 LDAP 代理服务

因为公司的各种高自研发的系统非常多,这些系统又全部是在使用 LDAP 做认证,目前我们有几台 DC 控制器来分担这些 ldap 请求,用户通过访问 ldap.xxxx.com 这个域名来连接 ldap 服务器,我们通过 DNS 轮询的方式指向不同的 DC 服务器。

这样出现一个问题就是:当某一台 DC 挂掉的时候,会导致部分用户或者系统的认证失败,为了达到高可用性,我们更改了环境拓扑,用四台 linux 服务器充当代理服务器,代理所有 ldap 请求。

结构如下图:

HAproxy + Keepalive 实现 LDAP 代理服务

简单解释一下,4 台代理服务器两两一组,都是一台主机,一台热备,分配两个 VIP,用户通过 DNS 查询 ldap 这个 a 记录会被轮询到这两个虚 IP 的代理服务器上,代理服务器后端通过 HAproxy 检测 DC 主机端口状态,平均分配用户请求到这些主机上,如果用 DC 主机故障,就不分配请求。两台一组的代理服务器通过 keepalived 检测健康状态,如果一台故障,自动将 vip 飘到备份主机上。

我不得不说,因为我在接到这个任务之前,完全是个 linux 小白,我连 linux 怎么做系统都不会。。所以如果我的这篇文章有写的不对的地方,请多多指出。

好吧,虽然我不会装 linux 系统,但是公司技术部的大大和安全组的大大们研发了一套 linux 的 pxe 自助系统,我只需要 PXE 启动后,选择我要装 linux RHEL 6.3 版本即可,所以我这里没法介绍怎么做系统。

同样,IP 和主机名的修改我也不讲了,这个还是挺容易查到的。

现在开始进行系统的配置:

安装 keepalived 和 HAProxy 需要的组件

好吧,我可以用 yum 命令。。又省事了
yum install gcc kernel-headers kernel-devel
yum install keepalived

2 配置 keepalived:
Keepalived 配置文件的默认位置为:
vi /etc/keepalived/keepalived.conf

建议复制一份原始的做备份
修改配置文件为:

vrrp_scriptchk_http_port {
script”/etc/keepalived/check_haproxy.sh”  #检测 haproxy 健康状态的脚本
interval 2
weight 2 }
vrrp_instanceVI_1 {
interface eth0
state MASTER #备机配置为 BACKUP
priority 101 #备机配置为 100
virtual_router_id 51 #keepalived 组表示,同一组中的主机该值要一样
smtp_alert
virtual_ipaddress {
x.x.x.2        #虚拟 IP
}
track_script {
chk_http_port
}
}

创建上面用到的脚本文件,意思是当检测到 haproxy 服务没有启动时启动它,如果启动失败则停掉本机的 keepalived 服务,这样 VIP 会切换到备机上:

#vi /etc/keepalived/check_haproxy.sh
#!/bin/bash
A=`ps -C haproxy –no-header |wc -l`
if [$A -eq 0];then
/root/haproxy-1.4.23/haproxy -f /root/haproxy-1.4.23/haproxy.cfg
sleep 3
if [`ps -C haproxy –no-header |wc -l` -eq 0];then
/etc/init.d/keepalived stop
fi
fi
#chmod 755 /etc/keepalived/check_haproxy.sh

3 安装 HAProxy
wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.23.tar.gz
tar–zvxf haproxy-1.4.23.tar.gz
cd haproxy-1.4.23
make TARGET=linux26

4 配置 HAProxy

创建配置文件:
vi /root/haproxy-1.4.23/haproxy.cfg

配置文件如下
global
        log /dev/log local0 info  #日志
        log /dev/log local0 notice #日志
        maxconn 4096
        user root
        group root
        daemon
defaults
        log global
        contimeout 5000
        clitimeout 50000
        srvtimeout 50000
        option forwardfor
        option redispatch
        stats refresh 30
        retries 3
frontend ldap_tcp
        bind *:389
        default_backend pool_ldap
        log global
        option forwardfor
backend  pool_ldap
        balance roundrobin
        mode tcp
        server DC03 10.1.1.3:389 check inter 5000              #监听的 LDAP 服务器
        server DC04 10.1.1.4:389 check inter 5000
        server DC05 10.1.1.5:389 check inter 5000
        server DC06 10.1.1.6:389 check inter 5000
frontend vs_stats :8081      #监控页面端口
        mode http
        default_backend stats_backend
backend stats_backend
        mode http
        stats enable
        stats uri /stats        #监控页面 URL
        stats auth admin:admin      #监控页面管理员账号和密码

主机和备机配置一样。

配置 HAProxy 日志:
vi /etc/syslog.conf

修改 syslog 内容,添加一行:
local0.* /var/log/haproxy.log

重启 rsyslog 服务
service rsyslog restart

可以在 /var/log 下看到 haproxy.log 了

5 启用服务
全部配置完毕后,使用下面命令启动服务:
service keepalived start

keepalived 会自动把 haproxy 启动
chkconfig keepalived on

让 keepalived 开机自启动。

6 启用 LDAPS 代理
如果同时还要添加 636 的 SSL ldap 认证,还需要为 DC 安装证书
因为我们有多个 DC 服务器,所以需呀一张类似 Exchange 的 SAN 证书,即多域名证书。可以通过 Exchange 服务器上的证书申请功能申请,也可以直接像 CA 申请,这里讲解直接像 CA 申请,因为比较复杂:

登录 CA 服务器,打开 PowerShell,输入:
certutil-setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
该命令允许 CA 接受 SAN 证书的申请。

在申请证书网站的界面的 Attribute 属性中,输入:
san:dns=dc03.xxx.com&dns=ldap.xxx.com.com&dns=dc04.xxx.com&dns=dc05.xxx.com&dns=dc06.xxx.com
提交证书申请后,就会得到一张多域名证书。将其安装在各 DC 上。

在 HAProxy 脚本加入下面内容:
frontendldap_ssl
bind *:636
default_backend pool_ssl
backendpool_ssl
balance roundrobin
mode tcp
server DC03 10.1.1.3:636 check inter 5000#LDAP 服务器
server DC04 10.1.1.4:636 check inter 5000
server DC05 10.1.1.5:636 check inter 5000
server DC06 10.1.1.6:636 check inter 5000

重启服务后,整个代理环境就算配置完成了。

HAproxy 的详细介绍:请点这里
HAproxy 的下载地址:请点这里

推荐阅读:

Haproxy+Keepalived 搭建 Weblogic 高可用负载均衡集群 http://www.linuxidc.com/Linux/2013-09/89732.htm

Keepalived+HAProxy 配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

CentOS 6.3 下 Haproxy+Keepalived+Apache 配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy + KeepAlived 实现 WEB 群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Haproxy+Keepalived 构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3823字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19349
评论数
4
阅读量
7832953
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开源神器组合!1Panel面板+Halo助你轻松打造个人/企业内容中心

开源神器组合!1Panel面板+Halo助你轻松打造个人/企业内容中心

开源神器组合!1Panel 面板 +Halo 助你轻松打造个人 / 企业内容中心 前言 大家好,我是星哥,之前...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...