Tengo un sitio web ejecutándose en mi computadora y quiero probarlo desde mi tableta Nexus 7. Es decir, a través de la LAN WiFi local. Si escribo la dirección IP, se conecta, pero muestra el sitio web incorrecto, porque estoy usando un alojamiento virtual con nombre.
Entonces, lo que quiero hacer es poder escribir mysite.localen Chrome / Firefox en el Nexus, hacer que lo conviertan a 10.1.2.3(o la dirección IP local que sea), luego llamar al 10.1.2.3servidor mysite.localpara que lo solicite como Host.
Mi pregunta: ¿Tiene una tableta Android 4.x un /etc/hostsarchivo, o equivalente, que pueda editar? (Sin tener que rootear la tableta, ni nada de eso).
En mis computadoras Linux hago esto agregando una entrada en /etc/hosts:
10.1.2.3 mysite.local
(O Windows\System32\drivers\etc\hostsen una máquina con Windows hace lo mismo).
Por cierto, este es un semi-duplicado de Establecer manualmente un nombre de host para la dirección IP (es decir, / etc / hosts equiv.?) , Pero esa pregunta era para Android 2.2, donde aparentemente no era posible. (Una de las ideas alternativas sugirió que había configurar DNS en el enrutador local, pero por lo que puedo decir, mi enrutador no hace DNS localmente, por lo que no tiene esa opción. Podría configurar mi propio servidor DNS para hacer esto, pero eso se siente como una gran solución de trabajo).
fuente

/etc/hosts, sino configurar tu "servidor de nombres" (por ejemplo, DNSMasq, o lo que sea que uses). Su enrutador podría darle un lugar para eso./etc/hostsde lo contrario, debe editarse en cada máquina, y el archivo correspondiente en Android solo puede editarse con "poderes de raíz" (no sé su ubicación exacta fuera de mi cabeza, pero está en algún lugar dentro de/data/systemAFAIR). Ver: Cómo editar archivos etc / hostsRespuestas:
No puede simplemente editar el archivo hosts en Android, ya que reside en un sistema de archivos de solo lectura:
/system/etc/hostsconsulte:Las alternativas son:
fuente
Como mencionó lzzy, puede usar el servidor DNSMasq para lograr esto. Pero Chrome usa su propio proceso de resolución de DNS y este método puede no funcionar.
Para iniciar el servidor, use el siguiente comando:
sudorequerido para enlazar en el puerto 53-diniciar servidor en primer plano--no-hostsno use el archivo de hosts locales--conf-file=/dev/nullno use ningún archivo de configuración--server=8.8.8.8 --server=8.8.4.4direcciones de servidores ascendentes (DNS de Google en este ejemplo)--address=/example.com/192.168.0.101hosts para anular. Necesita agregar sus hosts en esta línea. También puede agregar varios hosts allí.Luego cambie el servidor DNS en el dispositivo. Esto se puede hacer fácilmente usando la aplicación DNS Changer .
Después de estos pasos, las solicitudes a estos hosts deben enviarse a sus direcciones.
fuente
La forma más sencilla de definir un mapeo de host a IP es el
hostsarchivo, ya que la mayoría de los que resuelven DNS respetan ese archivo . Pero como se menciona en otras respuestas, no es posible editar/etc/hostssin rootear el dispositivo Android. El acceso al servidor web con dirección IP tampoco funcionará para usted debido al alojamiento virtual. Aquí hay algunas opciones que puede utilizar en un dispositivo no rooteado:hostsarchivo personalizado antes de realizar consultas al servidor DNS ascendente configurado.dnsmasq, agregueaddress=/mysite.local/10.1.2.3a "dnsmasq.conf" . O endnscrypt-proxyagregarmysite.local 10.1.2.3a "cloaking-rules.txt" .10.1.2.3 mysite.localalhostsarchivo en el servidor proxy o ejecute un servidor DNS local en el servidor VPN.hostsarchivo desde la recuperación personalizada.Para obtener más detalles, consulte: ¿Cómo resolver siempre un nombre de dominio a una IP fija sin enraizamiento?
RELACIONADO:
fuente