Necesito probar el comportamiento de una aplicación cuando no puede resolver un nombre de host debido a un tiempo de espera. Ajuste nameserver 127.0.0.1
en /etc/resolv.conf
no funcionó: las funciones pertinentes respondieron de inmediato con una excepción. El equipo de prueba es una máquina virtual creada con Vagrant que recibe su dirección IP a través de DHCP.
linux
domain-name-system
linux-networking
sinapsis
fuente
fuente
nslookup example.com non_existent_dns_ip
salidas:;; connection timed out; trying next origin ;; connection timed out; no servers could be reached
Se produce un tiempo de espera de conexión cuando el servidor DNS no responde o no responde de manera oportuna.
El primero se puede simular simplemente bloqueando todo el tráfico a su servidor DNS, en un sistema Linux, por ejemplo, con:
Usar DROP como objetivo significa que ni siquiera obtendrá un error de conexión rechazada, se convierte en un agujero negro. (Es poco probable que normalmente realice transferencias de zona, por lo que no es necesario bloquear el protocolo TCP además de UDP).
Crear retrasos es un poco más complicado. Del
netem
manual :Lo que crea un retraso de 200 ms con una variación aleatoria de ± 10 ms.
fuente
Lo que necesita es un "servidor de agujero negro". Puede usar
blackhole.webpagetest.org
(72.66.115.13
), que descartará todas las solicitudes en silencio.Por qué sugiero esto sobre las otras respuestas, es porque el servidor antes mencionado se ha establecido para este único propósito.
Ejemplo:
fuente
Si no está ejecutando un servidor DNS en su sistema de prueba, debería poder usar su dirección IP.
Puede intentar usar una dirección rfc1918 no utilizada .
Puede usar el firewall de su servidor para bloquear los paquetes salientes con un puerto de destino 53.
fuente