Je veux définir un enregistrement DNS que mon navigateur utilisera, mais je n'ai pas d'accès root, je ne peux donc pas le modifier /etc/hosts
. Je dois le faire pour tester vhosts avec Apache, dont le DNS n'a pas encore été configuré. J'ai accès à Firefox et Chrome, donc s'il y a un plugin qui pourrait le faciliter, ou d'autres options sont utiles.
update: l'alternative à la substitution du DNS est probablement de modifier les en-têtes HTTP. Si les corrects sont envoyés à Apache, le contenu correct doit être renvoyé.
dns
not-root-user
http
xénoterracide
la source
la source
Réponses:
Je cherchais un moyen d'exécuter un programme avec une résolution DNS modifiée à des fins de test. Pour moi, la solution utilisait la
HOSTALIASES
variable d'environnement:Voir
hostname(7)
.(Remarque: dans l'exemple, la
HOSTALIASES
variable d'environnement n'affecte que lewget
processus. Vous pouvez bien sûr l'export HOSTALIASES
appliquer à tous les sous-processus du shell actuel.)la source
export
dans la plupart des cas:export HOSTALIASES=~/.hosts
.Vous pouvez écrire un wrapper autour de la fonction libc pour résoudre les noms d’hôte et les rechercher dans un fichier différent de celui de / etc / hosts. Puis lancez toutes les applications avec lesquelles vous souhaitez utiliser votre fichier hosts
la source
/etc/nsswitch.conf
to~/.nsswitch.conf
et crée une~/.nsswitch.conf
requête qui interroge vos bases de données DNS.Je pense que le meilleur moyen de le faire serait de configurer un proxy SOCKS5 et d'indiquer à Firefox d'envoyer les requêtes DNS via le proxy SOCKS5 (network.proxy.socks_remote_dns). Vous pouvez configurer assez facilement un proxy socks5 avec openssh (option -D) et faire en sorte qu'un hôte distant s'exécute avec un fichier / etc / hosts personnalisé, ou quelque chose comme DNSMasq pour des paramètres DNS plus complexes. En réalité, cependant, cela pousse la configuration des paramètres DNS vers un système sur lequel vous pouvez apporter des modifications globales.
la source
Consultez la question suivante chez le superutilisateur:
https://superuser.com/questions/184643/override-dns-in-firefox
Si les options discutées et le lien SO ne sont pas des solutions viables, vérifiez:
https://superuser.com/questions/100239/hostname-override-in-firefox
Surtout vérifier:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
Il semble que cet addon pourrait aider - mais je dépend de sa mise en œuvre réelle.
la source
Pour tester vhosts, vous pouvez définir le serveur Apache en tant que proxy dans Firefox. Le nom que vous avez entré sera transmis à Apache. Cela interrompra la navigation sur d’autres sites. Réglez donc le proxy lorsque vous avez terminé.
la source
J'avais besoin de quelque chose de similaire pour ssh, scp etc. pour un serveur qui ne cesse de changer d'adresse IP toutes les deux semaines (et notre service informatique a quelques semaines de retard pour configurer l'hôte). Je l'ai résolu en utilisant une variable spéciale pour ce serveur:
export FOO='131.227.aaa.bbb
et alors je peux le faire simplementssh bar@$FOO
et je change l'adresse IP à~/.bashrc
chaque changement ...la source
Pas malchanceux, vous ne pouvez pas, sauf que vous écrivez votre propre navigateur Internet.
Si vous devez effectuer des tests, vous avez besoin d'une machine de test, qu'il s'agisse d'une machine virtuelle ou réelle, vous devez donc demander à votre administrateur Unix (ou fournisseur d'hébergement) comment vous pouvez mettre en place un environnement de développement.
Vous pouvez également installer une machine virtuelle sur votre PC, une distribution Linux, Apache et tester vos modifications (ce n'est pas aussi difficile que ça en a l'air)
Mise à jour
Pour mieux expliquer, chaque application est écrite à l'aide des bibliothèques standard. Ainsi, personne ne doit réécrire la bibliothèque de bas niveau et des fonctions telles que gethostbyname ().
Ces fonctions sont normalement configurées pour utiliser le fichier (/ etc / hosts) et le DNS. Si vous avez besoin que votre navigateur résolve un nom différent de celui défini dans le fichier / etc / hosts, vous ne disposez pas de beaucoup d'alternatives. .
la source
open()
et de tout autre appel de bas niveau .. tant que le chargement dynamique du code est activé (.so)