前提条件
・ AlmaLinuxのバージョン: 8.5 ・ ipaサーバーのバージョン: 4.9.6 ・ プライマリのIPアドレスは192.168.0.10 ・ セカンダリのIPアドレスは192.168.0.11
プライマリサーバーの設定
FQDNでホスト名を設定する。
※FQDNが192.168.0.10に名前解決できるようにしておく
# hostnamectl set-hostname ipa1.local.example.com
モジュールを検索して必要そうなものを特定する。
$ dnf module list
idmのDL1にServerと書いてあったので、それをインストールする。
# dnf install @idm:DL1
モジュールのインストールが完了したら、必要なパッケージをインストールする。
# dnf install ipa-server ipa-server-dns
対話型のインストーラーを起動する。
※同時にbindも設定してもらう
※DNSフォワーダーも設定する
※そのほかは大体Enterで続行した
# ipa-server-install
ファイアウォールの例外を登録するよう促されるので登録する。
※サービス名で設定する場合は「ldap」ではなく「freeipa-ldap」なので注意
※freeipa-replicationはセカンダリを構築しない場合はいらない
# firewall-cmd --permanent --add-service={freeipa-ldap,freeipa-ldaps,freeipa-replication,dns,ntp,http,https} # firewall-cmd --reload
参照するDNSサーバーを自身にする。
# nmcli connection modify コネクション名 ipv4.dns 192.168.0.10 # nmcli connection up コネクション名
chronyのserver/clientの設定をする。
※変更箇所のみ記載
# Allow NTP client access from local network. #allow 192.168.0.0/16 allow 192.168.0.0/24 # Select which information is logged. #log measurements statistics tracking server ntp.nict.jp iburst
chronydを再起動する。
# systemctl restart chronyd
初回ログイン時にホームディレクトリを自動生成するよう設定する。
# authconfig --enablemkhomedir --update
セカンダリサーバーの設定
プライマリのIdMにWEBブラウザでアクセスして、セカンダリのhostを追加する。
セカンダリのホスト名をFQDNに変更する。
# hostnamectl set-hostname ipa2.local.example.com
参照するDNSサーバーをプライマリIPAサーバーにする。
# nmcli connection modify コネクション名 ipv4.dns 192.168.0.10 # nmcli connection up コネクション名
必要なパッケージをインストールする。
# dnf install @idm:DL1 # dnf install ipa-server ipa-server-dns
IPAクライアントとして設定する。
# ipa-client-install
chronyのserver/clientの設定をする。
※変更箇所のみ記載
# Allow NTP client access from local network. #allow 192.168.0.0/16 allow 192.168.0.0/24 # Select which information is logged. #log measurements statistics tracking server ntp.nict.jp iburst
chronydを再起動する。
# systemctl restart chronyd
初回ログイン時にホームディレクトリを自動生成するよう設定する。
# authconfig --enablemkhomedir --update
ファイアウォールの例外を登録する。
# firewall-cmd --permanent --add-service={freeipa-ldap,freeipa-ldaps,freeipa-replication,dns,ntp,http,https} # firewall-cmd --reload
レプリカインストールを実行する。なぜか「–setup-ca」オプションをつけると必ず失敗する。ほかのディストリビューション(Rocky Linux、Oracle Linux)で試してみたり、色々な小細工してみたけど解決できなかったので、今回はCA設定をプライマリだけで運用することにした。
※DNSとしても動作させるため「–setup-dns」オプション指定
# ipa-replica-install --setup-dns --forwarder <forwarderのIPアドレス1> --forwarder <forwarderのIPアドレス2>
参照するDNSサーバーを自身にする。
# nmcli connection modify コネクション名 ipv4.dns 192.168.0.11 # nmcli connection up コネクション名
補足
プライマリのCA設定がレプリケーションできていないため定期的にバックアップを取得する必要がある。下記のコマンドでバックアップを作成できるが、作成場所は指定できず/var/lib/ipa/backup/に「ipa-full-2022-04-09-14-28-16」という形でディレクトリが作成される。cronで実行する場合は適宜スクリプトを書いた方が良い。
# ipa-backup
対してリストアはバックアップファイルへのパスを指定して実行する。
# ipa-restore /var/lib/ipa/backup/ipa-full-2022-04-09-14-28-16/