(1)问题及原因 查了一些资料,bogon是指那些不该出现在internet路由表的地址。 Linux在初始化系统时,会先判断主机名,如果主机名是localhost或localhost.localdomain, 则会获取主机IP地址并执行DNS逆向解析,将解析到的结果赋值给HOSTNAME。 问题是,有些DNS服务器,会将私有地址,保留地址这样不应该出现在网络上的IP地址解析成bogon。
(2)解决方案1(推荐) 值得推荐的方案就是让本地IP地址解析时不经过DNS服务器,直接使用hosts文件,直接将本机的IP地址解析为localhost。 具体的操作就是在/etc/hosts文件中追加一行: 192.168.236.129 localhost前半段是自己系统的本地IP地址。 修改后的文件内容如下: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.236.129 localhost
(3)解决方案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
然后,重启系统就行了。