J'essaie de créer un DNS local sur mon ordinateur afin de pouvoir y accéder localement avec une adresse DNS au lieu d'une adresse IP. La première chose que j'ai faite a été de configurer mon nom d'hôte sur les fichiers /etc/hosts
et /etc/init.d/hostname.sh
.
$ Sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 mynewhostname
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
$ Sudo vi /etc/hostname
mynewhostname
Ensuite, j'ai installé le démon avahi en tant que serveur DNS:
Sudo apt-get install avahi-daemon
Après avoir redémarré le système, je peux accéder au DNS local mynewhostname.local
uniquement à partir de localhost
(uniquement à partir de mon propre ordinateur), les autres ordinateurs du réseau local ne peuvent accéder à mon ordinateur qu’avec l’adresse IP et pas avec le DNS. Est-ce que quelqu'un sait pourquoi cela se produit? Ou quelle serait une approche différente pour créer un DNS local visible à partir de tout mon réseau local?
avahi utilise le domaine .local pour ses services spéciaux et je n’ai pas pu faire en sorte que d’autres ordinateurs l’utilisent sur le réseau, sauf lors de l’utilisation des applications mDNS.
Vous pouvez exécuter un serveur DNS approprié, tel que Dnsmasq, pour résoudre les noms DNS en adresses IP sur un petit réseau, en plus du fichier/etc/hosts.
Pour configurer Dnsmasq en tant que votre résolveur de domaine, choisissez un autre domaine au lieu de .local. Par exemple, dites .home ou .house ou autre chose que .local. Ce domaine ne fonctionne que sur le réseau.
installez dnsmasq sur le "serveur" central. Dans ce cas votre ordinateur:
Sudo apt install dnsmasq
Puis configurez dnsmasq:
Sudo nano /etc/dnsmasq.conf
créer un fichier statique:
Sudo rm /etc/resolv.conf
echo 'nameserver 127.0.0.1' | Sudo tee /etc/resolv.conf
arrêtez toute instance des services:
Sudo killall dnsmasq
Sudo service systemd-resolved stop
éditez la conf Dnsmasq:
Sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
Sudo nano /etc/dnsmasq.conf
et ajoutez ce qui suit
#Beginning of configuration
domain-needed
bogus-priv
no-resolv
interface=wlp2s0
#Use below nameservers to reach the internet
server=8.8.8.8
server=8.8.4.4
#use below line to point to the router address.
#dhcp-option=option:router,192.168.0.50
#use two lines below to resolve local domains (eg .home)
local=/home/
domain=home
puis redémarrez dnsmasq:
Sudo service dnsmasq restart
si vous avez un pare-feu, n'oubliez pas d'ouvrir les ports 53, 67/udp, 68/udp, dans le pare-fe
puis éditez le fichier hosts:
Sudo nano /etc/hosts
et coller dedans
. . .
127.0.0.1 localhost localhost.home
. . .
127.0.0.1 www.mysite1.home
127.0.0.1 mysite1.home
192.168.0.50 mysite1.home
192.168.0.50 mysite2.home
où 192.168.0.50 est l'adresse IP de l'ordinateur du serveur sur le réseau et mysite. home sont des services en cours d'écoute sur l'ordinateur du serveur *