MEIN SETUP
Ich habe einen Cluster von Computern, auf denen Centos 7.3 ausgeführt wird, und ich benutze Kerberos / LDAP für die Authentifizierung. Kerberos / LDAP sind in FreeIPA 4.4.0 enthalten.
Alle Hosts haben eine Adresse am 192.168.1.0/24 . Ich bezeichne das als "primäres" Netzwerk.
Einige Hosts haben eine Adresse in 192.168.2.0/24 . Ich bezeichne das als "sekundäres" Netzwerk. Für Hosts mit dieser zweiten Schnittstelle gibt es entsprechende zusätzliche A / PTR-Einträge in DNS, die einen sekundären Hostnamen und die sekundäre IP-Adresse zuordnen. In allen Fällen lautet der sekundäre Hostname <primärer Hostname> -eth1 .
MEIN ZIEL
Ich arbeite daran, SSO in unserem Cluster zu implementieren. SSO funktioniert gut im primären Netzwerk, aber nicht im sekundären Netzwerk.
Was ich bisher gemacht habe: SERVER SIDE
Ich habe den Server wie folgt konfiguriert:
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
Nachdem die Serverinstallation abgeschlossen ist, muss ich den folgenden PTR-Eintrag auch manuell zu DNS hinzufügen:
1.1.168.192.in-addr.arpa PTR host-1.me.example.com
Ich muss dies tun, da anscheinend das --auto-reverse- Flag zu ipa-server-install nicht funktioniert (oder, wahrscheinlich, ich verstehe es nicht).
Was ich bisher getan habe: CLIENT SIDE
Ich habe meine Client-Computer wie folgt konfiguriert:
ipa-client-install \ --force-ntpd \ -p admin \ -W \ --mkhomedir \ --no-nisdomain \ --ssh-trust-dns
Wie bei der Serverinstallation musste ich auch manuell DNS-PTR-Einträge für die Clients hinzufügen. Die von FreeIPA erstellten Forward-A-Datensätze waren in allen Fällen in Ordnung.
Um dann den sekundären Hostnamen bei FreeIPA registrieren zu lassen, habe ich auf dem Client Folgendes ausgeführt:
kinit admin ipa-join -h host-1-eth1.me.example.com
Diese erstellten Vorwärts-DNS-A-Einträge, aber ich musste die entsprechenden DNS-PTR-Einträge manuell hinzufügen.
DAS PROBLEM
Wo ich Probleme habe, ist im sekundären Netzwerk. Zum Beispiel kann ich SSH für host-1 kennwortlos verwenden (dh, SSO arbeitet im primären Netzwerk), aber ich kann SSH für host-1-eth1 nicht ohne Passwort (dh SSO funktioniert nicht im sekundären Netzwerk). .
Es gibt zwei Eingabeaufforderungen, die Sie möglicherweise von SSH erhalten:
- Eine Aufforderung, einen unbekannten SSH-Hostschlüssel zu akzeptieren
- Eine Aufforderung zur Eingabe des Kennworts des Benutzers
Ich werde nicht zur Eingabe eines Benutzerkennworts aufgefordert, wenn ich einen Host mit einem sekundären Hostnamen SSH benutze. Es ist die Aufforderung, einen unbekannten SSH-Hostschlüssel zu akzeptieren, den ich nicht umgehen kann, wenn ich mit einem sekundären Hostnamen versucht, SSH an einen Host zu senden. Und das passiert, weil ...
Ich habe beobachtet, dass für die sekundären Hostnamen keine SSHFP-DNS-Einträge generiert werden. Alle gleichen SSH-Hostschlüssel sollten mit dem sekundären Hostnamen verknüpft sein, die dem primären Hostnamen zugeordnet sind. Dies geschieht jedoch nicht.
Wie muss ich FreeIPA verwenden, um die erforderlichen SSHFP-DNS-Einträge für die sekundären Hostnamen zu erhalten? Natürlich ist mehr als der ipa-Join, den ich mache, erforderlich.