Existem diferentes tipos de randomização ou pseudo-aleatoriedade de resolução de DNS no Linux.
Com o resolvedor libc e /etc/resolv.conf
"options rotate" é um tipo de round-robin do lado do cliente e, como tal, pode ser considerado como uma aleatoriedade de homem pobre. No entanto, o resolvedor libc suporta no máximo 3 servidores diferentes. Aqui está uma amostra /etc/resolv.conf
que usa 3 servidores DNS públicos populares e confiáveis.
options timeout:1
options rotate
# resolver1.level3.net
nameserver 209.244.0.3
# resolver1.opendns.com
nameserver 208.67.222.222
# google-public-dns-a.google.com
nameserver 8.8.8.8
com dnsmasq
Com o dnsmasq, pode-se usar more de 3 servidores de nomes remetentes .
O servidor é escolhido não apenas aleatoriamente, mas é de fato pseudo-aleatoriamente alterado a cada 50 consultas ou 10 segundos se passaram . Isso pode ser verificado fazendo consultas ( log-queries
).
Em /etc/resolv.conf
:
nameserver 127.0.0.1
Em /etc/dnsmasq.conf
resolv-file /etc/resolv.dnsmasq
Em /etc/resolv.dnsmasq
# dns1.alternate-dns.com
nameserver 198.101.242.72
# resolver1.dyndnsinternetguide.com
nameserver 216.146.35.35
# dns1.safedns.com
nameserver 195.46.39.39
# resolver1.level3.net
nameserver 209.244.0.3
# ns1.recursive.dnsbycomodo.com
nameserver 8.26.56.26
# ordns.he.net
nameserver 74.82.42.42
# dns.yandex.ru
nameserver 77.88.8.8
# resolver1.opendns.com
nameserver 208.67.222.222
# google-public-dns-a.google.com
nameserver 8.8.8.8
# rdns1.ultradns.net
nameserver 156.154.70.1
Com unbound
Com o unbound, também é possível especificar vários resolvedores (mais de 3). A randomização é documentada da seguinte forma:
The fastest server (randomly picked within a so-called RTT band of 400 msec) is selected when a query has to be sent out
link
Em /etc/resolv.conf
:
nameserver 127.0.0.1
Em /etc/unbound/unbound.conf
:
forward-zone:
name: "."
# google
#forward-addr: 8.8.8.8
# fnd.org
forward-addr: 80.67.169.12
# comodo
forward-addr: 8.26.56.26
# level 3
forward-addr: 209.244.0.3