Intercambio de Internet repartiendo la dirección incorrecta del server DNS

Estoy usando un MacBook Pro con OS X Mavericks 10.9.2. Se conecta a Internet a través de un dongle USB 3G, y quiero compartir esa connection a Internet a través de wifi. Sin embargo, en los dispositivos que se conectan al punto de acceso wifi creado, la búsqueda de DNS no funcionará (aunque puedo hacer ping a 8.8.8.8 bien). Si configuro estáticamente los dispositivos para usar 8.8.8.8, todo funciona, pero no todos los dispositivos admiten eso (o sólo si también está dispuesto a configurar una IP estática y una puerta de enlace).

El problema parece ser que OS X configura bootp (el server DHCP) para distribuir una dirección de server DNS del propio MacBook:

$ cat /etc/bootp.list ... <key>dhcp_domain_name_server</key> <array> <string>192.168.2.1</string> </array> ... 

Ésta es la dirección IP de la propia máquina:

 $ ifconfig ... bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> ether 02:26:bb:66:19:64 inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255 ... ... $ ifconfig ... bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> ether 02:26:bb:66:19:64 inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255 ... 

Y es lo que los clientes están recibiendo en la respuesta DHCP:

 $ sudo tcpdump -vv 15:26:07.265635 IP (tos 0x0, ttl 255, id 9846, offset 0, flags [none], proto UDP (17), length 328) 192.168.2.1.bootps > 192.168.2.2.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x4e0988af, Flags [none] (0x0000) Your-IP 192.168.2.2 Server-IP 192.168.2.1 Client-Ethernet-Address 10:bf:48:cc:49:7d (oui Unknown) sname "ip-77-24-232-37.web.vodafone.de" Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 192.168.2.1 Lease-Time Option 51, length 4: 85536 Subnet-Mask Option 1, length 4: 255.255.255.0 Default-Gateway Option 3, length 4: 192.168.2.1 Domain-Name-Server Option 6, length 4: 192.168.2.1 

Ahora, eso estaría bien si realmente funcionaba como se escribe aquí , es decir, OS X ejecuta un server bind ( named ) en sí, que sólo reenvía las requestes de DNS y las respuestas a los serveres del ISP.

Sin embargo … usando tcpdump puedo ver que el cliente está recibiendo una respuesta de error de sus búsquedas de DNS:

 $ sudo tcpdump 15:23:33.181447 IP 192.168.2.2.57291 > 192.168.2.1.domain: 32713+ A? google.com. (28) 15:23:33.181528 IP 192.168.2.1 > 192.168.2.2: ICMP 192.168.2.1 udp port domain unreachable, length 36 

De hecho, ningún server con named está ejecutando y ni siquiera parece estar instalado:

 $ ps aux | grep named thomas 2175 0.0 0.0 2423368 188 s000 R+ 3:14pm 0:00.00 grep named $ which named $ 

Nada más está escuchando en el puerto UDP 53 tampoco, aunque hay algo llamado mDNSResponder en 5353:

 $ sudo lsof -i -P | grep 53 mDNSRespo 47 _mdnsresponder 8u IPv4 0x4dcb7c0f075daa1d 0t0 UDP *:5353 mDNSRespo 47 _mdnsresponder 9u IPv6 0x4dcb7c0f075da835 0t0 UDP *:5353 natpmpd 1664 root 4u IPv4 0x4dcb7c0f064b6f15 0t0 UDP 192.168.2.1:5351 

Ahora puedo pensar en dos maneras de arreglar esto, ni muy práctico:

  1. Ejecutar un server DNS en el puerto UDP 53. Desafortunadamente, ninguno está instalado.
  2. Dígale a DHCP que entregue una dirección de server DNS que realmente funciona, como 8.8.8.8. Desafortunadamente, la aplicación InternetSharing sobrescribe /etc/bootp.plist cada vez que se activa el uso compartido de Internet, por lo que incluso si he añadido una dirección IP allí e incluso si funcionaría, no funcionaría para siempre.

