Традиционно Kerberos использовал обратный DNS для канонизации основного имени. То есть после targethost.example.com
преобразования в IP-адрес он пытается преобразовать адрес обратно в «каноническое» имя и использует его для принципала.
Если ваш targethost
был решен с помощью / и т.д. / хосты, то первое имя в соответствующей строке будет использоваться в качестве «канонической» имя:
# good: 1.2.3.4 targethost.example.com targethost # bad: 1.2.3.4 targethost targethost.example.com
Если вы хотите, вы можете полностью отключить канонизацию на основе DNS через /etc/krb5.conf:
[libdefaults] dns_canonicalize_hostname = false
... и просто создайте два принципала для хоста - один для короткого имени, другой для длинного. (Это именно то, что делает Active Directory, и мало чем отличается от поведения SSL / TLS - всегда безопаснее напрямую использовать пользовательский ввод, а не запрашивать DNS.)