Сбой монтирования NFS (с Kerberos) из-за ошибки «Сервер не найден в базе данных Kerberos»

8

Когда работает:

sudo mount -t nfs4 -o sec=krb5 sol.domain.com:/ /mnt

Я получаю эту ошибку на клиенте:

mount.nfs4: access denied by server while mounting sol.domain.com:/

А на сервере системные журналы читаю

UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for nfs/ip-#-#-#-#.ec2.internal@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/EC2.INTERNAL@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/INTERNAL@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/COM@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/DOMAIN.COM@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for nfs/ip-#-#-#-#.ec2.internal@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/EC2.INTERNAL@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/INTERNAL@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/COM@SOL.DOMAIN.COM, Server not found in Kerberos database
UNKNOWN_SERVER: authtime 0,  nfs/mercury.domain.com@SOL.DOMAIN.COM for krbtgt/DOMAIN.COM@SOL.DOMAIN.COM, Server not found in Kerberos database

Файл ключа сервера:

ubuntu@sol:~$ sudo klist -e -k /etc/krb5.keytab
Keytab name: WRFILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   7 host/sol.domain.com@SOL.DOMAIN.COM (aes256-cts-hmac-sha1-96) 
   7 host/sol.domain.com@SOL.DOMAIN.COM (arcfour-hmac) 
   7 host/sol.domain.com@SOL.DOMAIN.COM (des3-cbc-sha1) 
   7 host/sol.domain.com@SOL.DOMAIN.COM (des-cbc-crc) 
   9 nfs/sol.domain.com@SOL.DOMAIN.COM (aes256-cts-hmac-sha1-96) 
   9 nfs/sol.domain.com@SOL.DOMAIN.COM (arcfour-hmac) 
   9 nfs/sol.domain.com@SOL.DOMAIN.COM (des3-cbc-sha1) 
   9 nfs/sol.domain.com@SOL.DOMAIN.COM (des-cbc-crc)

Файл ключа клиента:

ubuntu@mercury:~$ sudo klist -e -k /etc/krb5.keytab
Keytab name: WRFILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   3 host/mercury.domain.com@SOL.DOMAIN.COM (aes256-cts-hmac-sha1-96) 
   3 host/mercury.domain.com@SOL.DOMAIN.COM (arcfour-hmac) 
   3 host/mercury.domain.com@SOL.DOMAIN.COM (des3-cbc-sha1) 
   3 host/mercury.domain.com@SOL.DOMAIN.COM (des-cbc-crc) 
   3 nfs/mercury.domain.com@SOL.DOMAIN.COM (aes256-cts-hmac-sha1-96) 
   3 nfs/mercury.domain.com@SOL.DOMAIN.COM (arcfour-hmac) 
   3 nfs/mercury.domain.com@SOL.DOMAIN.COM (des3-cbc-sha1) 
   3 nfs/mercury.domain.com@SOL.DOMAIN.COM (des-cbc-crc)
Кендалл Хопкинс
источник
поделитесь своими файлами /etc/krb5.conf и /var/kerberos/krb5kdc/kdc.conf со своего сервера и клиента.
Чикураку
@cikuraku Я просто использую Ubuntu по умолчанию, за исключением добавления allow_weak_crypto = trueв конец.
Кендалл Хопкинс
IP-адрес для mercury.domain.com обратится к правильному имени хоста? Имеется ли на интерфейсах mercury.domain.com более одного адреса?
Жаворонки
Также ... успешно ли монтируются какие-либо клиенты с этого сервера? Или это ваш единственный клиент?
Жаворонки
Клиенты не подключаются.
Кендалл Хопкинс

Ответы:

1

Кажется, что обратное разрешение имени для IP не соответствует ожидаемому имени. Убедитесь , что mercury.domain.comи sol.domain.comявляются первым именем , которое вы добавили /etc/hostsпосле соответствующего IP - адреса. Чтобы быть в безопасности, просто добавьте пару строк вверху с IP-адресом машины и именем хоста, которого ожидает Kerberos.

10.x.y.z sol.domain.com sol ip-blah-blah
10.a.b.c mercury.domain.com mercury ip-other-other

Убедитесь, что обе эти строки присутствуют как на клиенте, так и на сервере.

Также рекомендуется проверить настройку, выполнив следующую команду как на клиенте, так и на сервере. Убедитесь, что первое имя хоста, напечатанное для каждого IP-адреса, соответствует ожидаемому.

getent hosts 10.x.y.z 10.a.b.c
chutz
источник