linux主机名被更改为bogon原理分析

转载 2016年06月01日 11:42:18

博客原址:http://blog.csdn.net/weiwan721/article/details/48463371

问题描述:

操作系统为RHEL6.5,安装时使用的是默认主机名localhost,后来不知道怎么,在没有人修改的情况下,重启后就变成了bogon。导致我们的数据库等应用无法正常启动。在排除人为修改的原因后,检查了/etc/sysconfig/network等文件,发现里面HOSTNAME是localhost,并没有什么问题。后来经过联系红帽客服及在群里寻求帮助,当然 还有伟大的度娘和谷歌,终于算是基本搞明白了其中的原因。



成因分析:

linux系统启动时,会经历BOIS自检,系统引导,启动内核,初始化系统这几步 ,其中初始化系统时,会依次执行/etc/rc.sysinit,/etc/rc.d/rc* 等脚本文件,其中在rc.sysinit有这样 一段代码

[plain] view plain copy
  1. if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then  
  2.          ipaddr=$(ip addr show to 0.0.0.0/0 scope global | awk '/[[:space:]]inet / { print gensub("/.*","","g",$2) }')  
  3.          for ip in $ipaddr ; do  
  4.                  HOSTNAME=  
  5.                  eval $(ipcalc -h $ip 2>/dev/null)  
  6.                  [ -n "$HOSTNAME" ] && { hostname ${HOSTNAME} ; break; }  
  7.          done  
  8.  fi  

这段代码先判断了主机名,如果主机名是localhost或者localhost.localdomain,则获取主机IP地址并执行DNS逆向解析,将解析到的结果赋值给HOSTNAME。假设我主机IP为192.168.1.47,手动执行下列命令,得到的返回值为bogon。也就是莫名其妙出现的主机名

[plain] view plain copy
  1. ipcalc -h 192.168.1.47  

经查阅资料,了解到有些DNS服务器,会将私有地址,保留地址这样的不应该出现在网络上的IP地址解析成bogon。



解决方法:

知道问题的原因了,解决起来也就容易了。

推荐的最佳解决方案,是修改主机名,只要主机名不是localhost或者localhost.localdomain,那么操作系统就不会执行DNS反向解析等操作,问题自然也不会出现。而且并不推荐使用默认主机名进行系统安装。具体操作就是修改/etc/sysconfig/network文件中HOSTNAME键值。

再有就是更改DNS域名服务器,有些域名服务器会对bogon进行过滤。多试试哪些行哪些不行。或者不给服务器配置DNS,大部分服务器其实是没有上网需求的。DNS服务器一般是在/etc/resolv文件中,有些也会写在/etc/sysconfg/network-scripts/ifcfg-eth0中。

linux主机名被更改为bogon原理分析

问题描述: 操作系统为RHEL6.5,安装时使用的是默认主机名localhost,后来不知道怎么,在没有人修改的情况下,重启后就变成了bogon。导致我们的数据库等应用无法正常启动。在排除人为修改的...

主机名突然变成bogon的解决方法

主机名突然变成bogon,访问网络可能会出现问题(也可能没问题,我的就没问题),可能用到主机名的服务(比如说:mysql)可能也会出现访问不了 所以我们需要解决以下问题,本人的解决方法: 主机名变...

linux下修改主机名

  • 2013年11月14日 11:22
  • 285KB
  • 下载

linux下修改主机名

  • 2015年06月30日 00:24
  • 742B
  • 下载

修改或隐藏Linux终端命令行中的用户名和主机名

让命令行中的主机名和用户名显示的越短,临时修改用户名和主机名,命令行中隐藏和变短用户名和主机名...

Linux下是如何配置解析主机名的(包括DNS服务)

我们要访问DNS服务,必需知道DNS服务器的IP地址,Linux使用/etc/resolv.conf文件来存放DNS服务器的IP地址。下面我们来了解下/etc/resolv.conf文件它的格式很简单...
  • Veaxen
  • Veaxen
  • 2017年05月13日 13:17
  • 810

Linux下根据局域网IP查看主机名命令

使用方法手册NAMEnmblookup - 基于TCP/IP上的NetBIOS客户用于查询NetBIOS名字的程序  总览 SYNOPSIS nmblookup [-M] [-R] [-S] [-r]...

linux 通过Ip获取主机名等信息gethostbyaddr()等。

#include #include #include #include #include #include int main(int argc, char **argv) { char...

Linux hostname主机名配置文件与文件 /etc/hosts解说

Linux hostname经过长时间的发展,这里我发表一下个人理解,下面就这就来讲术Linux hostname。今天又开始写网络文档了,先写一篇小一点的练练手,本来计划了一篇比较大的网络基础文档,...
  • suirosu
  • suirosu
  • 2014年10月01日 19:37
  • 477

Linux hostname主机名配置文件/etc/hosts详解

http://www.jb51.net/LINUXjishu/77329.html  这篇文章为大家介绍linux hostname主机名配置文件/etc/hosts,包括主机名的用途、配置文件...
  • scdxmoe
  • scdxmoe
  • 2016年04月28日 15:45
  • 263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux主机名被更改为bogon原理分析
举报原因:
原因补充:

(最多只允许输入30个字)