Quiero establecer un registro dns que usará mi navegador, pero no tengo acceso de root, por lo que no puedo modificarlo /etc/hosts
. Necesito hacer esto para probar vhosts con apache, cuyo dns aún no se ha configurado. Tengo acceso a Firefox y Chrome, así que si hay un complemento que pueda facilitarlo; u otras opciones son útiles.
actualización: la alternativa a anular el dns probablemente es modificar los encabezados HTTP, si los correctos se envían a apache, se debe devolver el contenido correcto.
dns
not-root-user
http
xenoterracida
fuente
fuente
Respuestas:
Estaba buscando una manera de ejecutar un programa con resolución DNS modificada para fines de prueba. Para mí, la solución estaba usando la
HOSTALIASES
variable de entorno:Ver
hostname(7)
.(Nota al margen: en el ejemplo, la
HOSTALIASES
variable de entorno solo afecta elwget
proceso. Por supuesto, puedeexport HOSTALIASES
hacer que surta efecto para todos los subprocesos del shell actual).fuente
export
en la mayoría de los casos:export HOSTALIASES=~/.hosts
.Puede escribir un contenedor alrededor de la función libc para resolver nombres de host y buscarlos en un archivo diferente que / etc / hosts. Luego, ejecute cualquier aplicación con la que desee usar su archivo de hosts
fuente
/etc/nsswitch.conf
a~/.nsswitch.conf
, y hacer una~/.nsswitch.conf
que consulta a sus bases de datos de DNS.Creo que la mejor manera de hacer esto sería configurar un proxy SOCKS5 y decirle a Firefox que envíe las solicitudes DNS a través del proxy SOCKS5 (network.proxy.socks_remote_dns). Puede configurar un proxy socks5 con openssh con bastante facilidad (la opción -D) y ejecutar un host remoto con un / etc / hosts personalizado, o algo así como DNSMasq para configuraciones DNS más complejas. Sin embargo, efectivamente, esto está empujando la configuración de la configuración de DNS a un sistema en el que puede realizar cambios en todo el sistema.
fuente
Echa un vistazo a la siguiente pregunta en el superusuario:
https://superuser.com/questions/184643/override-dns-in-firefox
Si las opciones discutidas y el enlace SO no son soluciones viables, consulte:
https://superuser.com/questions/100239/hostname-override-in-firefox
Especialmente echa un vistazo:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
Parece que este complemento podría ayudar, pero depende de su implementación real.
fuente
Para probar vhosts, puede configurar el servidor Apache como proxy en Firefox. El nombre que ingresó será enviado a Apache. Esto interrumpirá la exploración de otros sitios, por lo tanto, vuelva a configurar el proxy cuando haya terminado.
fuente
Necesitaba algo similar para ssh, scp, etc. para un servidor que cambia de IP cada dos semanas (y nuestro departamento de TI tiene un par de semanas de retraso para configurar el host). Lo resolví usando una variable especial para este servidor:
export FOO='131.227.aaa.bbb
y luego puedo hacer solossh bar@$FOO
y cambiar la IP en~/.bashrc
cualquier momento que cambie ...fuente
Desafortunadamente no, no puedes, excepto que escribes tu propio navegador de internet.
Si tiene que hacer algunas pruebas, necesita una máquina de prueba, cualquiera que sea una máquina virtual o real, por lo que debe preguntarle a su administrador de Unix (o proveedor de alojamiento) cómo puede establecer un entorno de desarrollo.
También puede instalar una VM en su PC, instalar una distribución de Linux, Apache y probar sus cambios (no es tan difícil como parece)
Actualizar
Para explicar mejor, cada aplicación se escribe utilizando las bibliotecas estándar, de esta manera nadie tiene que reescribir la biblioteca de bajo nivel y funciona como gethostbyname ().
Estas funciones normalmente están configuradas para usar archivos (/ etc / hosts) y DNS, por lo que, desafortunadamente, si necesita que su navegador resuelva un nombre que el que está configurado en / etc / hosts, no tiene demasiadas alternativas .
fuente
open()
y cualquier otra llamada de bajo nivel ... siempre que se invoque la carga dinámica de código (.so)