web-dev-qa-db-fra.com

Comment créer un DNS local visible à partir d'autres ordinateurs de mon réseau local?

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?

1
Rafael Muynarsk

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 *

1
ptetteh227