w

wsid

V1

2022/08/19阅读:682

FreeIPA高可用部署

一、环境准备

操作系统RedHat 7.7 FreeIPA版本 4.6.5

3台机器IP地址分别为192.168.199.83(主FreeIPA),192.168.199.193(副本FreeIPA),192.168.199.189(FreeIPAclient)

二、主FreeIPA服务安装

先关闭selinux和防火墙

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld.service
systemctl disable firewalld.service

配置镜像yum源,安装ipa-server服务

cat /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

#
 yum install -y ipa-server bind bind-dyndb-ldap ipa-server-dns ipa-server-trust-ad
bind 提供dns服务
bind-dyndb-ldap提供dns和ldap连接
ipa-server-dns提供ipa-server与dns连接
ipa-server-trust-ad是为了和AD互信,可不安装

配置hosts,首先要确保安装FreeIPA服务的服务器主机名为完全限定域名(FQDN)

hostnamectl set-hostname ipa1.bestest.com
echo "192.168.199.83 ipa1.bestest.com ipa1"  >>/etc/hosts

配置IPA-Server

执行ipa-server-install --setup-dns --domain=bestest.com --realm=BESTEST.COM

执行ipa-server-install --setup-dns  --domain=bestest.com --realm=BESTEST.COM

Server host name [ipa1.bestest.com]:     ---回车键(默认)

Please confirm the domain name [bestest.com]:    ---回车键(默认)

Please provide a realm name [BESTEST.COM]:  ---回车键(默认)

Directory Manager password:   ---设置目录管理的密码 最少是8位

IPA admin password:  ---设置ipa 管理员admin的密码 最少8位 一定要记住,后面要用到

Do you want to configure DNS forwarders? [yes]: no ---你想配置dns为转发器吗?选择no

Do you want to search for missing reverse zones? [yes]: yes --你想配置dns的反向域吗?选择yes

Continue to configure the system with these values? [no]: yes --继续配置系统其他的值?选择yes

验证DNS解析

# dig -t a ipa1.bestest.com
# dig -t ptr 192.168.199.83.bestest.com

Kerberos验证,获取 Kerberos tickets

[root@ipa1 ~]# kinit admin
Password for admin@BESTEST.COM:
[root@ipa1 ~]# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: admin@BESTEST.COM

Valid starting       Expires              Service principal
08/18/2022 19:26:13  08/19/2022 19:26:10  krbtgt/BESTEST.COM@BESTEST.COM

几个常用命令

# ipactl status    检查服务状态
# ipa user-find –all   查看用户
# ipa user-add wg --first=Gang --last=WU --password  新建用户
# ipa user-mod osuser1 --shell=/bin/bash    新建用户默认的shell为/bin/sh,使用ipa user-mod修改用户的登录shell为/bin/bash
# ipa group-add-member osadmin --users=osuser1    使用ipa group-add-member命令把osuser1用户加入到osadmin分组
# ipa --version     查看ipa版本
# ipactl [-f] start/stop/status  启动、停止、检查IPA服务
注:-f表示强制执行,可忽略由于某一服务启动失败导致整体启动失败的问题
# ipa-replica-manage list   显示replica列表
# ipa-backup –data –online   备份数据,默认备份位置为/var/lib/ipa/backup/ 
# ipa-restore –online /var/lib/ipa/backup/ipa-data-/   恢复数据

UI访问验证,访问主机配置完hosts文件后,可以访问FreeIPA的UI。

三、配置IPA客户端

FreeIPA 服务器上添加 Client 的 DNS 记录

ipa dnsrecord-add bestest.com ipa2 --a-rec 192.168.199.189

Client0上安装 freeipa-cient ,配置客户端 DNS 服务器为 freeipa-server

[root@ipa2 yum.repos.d]# cat /etc/resolv.conf
# Generated by NetworkManager
search bestest.com
nameserver 192.168.199.83

#
 yum -y install ipa-client

执行ipa-client安装,中途需要输入admin密码

# ipa-client-install --mkhomedir --enable-dns-updates --no-ntp -p admin
# ipa-client-install --force-ntp  使用ntp方式

然后根据提示输入对应设置

Continue to configure the system with these values? [no]: yes ---继续配置系统其他的值? 选择yes
User authorized to enroll computers: admin ---域管理员
Password for admin@BESTEST.COM: ---密码

验证用户

# authconfig --enablemkhomedir --update 确保可以自动创建用户家目录
# id admin     如果可以识别说明配置正常
# ssh wg@ipa2.bestest.com  查看是否可以登录
# ldapsearch -x -b "dc=bestest,dc=com"  可查看所有用户

四、配置FreeIPA高可用

我们这里假设有一套新的服务器ipa3.best111.com(10.21.182.168), 作为另外一台 freeipa 的服务器,跟前面的 ipa1 共同提供服务,避免单点故障。

首先配置 ipar3这台服务器作为 FreeIPA 的客户端,如上面介绍步骤。

在 FreeIPA 主服务器上,添加上面的 ipa3作为 ipaservers 。

# ipa hostgroup-add-member ipaservers --hosts ipa3.bestest.com

此步不需要执行:给上面两台服务器192.168.199.83和192.168.199.193两台服务器做 ptr 解析记录。

# ipa dnszone-add 199.168.192.in-addr.arpa
# ipa dnsrecord-add 199.168.192.in-addr.arpa 83 --ptr-rec ipa1.bestest.com.
# ipa dnsrecord-add 199.168.192.in-addr.arpa 193 --ptr-rec ipa3.bestest.com.

安装FreeIPA软件包

# yum install -y ipa-server bind bind-dyndb-ldap ipa-server-dns

配置高可用

# kinit admin
# ipa-replica-install --setup-ca --setup-dns --no-forwarders

检查主从配置是否成功

# ipa-replica manage  list
# ipactl status    检查是否跟 ipasrv 上一致,如果缺少 pki tomcatd 组件 ,可以安装。

在ipa2上添加用户测试

# ipa user-add wg2 --first=Gang --last=WU --password  新建用户

五、客户端主从切换(待验证完善)

主从切换时,需要先修改所有客户端的/etc/resolv.conf配置文件

[root@ipa2 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search bestest.com
nameserver 192.168.199.193
nameserver 192.168.199.83

然后修改所有的ldap配置为ipa3.bestest.com

# grep -r "ipa1.bestest.com" /etc/ |awk -F: '{print $1}'|xargs sed -i 's/ipa1/ipa3/g'
# systemctl restart  sssd            然后重启sssd服务

附录:

配置sudo规则或者修改用户后,并不会实时生效,默认会读取缓存,该缓存每15分钟增量更新一次,如果想实时生效,可以修改客户端/etc/sssd/sssd.conf

//增加以下两行
ladb_sudo_full_refresh_interval = 3600
ladp_sudo_smart_refresh_interval = 30
//重启sssd服务
systemctl restart sssd

卸载删除FreeIPA副本,要删除FreeIPA,首先,使用以下命令在服务器上卸载它:

# ipa-replica-manage del ipa3.bestest.com --force          在ipa1服务器执行,删除副本服务器
# ipa hostgroup-remove-member ipaservers --hosts ipa3.bestest.com   在ipa1服务器执行,从ipaservers组中删除服务器
# ipa-server-install --uninstall                              在ipa3服务器执行

分类:

工具介绍

标签:

开源软件