Como você pode ver aqui (e em man resolv.conf
), existe uma opção chamada use-vc
para resolv.conf
para forçar o Ubuntu a usar TCP para consultas DNS em vez de UDP.
use-vc (desde o glibc 2.14)
Define RES_USEVC em _res.options. Esta opção força o uso do TCP para resoluções DNS.
Esta opção não funciona para mim.
Meu 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
Como você vê acima, minha glibc
é a versão mais recente que a versão requerida na página de manual do resolv.conf.
Este é o meu arquivo de configuração:
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
Mas as consultas do DNS ainda estão no UDP:
Por quê?
(Note que eu tentei esta opção em 6 diferentes sistemas operacionais Ubuntu, 3 deles estavam bem e 3 não funcionou!)