МОЯ НАСТРОЙКА
У меня есть кластер машин под управлением Centos 7.3, и я использую Kerberos / LDAP для аутентификации. Kerberos / LDAP упакованы в FreeIPA 4.4.0.
Все хосты имеют адрес 192.168.1.0/24 . Я буду называть это «основной» сетью.
У некоторых хостов есть адрес в 192.168.2.0/24 . Я буду называть это «вторичной» сетью. Для хостов, имеющих этот второй интерфейс, в DNS есть соответствующие дополнительные записи A / PTR, которые связывают вторичное имя хоста и вторичный IP-адрес. Во всех случаях вторичное имя хоста - <первичное имя хоста> -eth1 .
МОЯ ЦЕЛЬ
Я работаю над внедрением единого входа в нашем кластере. Единый вход работает нормально в первичной сети, но не во вторичной сети.
То, что я сделал так далеко: сторона сервера
Я настроил сервер следующим образом:
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
Я должен сделать это, так как, по-видимому, флаг --auto-reverse для ipa-server-install не работает (или, возможно, я его не понимаю).
То, что я сделал так далеко: сторона клиента
Я настроил свои клиентские машины следующим образом:
ipa-client-install \ --force-ntpd \ -p admin \ -W \ --mkhomedir \ --no-nisdomain \ --ssh-trust-dns
Как и при установке сервера, мне также пришлось вручную добавлять записи DNS PTR для клиентов. Форвард А записи, созданные FreeIPA, были хороши во всех случаях.
Затем, чтобы зарегистрировать вторичное имя хоста с FreeIPA, я сделал следующее на клиенте:
kinit admin ipa-join -h host-1-eth1.me.example.com
Как и раньше, это создавало записи пересылки DNS A, но мне пришлось вручную добавлять соответствующие записи DNS PTR.
ЭТА ПРОБЛЕМА
Где у меня возникли проблемы, это на вторичной сети. Например, я могу SSH к хосту-1 без пароля (т. Е. SSO работает в основной сети), но я не могу SSH к хосту-1-eth1 без пароля (т. Е. SSO не работает во вторичной сети) ,
Есть два запроса, которые можно получить от SSH:
- Приглашение принять неизвестный ключ хоста SSH
- Запрос пароля пользователя
У меня не запрашивается пароль пользователя, когда я SSH к хосту, используя его вторичное имя хоста. Это приглашение принять неизвестный ключ хоста SSH, который я не могу обойти при попытке SSH к хосту, используя его вторичное имя хоста. И это происходит потому, что ...
Я наблюдал, что нет никаких записей DNS SSHFP, генерируемых для вторичных имен хоста. Все одинаковые ключи хоста SSH должны быть связаны с дополнительным именем хоста, как и с основным именем хоста. Однако этого не происходит.
Как я должен использовать FreeIPA, чтобы получить необходимые записи DNS SSHFP, сгенерированные для вторичных имен хостов? Очевидно, что требуется больше, чем ipa-join, которым я занимаюсь.