記一次linux主機名莫名其妙變成了bogon


起因:公司網絡接口做了接口認證,虛擬機橋接至物理網卡無法完成認證進行網絡訪問,無奈之下只能講虛擬機網絡模式更改為NAT模式,更改完成之后進行ssh登錄,發現主機名發生了變化。

更改NAT模式之前
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# 

更改為NAT模式之后
[root@bogon ~]# 
[root@bogon ~]# 

發現主機名變成了bogon,很氣,看着很不順眼,想辦法更改回來。

查看幾個相關文件

[root@localhost ~]# vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.localdomain

[root@localhost ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

network和hosts中的主機名都正常,都是localhost

[root@bogon ~]# hostname 
bogon

直接使用hostname發現還是返回了bogon,並不是文件中的localhost,查看dns文件

[root@localhost ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain
nameserver 192.168.13.2

發現多了一行search localdomain,應該是這行配置導致的問題,resolv.conf中的配置是由vmware 8網卡自動下發的,所以更改此處配置無用,准備曲線救國

這塊的配置說明是要在加載配置文件后,對該主機的IP地址進行解析,返回的domain域名作為主機名回顯至命令行,嘗試解析本機IP

[root@localhost ~]# nslookup 192.168.13.128
Server:        192.168.13.2
Address:    192.168.13.2#53

Non-authoritative answer:
128.13.168.192.in-addr.arpa    name = bogon.

Authoritative answers can be found from:

[root@localhost ~]#

果然本機的IP地址被解析為了bogon,那么說明一個問題就是,如果resolv.conf中配置了search localdomain,那么此處得到的主機名則優先於hosts和network文件中的配置

要解決這個問題,最簡單的方案就是讓其解析時不經過dns,使用hosts文件,直接將本機的IP地址解析為localhost即可

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.128  localhost

重啟服務器,登錄后查看主機名恢復正常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM