私のセットアップ
Centos 7.3を実行しているマシンのクラスタがあり、認証にKerberos / LDAPを使っています。 Kerberos / LDAPはFreeIPA 4.4.0に同梱されています。
すべてのホストのアドレスが 192.168.1.0/24 。これを "プライマリ"ネットワークと呼びます。
一部のホストにはアドレスがあります。 192.168.2.0/24 。これを「セカンダリ」ネットワークと呼びます。この2番目のインタフェースを持つホストの場合、セカンダリホスト名とセカンダリIPアドレスを関連付けるDNS内の対応する追加のA / PTRエントリがあります。すべての場合において、セカンダリホスト名は <プライマリホスト名> -eth1 。
私の目標
私は私達のクラスター全体でSSOを実装することに取り組んでいます。 SSOはプライマリネットワークでは正常に機能していますが、セカンダリネットワークでは機能していません。
私は何をしたのですか。
サーバーを次のように構成しました。
ipa-server-install \
-r ME.EXAMPLE.COM \
-n me.example.com \
--mkhomedir \
--hostname=host-1.me.example.com \
--ip-address=192.168.1.1 \
--ssh-trust-dns \
--setup-dns \
--auto-forwarders \
--forward-policy=only \
--auto-reverse \
--dirsrv-cert-file=<path to server SSL certificate> \
--http-cert-file=<path to server SSL certificate> \
--no-dnssec-validation
サーバーのインストールが完了したら、次のPTRレコードをDNSに手動で追加する必要もあります。
1.1.168.192.in-addr.arpa PTR host-1.me.example.com
どうやら私はこれをしなければならない - オートリバース にフラグ IPAサーバインストール 動作しません(または、おそらくもっと、私はそれを理解していません)。
クライアント側
クライアントマシンを次のように設定しました。
ipa-client-install \
--force-ntpd \
-p admin \
-W \
--mkhomedir \
--no-nisdomain \
--ssh-trust-dns
サーバーのインストールと同様に、クライアント用にDNS PTRレコードを手動で追加する必要もありました。 FreeIPAによって作成された順方向Aレコードは、すべての場合に問題ありません。
次に、FreeIPAに登録されているセカンダリホスト名を取得するために、クライアントで次のことを行いました。
kinit admin
ipa-join -h host-1-eth1.me.example.com
以前と同様に、これによりDNS Aレコードが転送されますが、対応するDNS PTRレコードを手動で追加する必要がありました。
問題
私が問題を抱えているのはセカンダリネットワークです。たとえば、SSHで接続できます ホスト1 パスワードなしで(SSOがプライマリネットワーク上で動作している)、私はSSH接続できません。 host-1-eth1 パスワードを使用しない方法で(つまり、SSOがセカンダリネットワークで機能していない)。
SSHから受け取るプロンプトは2つあります。
- 未知のSSHホストキーを受け入れるように促すプロンプト
- ユーザーのパスワードを求めるプロンプト
セカンダリホスト名を使用してホストにSSH接続したときに、ユーザパスワードの入力を求められることはありません。セカンダリホスト名を使用してホストにSSHで接続しようとしたときに回避できない、未知のSSHホストキーを受け入れるように指示するプロンプトです。そしてこれは起こっている...
セカンダリホスト名に対して生成されているSSHFP DNSレコードがないことを確認しました。プライマリホスト名に関連付けられているのと同じSSHホストキーがすべてセカンダリホスト名に関連付けられている必要があります。しかし、これは起こっていません。
セカンダリホスト名用に生成された必要なSSHFP DNSレコードを取得するには、FreeIPAをどのように使用する必要がありますか?明らかに、よりも イパ加入 私はやっている必要があります。