Řešení 1:
Časový limit připojení nastane, když server DNS neodpovídá vůbec nebo neodpovídá včas.
První lze simulovat jednoduchým blokováním veškerého provozu na váš server DNS, například v systému Linux pomocí:
# iptables -I OUTPUT -p udp -d <iIP of DNS server> --dport 53 -j DROP
Použití DROP jako cíle znamená, že ani nedostanete chybu odmítnutí připojení, stane se z toho jen černá díra. (Je nepravděpodobné, že byste normálně prováděli zónové přenosy, takže blokování protokolu TCP kromě UDP není potřeba.)
Vytváření zpoždění je o něco složitější. Z netem
manuál:
# 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
Což vytváří zpoždění 200 ms s náhodnou odchylkou ± 10 ms.
Řešení 2:
To, co potřebujete, je „server černých děr“. Můžete použít blackhole.webpagetest.org
(72.66.115.13
), který tiše zruší všechny požadavky.
Proč to navrhuji před ostatními odpověďmi, je to, že výše uvedený server byl zřízen pouze pro tento účel.
Příklad:
[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
Řešení 3:
nameserver 127.0.0.1
nebude fungovat, protože výchozí chování je již takové. Místo toho zkuste použít neexistující DNS. Abyste se ujistili, můžete:
nslookup example.com 192.0.2.10
Pokud neobdržíte žádnou odpověď, můžete použít 192.0.2.10
jako váš server DNS.
Řešení 4:
Pokud na svém testovacím systému nepoužíváte server DNS, měli byste být schopni použít jeho IP adresu.
Můžete zkusit použít nepoužívanou adresu rfc1918.
Firewall vašeho serveru můžete použít k blokování odchozích paketů s cílovým portem 53.