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,保存設定,然后注銷當前用戶,重新登錄即可,但這種方式本人并沒有試過,不確定可不可以,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/155262.html
標籤:Linux
上一篇:014.Kubernetes二進制所有節點部署kube-proxy
下一篇:Shell腳本(1)
