freeIPA failover

用了这么久的freeipa只是知道freeipa有replica功能,并且能同时对外提供服务,没有主从之分。但一直没有再深入研究,如何实现freeipa的failover 。做了replica的前提下,当一个freeipa宕机以后,客户端认证不受影响。另外一个自动接管。

做freeipa failover有几个前提

1、freeipa必须做了replica 。 replica的做法很简单,网上资料也很多,这里不在啰嗦。注意一点,freeipa4版本和freeipa3的replica的做法不太一样。做的时候注意下就好。

2、必须有内部dns。因为failover的是依赖dns功能实现。所以dns是必须。我用的是bind9。支持srv记录,至于什么dnsmasq 能不能行,我不太清楚没测试过。

做法:
1、就是在搭建好的dns zonefile里添加上


 _kerberos-master._tcp.cdh.com. 86400 IN SRV 0 100 88 freeipa1.cdh.com.

 _kerberos-master._tcp.cdh.com. 86400 IN SRV 0 100 88 freeipa2.cdh.com.

 _kerberos-master._udp.cdh.com. 86400 IN SRV 0 100 88 freeipa1.cdh.com.

 _kerberos-master._udp.cdh.com. 86400 IN SRV 0 100 88 freeipa2.cdh.com.

 _kerberos._tcp.cdh.com. 86400 IN SRV 0 100 88 freeipa1.cdh.com.

 _kerberos._tcp.cdh.com. 86400 IN SRV 0 100 88 freeipa2.cdh.com.

 _kerberos._udp.cdh.com. 86400 IN SRV 0 100 88 freeipa1.cdh.com.

 _kerberos._udp.cdh.com. 86400 IN SRV 0 100 88 freeipa2.cdh.com.

 _kerberos.cdh.com. 86400 IN TXT "CDH.COM"

 _kpasswd._tcp.cdh.com. 86400 IN SRV 0 100 464 freeipa1.cdh.com.

 _kpasswd._udp.cdh.com. 86400 IN SRV 0 100 464 freeipa1.cdh.com.

 _ldap._tcp.cdh.com. 86400 IN SRV 0 100 389 freeipa1.cdh.com.

 _ntp._udp.cdh.com. 86400 IN SRV 0 100 123 freeipa1.cdh.com.

freeipa1 和 freeipa2 是我的俩个ipa master 做了replica 。

freeipa1 和 freeipa2 在dns也做好了 A记录,能够正常解析。

2、修改客户端的/etc/krb5.conf

把[libdefaults] 里 dns_lookup_kdc , dns_lookup_realm 两个值都改成true。

然后在[realms] 里 添加两个kdc ,


kdc = freeipa1.cdh.com

kdc = freeipa2.cdh.com

3、systemctl restart sssd

测试:
两个ipa都启动下,看是否能够认证成功。

手动在freeipa1 上执行 ipactl stop 把ipa服务停掉。再测试尝试kinit 。 是否能够认证成功。

good luck !

你可能感兴趣的:(freeIPA failover)