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系统的名称解析工作正常,这对于许多网络服务和应用程序的正常运行至关重要。