zoukankan      html  css  js  c++  java
  • 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,保存设置,然后注销当前用户,重新登录即可。但这种方式本人并没有试过,不确定可不可以。

  • 相关阅读:
    MobaXterm
    记一次完整的java项目压力测试
    jvm调优
    好用的公共dns服务器推荐(免费)
    SpringBoot,Security4, redis共享session,分布式SESSION并发控制,同账号只能登录一次
    javaCV资料目录
    基于JavaCV技术实现RTMP推流和拉流功能
    Java线程池详解
    微服务实战SpringCloud之Feign简介及使用
    【DP专题】——洛谷P5144蜈蚣
  • 原文地址:https://www.cnblogs.com/shamao/p/11883914.html
Copyright © 2011-2022 走看看