【Linux】Linux中DNS配置文件/etc/resolv.conf详解(linux dns配置文件路径)

【Linux】Linux中DNS配置文件/etc/resolv.conf详解 文章目录 1 DNS相关配置文件2 /etc/resolv.conf配置文件中的字段解析3 容器中的/etc/resolv.conf配置 1 DNS相关配置文件

文章目录

1 DNS相关的配置文件2 /etc/resolv.conf配置文件的字段分析3 容器中/etc/resolv.conf的设置

1 DNS相关配置文件

如果不安装任何附加组件,则主要有三个与域名解析相关的配置文件。

/etc/hosts:本地域名与IP的映射关系。通常用于本地测试或临时更改域名对应的IP。 /etc/nsswitch.conf:定义系统如何搜索各种数据。搜索时使用的初始数据库/etc/resolv.conf:域名解析服务器地址和参数设置。

2 /etc/resolv.conf配置文件中的字段解析

/etc/resolv.conf 配置文件存储域名解析设置,通常包含以下设置:

nameserver:指定您的域名服务器的IP 地址。 search:进行域名查询时,会将域名后缀串联起来,形成完整的域名进行查询。 Options:控制域名查询的选项

名称服务器用于配置域名服务器的IP 地址。例如,名称服务器192.168.70.2指定域名服务器IP地址为192.168.70.2。一个系统可以指定多个名称服务器配置。常用的域名服务器地址:

114.114.114.114:国内3网8.8.8.8:谷歌DNS

有关更多信息,请参阅我们非常有用的DNS 服务器。

例如,如果您的搜索设置为搜索baidu.com,则可以直接使用www作为域名。域名查询查询www.baidu.com,通常会搜索多个域名。那么,只要查询到域名,就会执行join操作吗?下面是策略:

如果指定的域名以点结尾,则认为是完整域名,直接查询域名,不与搜索中配置的域名后缀结合起来。如果指定的域名大于或等于options 中的ndots 设置,则首先直接查询域名,如果失败,则通过搜索指定查询中的点数构造的域名后缀进行连接。如果域名小于可选的ndots 设置,则直接与查询搜索设置的域名后缀连接。

例如查询域名abc.host -a abc.会直接报错,因为域名中的点数等于: 0,小于可选的ndots 设置(ndots 默认值为1),如果查询域名abc.svc,则会查询abc.baidu.com (假设搜索设置搜索baidu.com )。域名中的点数为0,因此与可选的ndots设置相同。先查询abc.svc,如果失败再查询abc.svc.baidu.com。

以下是一些重要的配置项:ndots。该配置项作为判断搜索设置是结合域名后缀还是直接域名查询的依据。如果域名中的点数大于ndots,则说明域名足够。如果域名点数少于ndots,则直接查询域名。 ndots 表示域名相对较短,可能需要与域名后缀组合。

选项用于指定域名查询过程中的一些参数。常见的配置项包括:

timeout:设置DNS查询超时时间。 Trys:每个DNS 服务器发送查询的最大尝试次数ndots:控制域名查询的首选策略。缓存:控制是否使用DNS 缓存。

3 容器中的/etc/resolv.conf配置

主机上的/etc/resolv.conf配置文件用于提供域名查询配置。当然,这个配置在容器中也存在,也是实现服务查询的关键。

创建常规Pod 时,容器的/etc/resolv.conf 配置如下所示:

名称服务器10.1.0.10

搜索default.svc.cluster.local svc.cluster.localcluster.local

选项ndots:5

其中,nameserver 配置为kube-dns 服务的IP 地址,搜索配置为集群的域名后缀,ndots 设置为5。那么这些构造是从哪里来的呢?

kubelet启动配置文件–config=/var/lib/kubelet/config.yaml有两个参数,分别用于指定域名服务IP和集群域名。

集群dns:

– 10.1.0.10

集群域: cluster.local

因此,kubelet只能在创建容器时传递这些配置。

容器中服务的FQDN 格式为$SERVICE.$NAMESPACE.svc.$CLUSTER。这里,SERVICE、NAMESPACE和CLUSTER分别代表域名在搜索中的顺序。这个范围从小规模到大规模。首先开始查询相同的命名空间,然后查询整个集群。

最后一个问题:为什么我需要将ndots 设置为5?

当然,这也涉及到服务的FQDN格式。如果您使用完整的FQDN 格式,您将看到服务名称包含四个点。因此,服务的FQDN 中只有四个点。如果查询到的域名包含超过四个点,即五个或更多点,则要么是集群中某个服务的FQDN 格式加一个尾点,要么是集群中当前的某个服务。您可以直接查询域名服务器。另外,如果查询的域名不超过4个点,则很可能是集群中的服务,并且查询是在域名后缀上组合的。通过搜索设置。

#【Linux】以上针对Linux DNS配置文件/etc/resolv.conf详细说明的相关内容由网络提供,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92305.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月26日 下午11:38
下一篇 2024年6月26日 下午11:38

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注