linux bogon

内容来自linux主机名被更改为bogon原理分析

经常会发现自己使用的虚拟机的hostname被更改为bogon,找了些资料记录一下

bogon是指那些不该出现在internet路由表中的地址,包括:
1、私有地址如10,172.16-32,192.168…..
2、保留地址,还未正式分配出去的地址

hostname之所以会变更为bogon是由于linux启动时候,在其中的一个启动脚本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

如果本地的hostname使用的是默认的hostname,即localhost或者localhost.localdomain,会进行DNS反向解析,将解析的结果赋给hostname。

解决方法
1、修改/etc/sysconfig/network文件中HOSTNAME键值,不使用默认的主机名
2、更改DNS服务器,对bogon进行过滤

你可能感兴趣的:(linux bogon)