centos7 oracle_Centos7主机名变成bogon的原因及解决方法

当Linux系统在设置静态IP后,主机名莫名变成bogon,这可能影响服务如Oracle安装。原因是DNS将私有IP解析为bogon。解决方案包括:1)在/etc/hosts文件中直接将本地IP解析为localhost;2)修改主机名为非localhost的名称,并更新hosts文件。对于CentOS7以上,可使用hostnamectl命令设置主机名。
摘要由CSDN通过智能技术生成

问题描述

虚拟机在设置完静态IP后,莫名其妙地主机名就变成了bogon,并且问题会稳定复现,就是说每次重启都会。如下图所示:

4913437683bccac1f09b4509ce4e4cc4.png

看着不顺眼不说,听说可能还会影响某些服务,如可能导致oracle安装过程网络配置出错等问题,吓得我赶紧想办法改回来。

原理分析

查了一些资料,bogon是指那些不该出现在internet路由表的地址。

Linux在初始化系统时,会先判断主机名,如果主机名是localhostlocalhost.localdomain,则会获取主机IP地址并执行DNS逆向解析,将解析到的结果赋值给HOSTNAME。问题是,有些DNS服务器,会将私有地址,保留地址这样不应该出现在网络上的IP地址解析成bogon

解决方案1(推荐)

值得推荐的方案就是让本地IP地址解析时不经过DNS服务器,直接使用hosts文件,直接将本机的IP地址解析为localhost

具体的操作就是在/etc/hosts文件中追加一行:

192.168.196.3 localhost

上面代码中前半段是自己系统的本地IP地址。

修改后的文件内容如下:

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

最后重启电脑即可。

解决方案2

修改主机名,只要主机名不是localhost或者localhost.localdomain,操作系统就不会执行DNS反向解析等操作,问题自然也不会出现。

具体的操作是,修改/etc/sysconfig/network文件中HOSTNAME的值,下面的演示将把hostname修改为myname:

NETWORKING=yes
HOSTNAME=myname

当然,修改了hostname,也要修改对应的/etc/hosts文件,修改如下:

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

然后,重启系统就行了。

但是,我要说但是了,Centos7以上使用的hostname的定义和修改与之前版本略有不同。可以使用下面的命令

hostnamectl set-hostname myname

同样的,这个命令也需要手动更新/etc/hosts,方法跟上面的一样。

最后还是一如既往地重启系统!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值