ubuntu20.04/etc/resolv.conf 语法语义解释

发布时间:2024年01月13日

ubuntu20.04/etc/resolv.conf 语法语义解释

在 Ubuntu 20.04 中,`/etc/resolv.conf` 文件的语法和语义有一些变化。在该版本中,`/etc/resolv.conf` 文件不再直接用于配置 DNS 解析器,而是由 `systemd-resolved` 服务动态生成和管理。

`/etc/resolv.conf` 文件中的内容通常会被 `systemd-resolved` 自动生成,并包含以下注释行:

```
# This file is managed by man:systemd-resolved(8). Do not edit.
# ...
```

如果你手动编辑 `/etc/resolv.conf` 文件,更改将会被 `systemd-resolved` 覆盖。因此,对于配置 DNS 解析器,建议使用 `systemd-resolved` 提供的工具和配置文件来进行操作。

1. `nameserver`:在 `/etc/resolv.conf` 文件中,你可以通过添加 `nameserver` 行来配置 DNS 服务器。然而,这些配置信息实际上是由 `systemd-resolved` 的配置文件 `/etc/systemd/resolved.conf` 管理的。

?? 如果你希望指定 DNS 服务器,请编辑 `/etc/systemd/resolved.conf` 文件,找到 `DNS` 选项,然后将你想要的 DNS 服务器的 IP 地址添加到该选项中。可以指定多个 DNS 服务器,每个 IP 地址占据一行。例如:

?? ```
?? DNS=8.8.8.8 8.8.4.4
?? ```

?? 修改完 `/etc/systemd/resolved.conf` 文件后,需要重新启动 `systemd-resolved` 服务以使更改生效:

?? ```
?? sudo systemctl restart systemd-resolved
?? ```

2. `search`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `Domains` 选项来配置默认的域名搜索后缀。例如:

?? ```
?? Domains=example.com
?? ```

3. `domain`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `DNSDomains` 选项来配置默认的域名。例如:

?? ```
?? DNSDomains=example.com
?? ```

?? 修改完 `/etc/systemd/resolved.conf` 文件后,同样需要重新启动 `systemd-resolved` 服务以使更改生效。

4. `options`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `DNSOptions` 选项来指定其他选项,如超时时间和转发等。可以使用多个 `DNSOptions` 行来指定不同的选项。例如:

?? ```
?? DNSOptions=timeout:2
?? DNSOptions=attempts:3
?? ```

?? 在上面的示例中,设置了超时时间为 2 秒,最大尝试次数为 3 次。

?? 修改完 `/etc/systemd/resolved.conf` 文件后,同样需要重新启动 `systemd-resolved` 服务以使更改生效。

总之,在 Ubuntu 20.04 中,`/etc/resolv.conf` 文件被 `systemd-resolved` 服务动态生成和管理。要配置 DNS 解析器,请使用 `systemd-resolved` 提供的工具和配置文件。这样可以确保你的更改是稳定和持久性的,并且不会被其他程序覆盖。

请注意,虽然可以直接编辑 `/etc/resolv.conf` 文件来手动配置 DNS 服务器和域名搜索后缀,但这些更改在重启或网络状态变化时可能会被覆盖。因此,为了稳定和持久性地配置 DNS 解析器,请使用 `systemd-resolved` 提供的工具和配置文件。

文章来源:https://blog.csdn.net/benco1986/article/details/135568816
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。