Sir*_*rex 6 backup authentication restore freeipa
我发现有关 ipa 服务器备份和恢复的文档可悲地缺乏,而且非常重要,这并不是我很高兴在黑暗中拍摄的东西 - 有没有更了解此事的好心人请尝试提供一个白痴备份和恢复 IPA 服务器的证明指南 ? 特别是主服务器(证书签名服务器)。
...我们希望在两台服务器设置(1 个主服务器,1 个副本)中推出 ipa。我正在使用 dns srv 记录来处理故障转移,因此丢失副本并不是什么大问题,因为我可以制作一个新副本并强制重新同步发生 - 它正在丢失困扰我的主人。
我真正在努力寻找备份和恢复主服务器的分步过程。我知道整个 VM 快照是进行 IPA 服务器备份的推荐方式,但目前这不是我们的选择。
我也知道 freeipa 3.2.0 包含某种内置的备份命令,但这不在 centos 的 ipa 版本中,我不希望它会在一段时间内出现。
我一直在尝试许多不同的方法,但似乎没有一种方法可以完全恢复,除此之外,我尝试过;
类似于 db2ldif.pl -D "cn=directory manager" -w - -n userroot -a /root/userroot.ldif 的命令
此处的脚本生成三个 ldif 文件——一个用于域 ({domain}-userroot),两个用于 ipa 服务器(ipa-ipaca 和 ipa-userroot):
我尝试过的大多数恢复都类似于以下形式:ldif2db.pl -D "cn=directory manager" -w - -n userroot -i userroot.ldif
这似乎可以工作并且没有报告错误,但是完全使机器上的 ipa 安装失败,我无法再使用备份服务器上的管理员密码登录,或者在尝试 ldif2db 命令之前我在安装时设置的密码(我正在安装 ipa-server 并运行 ipa-server-install,然后尝试恢复)。
我并不太担心丢失 CA、不得不重新加入域、丢失复制等(尽管如果可以避免这种情况会很棒)但是在主服务器掉线的情况下,我真的很想避免必须重新输入所有用户/组信息。
我想在丢失主服务器的情况下,我可以提升另一个服务器并在另一个方向复制,但我也没有尝试过。有没有人这样做过?
tl;dr:有人可以提供一个白痴指南,以足够清晰的方式备份和恢复IPA 服务器(最好在 CentOS 6 上),让我确信它会在可怕的时刻到来时实际工作?蜡笔是可选的,但值得赞赏 ;-) 我不可能是唯一一个为此而苦苦挣扎的人,当然,看到 IPA 的广泛使用吗?
我没有适当的解决方案来备份和恢复 CentOS 上的 FreeIPA 服务器,只有一个解决方法,可以让服务器在尽可能短的时间内以相同的配置运行。您确实丢失了 CA,并且需要将主机重新加入服务器。
这就是我在使用该系列时处理“灾难恢复”的方式2.x
。我做了很多试验和错误实验,并厌倦了从头开始恢复我的设置:
puppetlabs
存储库并在 中注册自身puppetmaster
,(曾经)有一个条目autosign.conf
用于此目的。(puppetlabs
存储库不是强制性的,但我使用的是库存版本中不存在的语法puppet
)。package
用于安装服务器及其依赖项的资源,以及exec
用于运行 shell 脚本(全部受版本控制)的资源,定义域中所需的所有基础设施。我将在这里给您一个脚本片段,您会明白总体思路:
#!/usr/bin/env bash
# vim:syn=sh:ts=2:fdm=marker
# IPASERVER BOOTSTRAP {{{
# HOSTGROUPS {{{
# foo {{{
ipa hostgroup-add foo --desc='Foo Bar Baz'
ipa hostgroup-add-member sanfernando --hosts={foo,bar,baz}.domain.com
ipa netgroup-add net_foo --nisdomain=domain.com --desc='Foo Bar Baz'
ipa netgroup-add-member net_foo --hostgroups=sanfernando
# }}}
# }}}
# PWPOLICY {{{
ipa pwpolicy-mod global_policy --history=24
ipa pwpolicy-mod global_policy --lockouttime=1200
ipa pwpolicy-mod --setattr=krbpwdmindiffchars=4
ipa pwpolicy-mod --setattr=krbpwdminlenght=14
ipa pwpolicy-mod --setattr=krbpwdmaxfailure=5
ipa pwpolicy-mod --setattr=krbminpwdlife=168
ipa pwpolicy-mod --setattr=krbpwdfailurecountinterval=1200
# }}}
# USERS/GROUPS/HBAC {{{
# developers {{{
ipa user-add jdoe --first='Jane' --last='Doe' --email='jdoe@domain.com' --gecos='Jane Doe' --shell='/bin/rbash' --sshpubkey='AAA......XXGDGHU='
ipa group-add foo --desc='Foo Staff'
ipa group-add-member foo --users=jdoe
ipa hbacrule-add developers_access --desc='Developers access'
ipa hbacrule-add-host developers_access --hostgroups=development
ipa hbacrule-add-user developers_access --groups=developers
ipa hbacrule-add-service developers_access --hbacsvcs=sshd
ipa hbacrule-add-service developers_access --hbacsvcgroups=Sudo
# }}}
# }}}
# SUDO CMD/RULE/GROUP {{{
# networking {{{
ipa sudocmd-add --desc='administration tool for IPv4 packet filtering and NAT' '/sbin/iptables'
ipa sudocmd-add --desc='view and manipulate media-independent interface status' '/sbin/mii-tool'
ipa sudocmd-add --desc='display or change ethernet card settings' '/sbin/ethtool'
ipa sudocmd-add --desc='show and manipulate routing, devices, policy routing and tunnels' '/sbin/ip'
ipa sudocmd-add --desc='sudoedit configuration file of IPv4 packet filtering and NAT' 'sudoedit /etc/sysconfig/iptables'
ipa sudocmdgroup-add networking --desc='commands for network configuration and troubleshooting'
ipa sudocmdgroup-add-member networking --sudocmds=/sbin/{iptables,mii-tool,ethtool,ip}
ipa sudocmdgroup-add-member networking --sudocmds='sudoedit /etc/sysconfig/iptables'
ipa sudorule-add networking_4_operators_2 --desc='Operator Level 2 access to networking management commands'
ipa sudorule-add-allow-command networking_4_operators_2 --sudocmdgroups='networking'
ipa sudorule-add-user networking_4_operators_2 --groups='operators_2'
ipa sudorule-add-host networking_4_operators_2 --hostgroups=foo-hosts
# }}}
# }}}
# }}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4512 次 |
最近记录: |