Solution 1 :
Un délai d'attente de connexion se produit lorsque le serveur DNS ne répond pas du tout ou ne répond pas en temps opportun.
Le premier peut être simulé en bloquant simplement tout le trafic vers votre serveur DNS, sur un système Linux par exemple avec :
# iptables -I OUTPUT -p udp -d <iIP of DNS server> --dport 53 -j DROP
Utiliser DROP comme cible signifie que vous n'obtiendrez même pas d'erreur de connexion refusée, cela devient juste un trou noir. (Il est peu probable que vous effectuiez normalement des transferts de zone, il n'est donc pas nécessaire de bloquer le protocole TCP en plus d'UDP.)
La création de retards est un peu plus compliquée. A partir du netem
manuel :
# tc qdisc add dev eth0 root handle 1: prio
# tc qdisc add dev eth0 parent 1:3 handle 30: tbf rate 20kbit buffer 1600 limit 3000
# tc qdisc add dev eth0 parent 30:1 handle 31: netem delay 200ms 10ms distribution normal
# tc filter add dev eth0 protocol ip parent 1:0 prio 3 u32 match ip dst <IP_of_DNS_server>/32 flowid 1:3
Ce qui crée un retard de 200 ms avec une variation aléatoire de ± 10 ms.
Solution 2 :
Ce qu'il vous faut, c'est un "serveur trou noir". Vous pouvez utiliser blackhole.webpagetest.org
(72.66.115.13
) qui supprimera silencieusement toutes les requêtes.
Pourquoi je suggère cela par rapport aux autres réponses, c'est parce que le serveur susmentionné a été créé à cette seule fin.
Exemple :
[email protected]:~$ dig example.com @72.66.115.13
; <<>> DiG 9.10.3-P4-Debian <<>> example.com @72.66.115.13
;; global options: +cmd
;; connection timed out; no servers could be reached
Solution 3 :
nameserver 127.0.0.1
ne fonctionnera pas car le comportement par défaut est déjà cela. Au lieu de cela, essayez d'utiliser un DNS non existant. Pour vous en assurer, vous pouvez faire :
nslookup example.com 192.0.2.10
Si vous n'obtenez pas de réponse, vous pouvez utiliser 192.0.2.10
comme serveur DNS.
Solution 4 :
Si vous n'utilisez pas de serveur DNS sur votre système de test, vous devriez pouvoir utiliser son adresse IP.
Vous pouvez essayer d'utiliser une adresse rfc1918 inutilisée.
Vous pouvez utiliser le pare-feu de votre serveur pour bloquer les paquets sortants avec un port de destination 53.