hostname
命令查看和设置/etc/hostname
文件中/etc/hosts
文件实现本地解析优先:
/etc/hosts
文件/etc/resolv.conf
)FQDN(完全限定域名):
server1.example.com
)hostname -f
查看完整FQDN解析顺序:
server1
) → 自动尝试添加域后缀(配置在/etc/resolv.conf
的search
或domain
项)server1
127.0.0.1 localhost
192.168.1.10 server1.example.com server1
search example.com
nameserver 8.8.8.8
解决方案:
1. 检查/etc/hostname
文件内容
2. 使用sudo hostnamectl set-hostname newname
永久修改
3. 重启或执行sudo systemctl restart systemd-hostnamed
解决方案:
1. 确保/etc/hosts
中包含主机名到127.0.1.1或实际IP的映射
2. 示例条目:
127.0.1.1 server1.example.com server1
解决方案:
1. 检查/etc/resolv.conf
中的search
或domain
设置
2. 确保网络管理器未覆盖该文件(对于使用NetworkManager的系统)
3. 测试:ping server1
应能解析为server1.example.com
/etc/hosts
中保留localhost和主机名映射dig
或nslookup
命令测试DNS解析hostname
- 显示当前主机名hostname -f
- 显示FQDNdnsdomainname
- 显示DNS域名dig <hostname>
- 查询DNS记录nslookup <hostname>
- 查询名称解析getent hosts <hostname>
- 查看系统如何解析主机名通过正确理解和管理这些配置,可以确保Linux系统的名称解析工作正常,这对于许多网络服务和应用程序的正常运行至关重要。