linux主机名被更改为bogon原理分析
来源:互联网 发布:电子音乐制作软件水果 编辑:程序博客网 时间:2024/06/06 01:25
问题描述:
操作系统为RHEL6.5,安装时使用的是默认主机名localhost,后来不知道怎么,在没有人修改的情况下,重启后就变成了bogon。导致我们的数据库等应用无法正常启动。在排除人为修改的原因后,检查了/etc/sysconfig/network等文件,发现里面HOSTNAME是localhost,并没有什么问题。后来经过联系红帽客服及在群里寻求帮助,当然 还有伟大的度娘和谷歌,终于算是基本搞明白了其中的原因。
成因分析:
linux系统启动时,会经历BOIS自检,系统引导,启动内核,初始化系统这几步 ,其中初始化系统时,会依次执行/etc/rc.sysinit,/etc/rc.d/rc* 等脚本文件,其中在rc.sysinit有这样 一段代码
if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then ipaddr=$(ip addr show to 0.0.0.0/0 scope global | awk '/[[:space:]]inet / { print gensub("/.*","","g",$2) }') for ip in $ipaddr ; do HOSTNAME= eval $(ipcalc -h $ip 2>/dev/null) [ -n "$HOSTNAME" ] && { hostname ${HOSTNAME} ; break; } done fi
这段代码先判断了主机名,如果主机名是localhost或者localhost.localdomain,则获取主机IP地址并执行DNS逆向解析,将解析到的结果赋值给HOSTNAME。假设我主机IP为192.168.1.47,手动执行下列命令,得到的返回值为bogon。也就是莫名其妙出现的主机名
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原理分析
- linux主机名被更改为bogon原理分析
- Linux 主机名被修改成bogon问题
- linux主机名变成了bogon
- 解决linux下主机名变bogon
- Linux系统主机名变成bogon的解决方法
- 解决linux下主机名变bogon的问题
- linux下主机名变成bogon,恢复成localhost
- rehl5 主机名变成bogon
- centos主机名bogon解决办法
- linux-更改主机名
- linux-更改主机名
- linux下更改主机名
- linux下更改主机名
- linux更改主机名
- linux更改主机名
- linux更改主机名
- linux 主机名更改
- 收集的Android开源框架及其地址(备用)
- oracle 与OS的存储结构
- AtomicBoolean的妙用
- iOS开发工具Xcode 8.4版本 添加包的操作
- myeclipse10 和eclipse集成tomcat 启动报错报错
- linux主机名被更改为bogon原理分析
- 服务发现:Zookeeper vs etcd vs Consul
- Apache与Tomcat联系及区别
- js进度条(原创可用于学习)
- 轻松搞定面试中的二叉树题目
- 学习笔记 什么是事务型操作
- iOS 9之3D Touch
- 20个非常有用的Java程序片段
- 显示屏幕如何计算面积大小