Pero algo me dice que esto debería (y normalmente funciona) funcionar correctamente fuera de la caja … ¿qué me falta?

  • No related posts
  • 3 responses to “Intercambio de Internet repartiendo la dirección incorrecta del server DNS”

      Modo colonel said:

      El artículo que usted hizo reference fue realmente correcto para cuando se publicó y que es cómo funciona antes de Mavericks. Debajo de Mountain Lion 'named' get se inicia cuando Internet Sharing está activo con /etc/com.apple.named.proxy.conf como el file de configuration. Esto es todo observable bajo el León de Montaña – lo verifiqué.

      Sin embargo, la resolución de nombres de dominio no sólo se basa en DNS bajo OS X como en otros sistemas operativos, sino que se basa en Servicios de Directorio, que permite realizar búsquedas DNS desde files planos, NIS, NetInfo, LDAP, ZeroConfig / Bonjour. .. y DNS – y es mDNSResponder que se utiliza para la resolución de estos turnos de nombre. (Según su página de manual mDNSResponder is also the system-wide Unicast DNS Resolver . Es lo que es (o debería) hacer la resolución de DNS para sus clientes compartidos de Internet bajo Mavericks. (Era extraño que dispararon named bajo Mt Lion en lugar de utilizando mDNSResponder en ese entonces.)

      Cuando se activa Internet Sharing, ya sea nombrado (pre-Mavericks) o mDNSResponder (Mavericks) es el "server DNS" que debe realizar la resolución de nombres para Internet Sharing, y que hace correctamente 192.168.2.1 el server DNS para los clientes NAPT'ed de Internet Compartiendo. Así que la respuesta directa y sencilla a sus preguntas es que no se está repartiendo la "dirección incorrecta del server DNS".

      Esta demostrable funcionó para mí la configuration de Internet compartido para compartir mi connection WiFi a través de Ethernet. Se observó que los clientes atendidos por Internet Sharing enviaron requestes DNS a 192.168.2.1 para recibir consultas correctamente desde un browser y al emitir dig @192.168.2.1 apple.com ; Observé esto en acción con tcpdump para verificar. Todo "funciona" como era de esperar.

      Tengo en count que en esta configuration de la Mac de alojamiento también soy capaz de telnet 192.168.2.1 53 y conectar a mDNSResponder. También observo que tengo la order de service para las networkinges configuradas fijadas con WiFi que tiene precedencia sobre Ethernet.

      Sin embargo, cuando se ejecuta esto en sentido inverso, compartiendo la connection Ethernet a través de WiFi inicialmente experimentado el mismo problema que estaban viendo. Es decir, vi la request de DNS de UDP enviada pero ninguna respuesta de nuevo, tal como lo observaste. Ping pasó a través de 8.8.8.8 y la resolución contra 8.8.8.8 utilizando excavar funcionó bien también. Yo estaba todo preparado para escribir esto como un error, pero más tarde tuve la oportunidad de reiniciar mi MacBook Pro y probé esto de nuevo, también asegurando que esta vez tenía Ethernet con prioridad sobre WiFi en el panel de preferences de networking Orden de service. Esta vez "funcionó" y no pude volver a crear el tema. Problema resuelto por reinicio y comprobación del pedido de service.

      Además he verificado que podría:

      • Emita un dig @192.168.2.1 apple.com desde un cliente (asignado 192.168.2.3) de Internet Sharing y reciba una respuesta satisfactoria. También observé la consulta UDP y la respuesta usando tcpdump:

      01:01:05.620240 IP 192.168.2.3.58817 > 192.168.2.1.domain: 34923+ A? apple.com. (27) 01:01:05.620240 IP 192.168.2.3.58817 > 192.168.2.1.domain: 34923+ A? apple.com. (27) 01:01:06.051566 IP 192.168.2.1.domain > 192.168.2.3.58817: 34923 3/0/0 A 17.149.160.49, A 17.172.224.47, A 17.178.96.59 (75)

      • Desde el alojamiento Mac fue capaz de telnet 192.168.2.1 53 y recibir una connection.

      Compartir Internet siempre ha sido un poco frágil. A menudo he visto un comportamiento extraño y he encontrado que es mejor reiniciar antes de intentar ejecutar Internet compartido o al less "Hacer [el service] inactivo" en Preferences de networking para las interfaces en cuestión y, a continuación, volver a activarlos. (Asegúrese también de "Aplicar" cuando realice tales cambios ".) Además, la Orden de service (que controla los gateways pnetworkingeterminados) también puede tener un impacto (como se esperaría). También puede asegurarse de que está utilizando el Apple suministró la location "Automático" (o un facsímil razonable) Recuerde que al depurar también que cada interfaz de networking puede tener su propia puerta de enlace y el server DNS preferido para usar ya que después de alnetworkingedor de Leopard o así.

      Por lo tanto, sugiero tres cosas: (1) un reinicio y confirmar su prioridad de order de service de networking y / o (2) una installation limpia de Mavericks para ver si esto resuelve sus problemas, así como (3) verificar que puede get Internet Compartir el trabajo donde se comparte Ethernet a través de WiFi y viceversa. Si usted no puede hacer (3) el trabajo entonces usted necesita mirar algo configurado incorrectamente mal en su Mac y de nuevo que sugiere una installation limpia.

      Si usted puede conseguirlo que trabaja para Ethernet -> WiFi y WiFi -> Ethernet, esto sugiere algo con el Dongle del USB – y quizás ajustar la order de service así que es una precedencia más alta puede ser requerida.

      Asegúrese también de que no tiene reglas de cortafuegos o está ejecutando Little Snitch o cualquier cosa que pueda interferir.

      El uso compartido de Internet también tiene algunas opciones de debugging si emite

       $ /usr/libexec/InternetSharing --help 

      Éstos, y su file de logging, junto con el file de logging para mDNSResponder, también podrían ser útiles si todavía tiene problemas.

      Pero como la respuesta a la pregunta: No está entregando la dirección incorrecta del server DNS en DHCP, ya que 192.168.2.1 es el server DNS "correcto" para compartir Internet que se va a distribuir basándose en cómo está diseñado para funcionar. Y mDNSResponder es lo que debería manejar DNS en el host que ejecuta Internet Sharing bajo Mavericks. No `named es necesario.

      daniel azuelos said:

      El problema parece estar en el lugar que ha networkingucido su búsqueda; aunque no es un caso de los clientes recibiendo la dirección incorrecta del server DNS, pero más relacionados con los clientes que no pueden utilizar 192.168.2.1 como su server DNS. No está claro cómo se han configurado los serveres DNS en el sistema compartiendo Internet, pero es probable que el problema esté dentro de ese ámbito. Así que con eso, la dirección IP de bootpd.plist en bootpd.plist es correcta (al less normalmente).

      Yo recomendaría hacer algunos cheques simples:

      Abra Preferences del sistema> Compartir y , a continuación, compruebe lo siguiente:

      1. Comparte tu connection desde: Wi-Fi
      2. A los orderadores que utilizan: Wi-Fi, Ethernet

      Si comtesting Ethernet, puede get un dialog:

      Si activa este puerto, su proveedor de services de Internet podría finalizar su service para evitar que interrumpa su networking.

      En algunos casos (si utiliza un módem por cable, por ejemplo) puede afectar involuntariamente a la configuration de networking de su ISP e infringir los términos de su contrato de service.

      No estoy exactamente seguro de lo que eso significa (aunque me siento violado por mi ISP).

      Preferences del sistema> Configuración de networking> Ethernet / Wi-Fi :

      1. Configurar IPv4 – Usar DHCP
      2. Luego en Advanced...
      3. Configurar IPv6 – Automáticamente

      Ficha DNS> Servidores DNS :

       (Normally this would be set to your Router IP from the previous TCP/IP Tab: Router: ... (3G USB Dongle IP Address) 

      /etc/bootpd.list

      1. Detenga el uso compartido de Internet.
      2. Abrir /tmp/bootpd.plist
      3. Busque esta key:

      <key>reply_threshold_seconds</key> <integer>4</integer>

      1. Cambiar el valor 4 a 0
      2. Comience a compartir Internet.

      * Como sabes cuando se detiene Internet Sharing, elimina la configuration. Una posible solución sería crear un trabajo cron o launchagent que siempre mantendría su configuration. También hay bastantes opciones para bootpd que se pueden ejecutar a través de Terminal que tal vez no sea consciente.

      Otras notas :

      • Compruebe que el dispositivo / equipo (s) en 192.168.2.2, etc. no están bloqueando 192.168.2.1
      • Es posible que el firewall interno de OS X esté habilitado, OS X reenvía y recibe peticiones de Internet a dispositivos / computadoras que usan Internet Sharing, pero puede que no envíe las respuestas a ellos (DNS).
      • Configure los dispositivos / orderadores para utilizar una IP estática y un server DNS distinto de 192.168.2.1 (pero puede que no sea la solución óptima que ha dicho). Además, en determinadas circunstancias, el establecimiento de IP estáticas puede no funcionar (generalmente se recomienda DHCP para compartir Internet y pnetworkingeterminado).
      • Algunos Dongles / Routers USB 3G tienen un ajuste de AP Isolation , que debe estar deshabilitado para compartir Internet.

      Sé que usted no es un n00b y probablemente ya ha comprobado muchas de estas cosas, sin embargo, podría ser sólo una cosa menor que puede haber perdido en el path tal vez. Además, si ninguna de estas cosas simples parece hacer una abolladura en la solución del problema hay commands más específicos que podría proporcionar en espera del resultado.

      daniel azuelos said:

      Esta línea dentro de tu tcpdump es la respuesta:

       15:23:33.181528 IP 192.168.2.1 > 192.168.2.2: ICMP 192.168.2.1 udp port domain unreachable, length 36 

      Esto significa que su Firewall u otro software que desempeña el mismo rol o su configuration manual de /etc/pf.conf bloqueó su request de DNS para llegar a su MBP.

      Desactive cualquier function de filtrado uno a la vez para encontrar cuál está bloqueando. Una vez encontrado, configurarlo correctamente.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).