Quero definir um registro DNS que meu navegador utilizará, mas não tenho acesso root, portanto não posso modificar /etc/hosts
. Eu preciso fazer isso para testar vhosts com apache, cujo dns ainda não foi configurado. Eu tenho acesso ao firefox e chrome, então se houver um plugin que possa facilitar; ou outras opções são úteis.
update: a alternativa para substituir o DNS provavelmente está modificando os cabeçalhos HTTP; se os corretos forem enviados ao apache, o conteúdo correto deverá ser retornado.
dns
not-root-user
http
xenoterracida
fonte
fonte
Respostas:
Eu estava procurando uma maneira de executar um programa com resolução DNS modificada para fins de teste. Para mim, a solução estava usando a
HOSTALIASES
variável de ambiente:Veja
hostname(7)
.(Observação: no exemplo, a
HOSTALIASES
variável de ambiente afeta apenas owget
processo. Naturalmente, é possívelexport HOSTALIASES
que ela tenha efeito para todos os subprocessos do shell atual.)fonte
export
na maioria dos casos:export HOSTALIASES=~/.hosts
.Você pode escrever um wrapper em torno da função libc para resolver nomes de host e procurá-los em um arquivo diferente de / etc / hosts. Em seguida, execute qualquer aplicativo com o qual você gostaria de usar o arquivo hosts
fonte
/etc/nsswitch.conf
para~/.nsswitch.conf
e faça um~/.nsswitch.conf
que consulta seus bancos de dados DNS.Eu acho que a melhor maneira de fazer isso seria configurar um proxy SOCKS5 e dizer ao Firefox para enviar solicitações de DNS pelo proxy SOCKS5 (network.proxy.socks_remote_dns). Você pode configurar um proxy socks5 com o openssh com bastante facilidade (a opção -D) e ter um host remoto em execução com um / etc / hosts personalizado ou algo como DNSMasq para configurações DNS mais complexas. Porém, efetivamente, isso está enviando a configuração das configurações de DNS para um sistema no qual você pode fazer alterações em todo o sistema.
fonte
Confira a seguinte pergunta no superusuário:
https://superuser.com/questions/184643/override-dns-in-firefox
Se as opções discutidas e o link SO não forem soluções viáveis, verifique:
https://superuser.com/questions/100239/hostname-override-in-firefox
Especialmente confira:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
Parece que este complemento pode ajudar - mas eu depende da sua implementação real.
fonte
Para testar vhosts, você pode definir o servidor Apache como proxy no Firefox. O nome que você digitou será encaminhado para o Apache. Isso interromperá a navegação em outros sites, portanto, configure o proxy novamente quando terminar.
fonte
Eu precisava de algo semelhante para ssh, scp etc. para um servidor que muda constantemente de IP a cada duas semanas (e nossa TI tem um atraso de duas semanas na configuração do host). Eu o resolvi usando uma variável especial para este servidor:
export FOO='131.227.aaa.bbb
e então eu posso fazer exatamentessh bar@$FOO
e altero o IP~/.bashrc
sempre que ele muda ...fonte
Infelizmente, você não pode, exceto que escreve seu próprio navegador de internet.
Se você precisa fazer alguns testes, precisa de uma máquina de teste, qualquer que seja uma máquina virtual ou real, portanto, você deve perguntar ao administrador do Unix (ou provedor de hospedagem) como criar um ambiente de desenvolvimento.
Você também pode instalar uma VM no seu PC, instalar uma distribuição Linux, Apache e testar suas alterações (não é tão difícil quanto parece)
Atualizar
Para explicar melhor, cada aplicativo é gravado usando as bibliotecas padrão, dessa forma ninguém precisa reescrever a biblioteca de baixo nível e funções como o gethostbyname ().
Essas funções normalmente são definidas para usar o arquivo (/ etc / hosts) e o DNS; portanto, azar, se você precisar que o seu navegador resolva um nome diferente daquele definido no / etc / hosts, você não tem muitas alternativas .
fonte
open()
e qualquer outra chamada de baixo nível .. enquanto carregamento dinâmico de código é invovled (.so)