GNU/Linux >> Tutoriels Linux >  >> Linux

Comment simuler le délai de réponse du serveur DNS ?

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.


Linux
  1. Comment installer le serveur DNS sur RHEL 8 / CentOS 8 Linux

  2. Comment réparer le délai d'expiration de la passerelle 504 dans le serveur Nginx

  3. Comment augmenter le délai d'expiration de la connexion SSH

  4. Procédure :Attaque par amplification du serveur de noms de domaine (DNS)

  5. Comment puis-je enregistrer le serveur Linux avec le serveur DNS Windows

Comment configurer le serveur DNS sur Debian 10 / Debian 9

Comment configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04

Comment installer le serveur DNS sur Ubuntu 20.04 LTS

Comment installer le rôle DNS sur Windows Server 2012

Comment configurer DNS dans Windows Server 2012

Comment installer et configurer le serveur DNS sous Linux