当前位置: 首页 > news >正文

Name or service not known问题解决和分析过程解析

目         录

一、问题描述

二、问题查处过程

(一)为何不能识别到bogon

(二)为何会出现bogon

(三)能不能更改bogon

(四)能识别其他host的名字

三、问题分析

四、问题解决

(一)解决掉bogon

1、查看dns

2、修改DNS

3、查看结果

(二)正常识别hostname

1、删除外部DNS解析

2、查看结果


一、问题描述

程序执行错误,查看日志信息发现出现:bogon 不能识别,于是进行如下查处:

[root@bogon vcms]#

[root@bogon vcms]# hostname

bogon

[root@bogon vcms]#

[root@bogon vcms]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@bogon vcms]#

[root@bogon vcms]#vi /etc/hosts

认为bogon不在hosts列表,于是准备把bogon增加到hosts列表中,操作如下:

[root@bogon vcms]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4 bogon

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6 bogon

[root@bogon vcms]#

[root@bogon vcms]#sudo systemctl restart network

[root@bogon vcms]#

程序仍然执行错误,查看日志信息发现出现:bogon 不能识别。

现在应该如何办?

二、问题查处过程

(一)为何不能识别到bogon

        Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件。如果/etc/hosts文件中有相应的记录,系统就会使用这个文件中的记录。因此,如果hostname在/etc/hosts文件中没有对应的条目,或者条目不正确,那么系统可能无法正确解析hostname。

        于是我们编辑/etc/hosts文件,把bogon添加到hosts文件中对应的条目,但是结果还是不行。

[root@bogon vcms]#hostname -i

hostname: Name or service not known    

(二)为何会出现bogon

       我们了解到,一般情况下,当centos系统的hostname变为bogon时,这通常是由于网络配置或DNS解析问题导致的。bogon一词通常用来表示一个虚假的、不存在的或无效的IP地址。

       看来,不能出现bogon。

(三)能不能更改bogon

       根据上面的情况,我们就像改掉这个bogon,但是尝试了各种办法,都没办法凑效!

(四)能识别其他host的名字

       我们尝试了一下,包括localhost, localhost.localdomain,都不能解析

        使用hostname -i,发现出现错误

        hostname: Name or service not known    

        

三、问题分析

        理论上,在CentOSlinux系统中,解析主机名是由Name Service Switch LibraryNSS)和DNS服务器共同处理的。具体流程为:

  1. 当一个程序需要解析一个主机名时,它会调用gethostbyname()函数来获取IP地址。
  2. NSS是Linux下的一个服务,它使用gethostbyname()函数从/etc/hosts文件中查找主机名对应的IP地址。如果找到匹配的主机名,则返回对应的IP地址。
  3. 如果在/etc/hosts文件中没有找到匹配的主机名,NSS会继续使用DNS服务器来解析主机名。它通过发出一个网络请求到DNS服务器,请求该主机名的IP地址。
  4. DNS服务器收到请求后,会查询其数据库来找到相应的IP地址,然后返回给客户端。
  5. NSS接收到DNS服务器返回的IP地址后,将其返回给原始调用者,完成主机名的解析。

        因此,我们需要重NSS和DNS服务器上入手。

四、问题解决

通过以上分析,我们理出思路,应该就是主机名解析的问题

(一)解决掉bogon

1、查看dns

[root@bogon vcms]#cat /etc/sysconfig/network-scripts/ifcfg-exxx

……………………..

DNS1=192.168.10.3

DNS2=221.8.16.1

2、修改DNS

[root@bogon vcms]#vi /etc/sysconfig/network-scripts/ifcfg-exxx

……………………..

DNS1=8.8.8.8

DNS2=114.114.114.114

[root@bogon vcms]# sudo systemctl restart network

3、查看结果

[root@bogon vcms]#

[root@bogon vcms]# hostname

localhost

[root@bogon vcms]#

看来凑效了。但是,错误依旧,如下图:

[root@bogon vcms]#

[root@bogon vcms]# hostname -i

hostname: Name or service not known    

[root@bogon vcms]#

(二)正常识别hostname

        分析到,可能是外部dns进行了名字解析,若把外部dns去掉呢?        

1、删除外部DNS解析

[root@bogon vcms]#vi /etc/sysconfig/network-scripts/ifcfg-exxx

……………………..

#DNS1=8.8.8.8

#DNS2=114.114.114.114

[root@bogon vcms]# sudo systemctl restart network

2、查看结果

[root@bogon vcms]#

[root@bogon vcms]# hostname

localhost

[root@bogon vcms]#

[root@localhost vcms]# hostname -i

::1 127.0.0.1

[root@localhost vcms]#

看来凑效了。

然后,程序执行OK,看到了成功运行的久违的界面。

http://www.lryc.cn/news/298207.html

相关文章:

  • emmet语法
  • 【PTA主观题】8-1 文件操作
  • 机器学习算法决策树
  • ssh和sftp服务分离
  • Bootstrap学习三
  • 第77讲用户管理功能实现
  • 锐捷(十九)锐捷设备的接入安全
  • 【MySQL题】——基础概念论述(二)
  • Spring Boot + flowable 快速实现工作流
  • (已解决)LaTeX Error: File `svproc.cls‘ not found. (用Springer LNCS 会议Proceedings模板)
  • Spring Boot 自定义指标
  • 安全的接口访问策略
  • 最佳视频转换器软件:2024年视频格式转换的选择
  • 深入理解 Nginx 插件及功能优化指南
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Blank组件
  • InternLM大模型实战-4.XTuner大模型低成本微调实战
  • 【SpringBoot篇】解决Redis分布式锁的 误删问题 和 原子性问题
  • 蓝桥杯Web应用开发-CSS3 新特性【练习三:文本阴影】
  • LRU缓存
  • ncc匹配提速总结
  • 人力资源智能化管理项目(day06:员工管理)
  • Java实现数据可视化的智慧河南大屏 JAVA+Vue+SpringBoot+MySQL
  • 【Flink】FlinkSQL的DataGen连接器(测试利器)
  • 5G NR 频率计算
  • 关于物理机ping不通虚拟机问题
  • 深度学习在知识图谱问答中的革新与挑战
  • JAVA设计模式之职责链模式详解
  • CSP-201912-1-报数
  • 前后端分离好处多多,怕就怕分工不分人,哈哈
  • 机器学习:Softmax介绍及代码实现