Linux問題記錄——主機名變成了bogon


Linux問題記錄——主機名變成了bogon

摘要:本文主要記錄了主機名變成bogon的原因以及解決辦法。

問題重現

主機名在一次登錄后,變成了bogon,此后每次登錄Linux系統時都是bogon。

1 Connecting to 192.168.35.128:22...
2 Connection established.
3 To escape to local shell, press 'Ctrl+Alt+]'.
4 
5 Last login: Mon Nov 18 17:24:49 2019 from 192.168.35.1
6 [root@bogon ~]# 

解決辦法

修改hosts文件(重啟后問題解決)

修改etc目錄下的hosts文件,加入主機地址對應的主機名:

重啟系統,問題解決:

1 Connecting to 192.168.35.128:22...
2 Connection established.
3 To escape to local shell, press 'Ctrl+Alt+]'.
4 
5 Last login: Mon Nov 18 17:35:02 2019 from 192.168.35.1
6 [root@localhost ~]# 

修改主機名(重啟后仍然存在問題)

在CentOS 7中修改主機名就比較方便,一條命令即可:

1 [root@bogon ~]# hostnamectl set-hostname localhost
2 [root@bogon ~]# 

不過這種辦法重啟時候還是不管用:

1 Connecting to 192.168.35.128:22...
2 Connection established.
3 To escape to local shell, press 'Ctrl+Alt+]'.
4 
5 Last login: Mon Nov 18 17:24:49 2019 from 192.168.35.1
6 [root@bogon ~]# 

問題說明

排查過程

問題出現的時候,先查看network配置文件:

1 [root@bogon ~]# cat /etc/sysconfig/network
2 # Created by anaconda
3 [root@bogon ~]# 

並沒有發現什么問題,然后查看hosts配置文件:

1 [root@bogon ~]# cat /etc/hosts
2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
4 
5 [root@bogon ~]# 

也沒有什么問題,hosts中的主機名是localhost,然后看下解析后的主機名:

1 [root@bogon ~]# hostname
2 bogon
3 [root@bogon ~]# 

發現變成了bogon,所以判斷可能是DNS出了問題,查看DNS配置文件:

1 [root@bogon ~]# cat /etc/resolv.conf
2 # Generated by NetworkManager
3 search localdomain
4 nameserver 192.168.35.2
5 [root@bogon ~]# 

發現多了一行 search localdomain ,應該是這行配置導致的問題。

使用nslookup命令查看對本機地址的解析情況:

1 [root@bogon ~]# nslookup 192.168.35.128
2 128.35.168.192.in-addr.arpa    name = bogon.
3 
4 Authoritative answers can be found from:
5 
6 [root@bogon ~]# 

發現解析到的名字是bogon,那么說明一個問題就是,如果resolv.conf中配置了 search localdomain ,那么此處得到的主機名則優先於hosts和network文件中的配置。

出現原因

通過在網上查詢資料得知,bogon是指那些不該出現在internet路由表中的地址。

Linux在初始化系統時,會先判斷主機名,如果主機名是localhost或localhost.localdomain,則會獲取主機IP地址並執行DNS逆向解析,將解析到的結果賦值給HOSTNAME。問題是,有些DNS服務器會將私有地址和保留地址這樣不應該出現在網絡上的IP地址解析成bogon,這就導致了登錄的時候發現主機地址變成了bogon。

修改hosts文件,將本機地址直接解析為localhost,不再經過DNS服務器,也就不會被解析為bogon。

除了修改hosts文件,還可以更換一個DNS服務器,將主DNS隨意改一個地址保存設置,然后再改回原IP,保存設置,然后注銷當前用戶,重新登錄即可。但這種方式本人並沒有試過,不確定可不可以。


免責聲明!

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



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