如何设置超过 65 个字符的 FQDN?

如何设置超过 65 个字符的 FQDN?

我需要超过 65 个字符的 FQDN。在 centos 7 上解决这个问题最简单的方法是什么?

我获得了大约 30 个字符的根域名,我的主机名通常为 40-50 个字符。通常这不会成为问题,因为根域小于 10 个字符,但突然间它可能会给我带来问题。

我的第一个想法是 FQDN 不包含域名,但我看不到它的设置位置,即使我认为我设置正确,FQDN 也会被删除为 65 个字符(FQDN 是否包含域名)在字符限制内?)。此外,我也很好奇这是否可以在不编译我自己的内核的情况下远程实现,这是最后的手段。

出于示例目的,假设我提供的域名是:areallongexample.com,我的主机名通常是:a.long.hostname.with.lots.of.required.fields。

这是直接来自我的系统:

hostname a.long.hostname.with.lots.of.required.fields.areallongexample.com
hostname: name too long
hostnamectl set-hostname "a.long.hostname.with.lots.of.required.fields.areallongexample.com"  
hostname -f a.long.hostname.with.lots.of.required.fields.areallongexample.co 
hostname  a.long.hostname.with.lots.of.required.fields.areallongexample.co

答案1

您的主机名不能包含像您向我们展示的这样的点

a.long.hostname.with.lots.of.required.fields.areallongexample.com

a.long出于同样的原因,您甚至不能拥有:它包含一个点。主机名是 FQDN(完全限定域名)的第一个点组成部分;该主机的域就是虚线路径的其余部分。

组成部分(63 字节 - 不一定是字符)和整个域路径长度(255 字节)也有长度限制。详细信息在RFC 1035

如果您已指定a.long.hostname.with.lots.of.required.fields主机名(小于 63 字节)和域名areallongexample.com,则主机名实际上是a,域名是long.hostname.with.lots.of.required.fields.areallongexample.com

答案2

我已经解决了这个问题。我通过 hostnamectl 将主机名设置为“a.long.hostname.with.lots.of.required.fields”。将 /etc/hosts 更改为具有 fqdn 和缩写版本 (a.long.hostname.with.lots.of.required.fields)

运行 hostname -f 时服务器会打印出全名,而执行 hostname 时则会打印出缩写的主机名。

[root@a /]# hostnamectl set-hostname a.long.hostname.with.lots.of.required.fields
[root@a /]# hostname
a.long.hostname.with.lots.of.required.fields
[root@a /]# hostname -f
a.long.hostname.with.lots.of.required.fields.areallongexample.com
[root@a /]# cat /etc/hosts | grep required
127.0.0.1 a.long.hostname.with.lots.of.required.fields.areallongexample.com a.long.hostname.with.lots.of.required.fields
[root@a /]# hostname -f | wc -c
66

相关内容