GNU/Linux >> Linux Esercitazione >  >> Linux

Come simulare il timeout di risposta del server DNS?

Soluzione 1:

Un timeout di connessione si verifica quando il server DNS non risponde affatto o non risponde in modo tempestivo.

Il primo può essere simulato semplicemente bloccando tutto il traffico verso il tuo server DNS, ad esempio su un sistema Linux con:

# iptables -I OUTPUT -p udp -d <iIP of DNS server> --dport 53 -j DROP

Usare DROP come target significa che non riceverai nemmeno un errore di connessione rifiutata, diventa solo un buco nero. (È improbabile che normalmente eseguirai trasferimenti di zona, quindi non è necessario bloccare il protocollo TCP oltre a UDP.)

La creazione di ritardi è leggermente più complicata. Dal netem manuale:

# 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

Il che crea un ritardo di 200 ms con una variazione casuale di ± 10 ms.

Soluzione 2:

Ciò di cui hai bisogno è un "server buco nero". Puoi usare blackhole.webpagetest.org (72.66.115.13 ) che eliminerà silenziosamente tutte le richieste.

Il motivo per cui lo suggerisco rispetto alle altre risposte è perché il suddetto server è stato creato per questo unico scopo.

Esempio:

[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

Soluzione 3:

nameserver 127.0.0.1 non funzionerà poiché il comportamento predefinito è già quello. Invece, prova a utilizzare un DNS non esistente. Per essere sicuro, puoi fare:

nslookup example.com 192.0.2.10

Se non ricevi risposta, puoi utilizzare 192.0.2.10 come server DNS.

Soluzione 4:

Se non stai eseguendo un server DNS sul tuo sistema di test, dovresti essere in grado di utilizzare il suo indirizzo IP.

Potresti provare a utilizzare un indirizzo rfc1918 inutilizzato.

Puoi utilizzare il firewall del tuo server per bloccare i pacchetti in uscita con una porta di destinazione 53.


Linux
  1. Come controllare i file di configurazione di bind9 (server DNS).

  2. Come aumentare il timeout della connessione SSH

  3. Come disabilitare la ricorsione DNS sul tuo server dedicato

  4. Procedura:attacco di amplificazione del server dei nomi di dominio (DNS).

  5. Come simulare un cavo di rete scollegato o un server inattivo?

Come configurare il server DNS su Debian 10 / Debian 9

Come configurare il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Come installare il server DNS su Ubuntu 20.04 LTS

Come installare il ruolo DNS su Windows Server 2012

Come configurare il DNS in Windows Server 2012

Come installare e configurare il server DNS in Linux