Medio ambiente
Mi configuración de LAN es bastante básica:
- Un enrutador conectado al módem del ISP e Internet
- Mi PC de desarrollo directamente conectada al enrutador
El enrutador proporciona DHCP pero no ejecuta su propio servidor DNS. De hecho, no hay ningún servidor DNS alojado en ninguna parte de mi LAN (configuración típica de la red doméstica). El enrutador está configurado para enviar los servidores DNS del ISP como parte de la información de arrendamiento de DHCP.
Configuré una máquina VirtualBox en mi PC de desarrollo e instalé Debian Squeeze (6.0.4) en ella. El modo de red VirtualBox es Bridged Adapter
simular un servidor independiente en mi LAN. Ser un servidor VirtualBox en lugar de un servidor físico no es realmente importante, pero lo menciono por completo.
El problema
Cada vez que una operación de red ejecuta una búsqueda inversa DNS de una IP de LAN antes de la ejecución, el servidor tiene largas demoras. Algunos ejemplos de operaciones lentas de red:
- Conexión SSH al servidor desde mi PC de desarrollo
- Conexión al puerto de administración del servidor Glassfish
netstat -l
(netstat -nl
es muy rápido)Starting MTA: exim4
en el arranque tarda mucho tiempo en completarse
Algunos de estos tienen soluciones alternativas como agregar Ip de mi pc de desarrollo /etc/hosts
o agregar una opción específica de comando para evitar realizar búsquedas inversas de DNS. Obviamente, el uso /etc/hosts
solo llega tan lejos porque está en desacuerdo con DHCP.
Sin embargo, no puedo evitar pensar que me falta algo. ¿ Realmente necesito configurar un servidor DNS en algún lugar de mi LAN? Parece un esfuerzo enorme e inútil para mis necesidades y no puedo creer que no haya otra opción en un entorno DHCP como el mío.
Busqué mucho en la red para esto y tal vez no tengo los términos de búsqueda correctos, pero no puedo encontrar la solución ...
actualización 1 después de la respuesta de BillThor
Usando host (dig da los mismos resultados):
# ip of stackoverflow.com
$ time host -v 64.34.119.12
Trying "12.119.34.64.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;12.119.34.64.in-addr.arpa. IN PTR
;; ANSWER SECTION:
12.119.34.64.in-addr.arpa. 143 IN PTR stackoverflow.com.
Received 74 bytes from 192.168.1.1#53 in 15 ms
real 0m0.020s
user 0m0.008s
sys 0m0.000s
# ip of dev pc
$ time host -v 192.168.1.50
Trying "50.1.168.192.in-addr.arpa"
;; connection timed out; no servers could be reached
real 0m10.004s
user 0m0.004s
sys 0m0.000s
Mi /etc/resolv.conf (se creó automáticamente durante la instalación)
nameserver 192.168.1.1
Tanto el host como la excavación regresan muy rápido para una IP pública, pero tardan 10 segundos en agotar el tiempo de espera para una IP LAN. Supongo que 10s es mi valor de tiempo de espera actual.
actualización 2
Con el dev-pc
archivo / etc / hosts:
$ time getent hosts 192.168.1.50
192.168.1.50 dev-pc
real 0m0.001s
user 0m0.000s
sys 0m0.000s
Sin el dev-pc
archivo / etc / hosts:
$ time getent hosts 192.168.1.50
real 0m10.012s
user 0m0.004s
sys 0m0.000s
¡Parece cada vez más que tendré que encontrar opciones o parámetros de programa por partes para cada uno que intente hacer búsquedas DNS inversas! Ninguna de las máquinas (virtuales o no) puede actuar como un servidor DNS en mi LAN ya que no siempre están activas. Desafortunadamente, el firmware del enrutador no incluye un servidor DNS.