Todos los nombres y direcciones cambiaron. ejemplo.com es un dominio de mi propiedad.
% ping foo.example.com
PING foo.example.com (1.1.1.1)
1.1.1.1 es una dirección IP de la que nunca había oído hablar. Lo mismo para otros programas (ssh, curl)
% host foo.example.com
foo.example.com has address 2.2.2.2
2.2.2.2 es la dirección IP correcta.
% grep foo /etc/hosts
(empty)
Esto está en Mac. En Linux, buscaría /etc/nsswitch.conf para otras fuentes de información del host. ¿Hay algo similar en Mac?
Respuesta1
macOS tiene un sofisticado sistema de enrutamiento DNS con alcance para cosas como VPN. Entonces, si, por ejemplo, tiene una conexión VPN para "trabajar" en este momento, las consultas sobre los nombres de dominio de su trabajo pueden dirigirse a un servidor DNS en el trabajo.
Para ver la lista completa, ejecute:
scutil --dns
Para consultar DNS como lo hace el sistema, use:
dns-sd -G v4v6 example.com
dns-sd -q example.com 255 255
(tienes que presionar Ctrl-C para salir dns-sd
).
Los comandos host
, dig
y nslookup
son comandos antiguos de Unix para la resolución de problemas del servidor DNS que contienen su propio código de resolución de DNS y no utilizan las bibliotecas del sistema. Entonces, si no especifica qué servidor desea que usen, solo obtienen los del autogenerado /etc/resolv.conf
, que solo se completa con los servidores predeterminados para consultas sin alcance. Pero una herramienta como ping
probablemente solo llame gethostbyname(3)
y utilice el enrutamiento DNS específico del sistema.
Editado para agregar: También debo mencionar que macOS puede obtener información de resolución de nombre de host a dirección IP de una variedad de otros medios, que incluyen:
- mDNS (Apple Bonjour/IETF ZeroConf)
- Open Directory (un esquema de Apple en LDAP)
- Otros LDAP
- Directorio Activo
- GANA
- Servicio de nombres NetBIOS
- NIS (anteriormente YellowPages/yp; el servicio de información de red Sun/Oracle)
Puede editar estas configuraciones con la dscl
herramienta de línea de comandos o con la aplicación Directory Utility, que se oculta en:
/System/Library/CoreServices/[Applications]/Directory\ Utility.app