/etc/host.conf:配置域名服务客户端的控制文件。
/etc/hosts:完成主机名映射为IP地址的功能。
/etc/resolv.conf:域名服务客户端的配置文件,用于指定域名服务器的位置。
/etc/sysconfig/network:包含了主机最基本的网络信息,用于系统启动。
/etc/sysconfig/network-script/:系统启动时初始化网络的一些信息。
/etc/xinetd.conf:定义了由超级进程xinetd启动的网络服务。
/etc/networks:完成域名与网络地址的映射。
/etc/protocols:设定了主机使用的协议以及各个协议的协议号。
/etc/services:设定主机的不同端口的网络服务。
etc/hosts
内容
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
说明
默认存放的是本机IP和本机一些主机名的对应关系,第一行是ipv4信息,第二行是ipv6信息,如果用不上ipv6本机解析,一般把该行注释掉。
/etc/resolv.conf
内容
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.35.2
说明
指定域名解析的DNS服务器IP等信息,配置参数一般接触到的有4个:
nameserver:指定DNS服务器的IP地址。
domain:定义本地域名信息。
search:定义域名的搜索列表。
sortlist:对gethostbyname返回的地址进行排序
但是最常用的配置参数是nameserver,其他的可以不设置,这个参数指定了DNS服务器的IP地址,如果设置不正确,就无法进行正常的域名解析。
一般来说,推荐设置2个DNS服务器,比如我们用google的免费DNS服务器,那么该文件的设置内容如下:
nameserver 8.8.8.8
nameserver 8.8.4.4
/etc/nsswitch.conf
说明
一:
etc/nsswitch.conf文件是Linux系统中的一个重要配置文件,它定义了系统如何查找各种数据库(如用户、组、密码、主机名等)的方法,以及在查找时应首先使用哪些数据库。
具体来说,/etc/nsswitch.conf文件定义了如下数据库和检索顺序:
passwd:用户账号信息
group:用户组信息
shadow:用户密码信息
hosts:主机名、IP地址对应关系
networks:网络名称、IP地址对应关系
protocols:网络协议信息
services:基于网络的服务信息(如NFS)
rpc:RPC协议信息
netgroup:网络组信息
passwd:指定了所有计算机用户的账户信息,这些信息被记录在 /etc/passwd 文件中,包括用户 ID、用户名、密码(加密后)、用户家目录、默认 Shell 等信息。
group:指定了所有的用户组信息,被记录在 /etc/group 文件中,包括组 ID、组名、组成员等信息。
shadow:指定了所有用户的密码信息,其加密后的密文被保存在 /etc/shadow 文件中。
hosts:指定了计算机名、域名以及 IP 地址之间的对应关系,这些信息可以被记录在 /etc/hosts 文件中或者通过网络上的 DNS 服务器查询。
networks:指定了网络名称和 IP 地址之间的对应关系,被记录在 /etc/networks 文件中。
protocols:指定了网络协议的信息,被记录在 /etc/protocols 文件中。
services:指定了网络服务相关信息,如端口号、服务名称等,被记录在 /etc/services 文件中。
rpc:指定了 RPC 协议的信息,被记录在 /etc/rpc 文件中。
netgroup:指定了网络组信息,被记录在 /etc/netgroup 文件中,用于定义一组主机或用户的集合,以及这些主机和用户之间的关系。
/etc/nsswitch.conf文件的配置语法为“database: source”,其中database表示要检索的数据库类型,source表示检索顺序。源可以是“files”(从文件中检索)、“dns”(从DNS服务器中检索)、“nis”(从NIS服务器中检索)等。
二、
你访问某个网址时,系统需要将这个网址(实际上是一个主机名)转换成IP地址,这通常涉及到DNS解析过程。如果没有在 nsswitch.conf 中为 hosts 或 dns 设置正确的查询顺序,可能会遇到以下问题:
如果系统首先查询 hosts 文件而没有找到对应条目,它可能不会尝试进行DNS解析,导致无法通过网址访问相关服务。
如果 hosts 文件中有对应的条目,而这个条目并不是正确的IP地址,那么系统可能会错误地使用 hosts 文件中的条目,导致无法访问最新的服务。
参考:
https://article.itxueyuan.com/98KP61
https://blog.csdn.net/weixin_38233104/article/details/131423982