resolv.conf 未按预期工作

resolv.conf 未按预期工作

如你看到的这里(并且在 中man resolv.conf),有一个名为的选项use-vc,用于resolv.conf强制 Ubuntu 使用 TCP 而不是 UDP 进行 DNS 查询。

use-vc(自 glibc 2.14 起)

在 _res.options 中设置 RES_USEVC。此选项强制使用 TCP 进行 DNS 解析。

这个选项对我不起作用。

我的Ubuntu:

ebrahim@ebrahim:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:    16.10
Codename:   yakkety

ebrahim@ebrahim:~$ uname -a
Linux ebrahim 4.8.0-58-generic #63-Ubuntu SMP Mon Jun 26 17:08:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

ebrahim@ebrahim:~$ ldd --version
ldd (Ubuntu GLIBC 2.24-3ubuntu2.2) 2.24

正如您上面看到的,我的glibc版本比 resolv.conf 手册页中要求的版本更新。

这是我的配置文件:

ebrahim@ebrahim:~$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
options use-vc
nameserver 8.8.8.8

但 DNS 查询仍然在 UDP 上:在此处输入图片描述

为什么?

(请注意,我已在 6 个不同的 Ubuntu 操作系统上尝试过此选项,其中 3 个可以,3 个不起作用!)

相关内容