5 votos

Mountain Lion firewall es al azar retrasar las solicitudes de DNS

Recientemente he experimentado algunos retrasos en la resolución host de DNS en OS X 10.8. Para probar que comencé un simple script que intenta repetidamente resolver el mismo nombre de host 20 veces:

#!/bin/sh
for i in `seq 20`; do
    time -p dig www.google.com @8.8.8.8 | grep "^;; Query time:"
done

La mayoría de la solicitud al mismo tiempo como el tiempo de latencia para el nombre de servidor:

;; Query time: 49 msec
real 0.05

Sin embargo, tan pronto como puedo activar el firewall en el Lion de Montaña (todas las solicitudes entrantes permitidas, de modo stealth es no habilitado), algunas de las dig las solicitudes de tomar exactamente 5 segundos más el tiempo de latencia para el nombre de servidor:

;; Query time: 25 msec
real 5.03

La mayoría de las solicitudes están siendo rápido, pero a la vuelta de cada 10 al 15 de solicitudes tiene un retraso de exactamente 5 segundos, incluso a través de la dig de informes todavía un corto momento de la consulta. No hace ninguna diferencia si uso dig o host para las pruebas, o si puedo usar un servidor DNS local o uno público como en el ejemplo anterior. Cuando el firewall está desactivado el retraso que nunca sucede.

¿El firewall de OS X aplicar algún tipo de limitación de velocidad para las solicitudes, o es que hay otra cosa que me falta?

1voto

Rich Puntos 2429

Estás en lo correcto. Yo diagnosticar la misma limitación de velocidad en el firewall de nivel en mac Os X 10.7.4 (Lion).

Por otra parte, si usted mira en

/usr/bin/sudo tcpdump -i en0 udp port 53

Te darás cuenta de que el tiempo de ida y vuelta para obtener una respuesta de 8.8.8.8 es mucho menor que el 40 mseg mostrada por el servidor.

En un tiempo de ejecución de la prueba tuve:

;; Query time: 44 msec

y un promedio de tiempo de ida y vuelta, de 26 de ms:

09:36:14.360564 IP me.53866 > google-public-dns-a.google.com.domain: 9943+ A? www.google.com. (32)
09:36:14.386302 IP google-public-dns-a.google.com.domain > me.53866: 9943 5/0/0 A 173.194.41.180, A 173.194.41.178, A 173.194.41.176, A 173.194.41.177, A 173.194.41.179 (112)

(386302 - 360564 = 26 mseg)

Para entender este mecanismo de protección contra los DOS), buscar en:

/usr/bin/sudo pfctl -i en0 -s timeouts

La documentación completa de este comando complejo es pfctl(8) Mountain Lion manual de referencia

Ten en cuenta que esto es un poderoso, pero muy peligroso comando. Usted puede fácilmente romper su acceso a la red (¿Dónde está mi copia de seguridad?).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X