Rediriger automatiquement un TLD sur sa machine sans toucher au fichier hosts

Quand on développe en local avec un vhost apache ou docker, nous devons à chaque fois modifier le fichier hosts pour faire pointer le domaine sur sa machine.

Par exemple si je travaille en local avec le tld .test, monsite.com deviendra en local monsite.test. et je devrais ajouter à mon fichier hosts les lignes suivantes :

127.0.0.1 monsite.test
127.0.0.1 www.monsite.test

Sous linux, il est possible de rediriger tout un TLD (top level domain) vers sa machine. Ainsi, toutes les url en .test pointeront sur la machine.

Pour cela il faut installer le logiciel dnsmasq.

Sous debian, ubuntu, mint :

sudo apt-get install dnsmasq
 

Modification du fichier /etc/NetworkManager/NetworkManager.conf

sudo vim /etc/NetworkManager/NetworkManager.conf
 

Pour ajouter dns=dnsmasq à la section [main] :

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

Création du fichier de configuration qui signalera à dnsmasq de rediriger tout les domaines en .test vers 127.0.0.1 (notre machine) :

echo 'address=/test/127.0.0.1' | sudo tee /etc/NetworkManager/dnsmasq.d/dot.test-wildcard.conf
 

Plus qu'à relancer les services dnsmasq et NetworkManager :

sudo service dnsmasq restart
sudo systemctl reload NetworkManager

un petit ping pour tester :

ping kevin.test
 

devrait vous retourner :

PING kevin.test (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.017 ms

 

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...