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

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` 提供的工具和配置文件。

你可能感兴趣的:(Linux,linux)