Linux系统主机名变成bogon的解决方法
来源:互联网 发布:ewb仿真软件简介 编辑:程序博客网 时间:2024/06/06 23:16
- 问题描述
虚拟机安装Linux系统,版本为CentOS 7.2,主机名之前设置为自定义的名字(CentOS-Y)。最近启动系统,突然发现主机名变成了bogon。
查看vim /etc/sysconfig/network 配置,发现里面HOSTNAME值正常。查看vim /etc/hosts 也没有异常。
- 问题原因
通过百度搜索以下相关资料:
bogon是什么?
bogon是指那些不该出现在internet路由表中的地址,包括:
1、私有地址如10,172.16-32,192.168…..
2、还未正式分配出去的地址
bogon怎么来的?
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。如果执行以下命令
ipcalc -h 你的IP
则可能你得到的结果就是bogon,这就是解析的结果。
- 解决方案
1、使用hostname命令
[root@test ~]# hostname yourname
不过,这样只是临时更改了主机名,系统重启后失效。
2:修改linux主机的配置文件:/etc/sysconfig/network 和 /etc/hosts
①.修改/etc/sysconfig/network主机名。
vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=<hostname> //在这修改你的主机名GATEWAY=192.168.1.1
②.修改/etc/hosts主机名
vi /etc/hosts127.0.0.1 localhost.localdomain localhost192.168.1.99 <yourname> //在这修改主机名
不过,有时候可能只有这一行
127.0.0.1 <yourname> localhost.localdomain localhost
3、使用hostnamectl命令
在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。
1.“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。
2.“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。
3.“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Linuxidc)。
在命令行输入hostnamectl ,可以查看到hostname的三个状态
[root@centos-y ~]# hostnamectl Static hostname: bogon Pretty hostname: bogon Icon name: computer-vm Chassis: vm Machine ID: 599c56352f5b4539937e97d83802a559 Boot ID: b8931498e16b4ae39b0d77a6c48c8d7b Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64
使用hostnamectl命令,设置主机名
hostnamectl set-hostname CentOS-Y
输入hostnamectl命令,可看到主机名已改。
Static hostname: centos-y Pretty hostname: CentOS-Y Icon name: computer-vm Chassis: vm Machine ID: 599c56352f5b4539937e97d83802a559 Boot ID: b8931498e16b4ae39b0d77a6c48c8d7b Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64
重启系统,主机名已恢复正常。
- 结语
关于问题原因,我也不是很懂,这里也没有去考证是否正确,或许还有别的原因。
对于我系统的问题,实际上前两种方式都无效,最后我是通过第三种方式得以解决。在这里把这些方式一起做个总结记录,如果有问题,还请给我指出来。
转载请注明地址
参考资料:
http://blog.csdn.net/fangfang_666/article/details/55670911
http://blog.csdn.net/weiwan721/article/details/48463371
- Linux系统主机名变成bogon的解决方法
- 主机名突然变成bogon的解决方法
- linux主机名变成了bogon
- rehl5 主机名变成bogon
- linux下主机名变成bogon,恢复成localhost
- 解决linux下主机名变bogon的问题
- Linux 主机名被修改成bogon问题
- 解决linux下主机名变bogon
- linux主机名被更改为bogon原理分析
- linux主机名被更改为bogon原理分析
- centos主机名bogon解决办法
- 修改Linux系统的主机名
- CentOS7 变更默认主机名bogon
- CentOS [root@bogon ~]# 主机名问题
- linux系统中主机名的设置
- Linux系统设置主机名
- linux系统修改主机名
- 修改linux系统主机名
- 使用const,enum,inline template<>替代#define
- 图片轮播
- HttpURLConnection网络请求工具类
- Expected selector for Objective-C method
- Error:Error converting bytecode to dex:Cause: com.android.dex.DexException: Multiple dex files defin
- Linux系统主机名变成bogon的解决方法
- iOS自动布局框架-Masonry详解
- 欢迎使用CSDN-markdown编辑器
- C++ static成员/类专属成员的定义/静态成员
- [LeetCode]389. Find the Difference
- ETCD3 和 ETCD2 性能比较
- 一份代码适配手机+平板
- CVBS视频信号解析
- [NLP论文阅读] Word Embedding based on Fixed-Size Ordinally Forgetting Encoding