Certains hôtes ne peuvent pas être contactés à l'aide de leur nom de domaine complet


0

J'ai un réseau local avec plusieurs hôtes connectés. J'ai récemment installé un hôte en cours d'exécution dnsmasq offrant des services DHCP et DNS aux hôtes du réseau local. J'ai remarqué depuis un comportement étrange sur le réseau que je ne comprends pas et qui peut provenir ou non de l'introduction du dnsmasq hôte. Je suis à perte. Je ne sais pas où regarder. (J'ai même du mal à trouver un bon titre pour ma question). Merci de me guider pour résoudre le problème décrit ci-dessous. Si des informations supplémentaires sont requises, merci de me le faire savoir et j'essaierai de l'ajouter.

L'hôte en cours d'exécution dnsmasq (machine virtuelle LXC / LXD):

$ uname -a
Linux dhcpns 3.19.0-26-generic #28-Ubuntu SMP Tue Aug 11 14:16:32 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Pour votre information de base, voici la /etc/dnsmasq.conf:

$ cat /etc/dnsmasq.conf |grep -ve '^$' |grep -v '#'
domain-needed
bogus-priv
no-resolv
no-poll
server=208.67.220.220
server=8.8.8.8
server=208.67.222.222
server=8.8.4.4
local=/local/
address=/mackeeper.com/0.0.0.0
expand-hosts
domain=local
dhcp-range=10.0.1.100,10.0.1.254,255.255.255.0,72h
dhcp-host=B0:C2:87:79:B0:41,router,   10.0.1.1
# multiple dhcp-host lines for static hosts removed
dhcp-option=option:router,10.0.1.1
dhcp-option=42,10.0.1.220
dhcp-option=15,local
dhcp-option=119,local
dhcp-option=252,"\n"
dhcp-authoritative
log-queries
log-dhcp
conf-dir=/etc/dnsmasq.d,.bak
dhcp-sequential-ip

Voici le problème

Sur certains hôtes (par exemple, mon MacBook Air; OSX 10.10.5)

$ uname -a
Darwin argon.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64

Je peux envoyer une requête ping à tous les hôtes du réseau par leur adresse IP, leur nom d'hôte ou leur nom de domaine complet.

Par exemple, envoyez une requête ping au serveur MySQL:

$ ping -c 1 10.0.1.163
PING 10.0.1.163 (10.0.1.163): 56 data bytes
64 bytes from 10.0.1.163: icmp_seq=0 ttl=64 time=2.245 ms

--- 10.0.1.163 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.245/2.245/2.245/0.000 ms
$ ping -c 1 sql
PING sql.local (10.0.1.163): 56 data bytes
64 bytes from 10.0.1.163: icmp_seq=0 ttl=64 time=2.147 ms

--- sql.local ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.147/2.147/2.147/0.000 ms
$ ping -c 1 sql.local
PING sql.local (10.0.1.163): 56 data bytes
64 bytes from 10.0.1.163: icmp_seq=0 ttl=64 time=2.246 ms

--- sql.local ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.246/2.246/2.246/0.000 ms

Cependant, sur certains hôtes, cela ne fonctionne pas. Par exemple.:

$ uname -a
Linux rbian 3.18.0-trunk-rpi #1 PREEMPT Debian 3.18.5-1~exp1+rpi19 (2015-08-08) armv6l GNU/Linux

$ ping -c 1 10.0.1.163
PING 10.0.1.163 (10.0.1.163) 56(84) bytes of data.
64 bytes from 10.0.1.163: icmp_req=1 ttl=64 time=0.457 ms

--- 10.0.1.163 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.457/0.457/0.457/0.000 ms
$ ping -c 1 sql
PING sql.local (10.0.1.163) 56(84) bytes of data.
64 bytes from sql.local (10.0.1.163): icmp_req=1 ttl=64 time=0.393 ms

--- sql.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.393/0.393/0.393/0.000 ms
$ ping -c 1 sql.local

ping: unknown host sql.local

Les autres hôtes répondent sans problème:

$ ping -c 1 proton.local
PING proton.local (10.0.1.25) 56(84) bytes of data.
64 bytes from proton.local (10.0.1.25): icmp_req=1 ttl=255 time=0.619 ms

--- proton.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.619/0.619/0.619/0.000 ms

Certains hôtes peuvent donc envoyer une requête ping à tous les hôtes du réseau hostname.local, certains hôtes ne peuvent pas cingler hostname.local et certains hôtes peuvent cingler certains d'entre eux avec succès. Aucun problème de ping juste hostname.

S'il vous plait conseillez-moi.

MODIFIER : Cela pourrait-il être lié à avahi / netatalk? dans le dnsmasq-dhcp journaux je vois que parfois / pour certains hôtes, le nom d’hôte * .local est demandé, mais pas pour d’autres

EDIT2 : J'ai changé deux paramètres:

local=/lan/
domain=lan

J'ai aussi abandonné l'usage de *.local et au lieu maintenant utiliser *.lan. Cela semble avoir fonctionné.

Réponses:


1

.local est une zone DNS interne spéciale utilisée par Apple OS X pour les services Bonjour. Alors oui, vous causez un conflit avec les Mac natifs et Linux exécutant Avahi (démon Bonjour).

Un correctif consiste à exécuter un répondeur DNS multidiffusion basé sur serveur que tous peuvent utiliser pour obtenir une image cohérente de ce qui vit dans .local. Le paquet démon / serveur Avahi sur n’importe quelle distribution Linux peut le fournir.

Vous feriez mieux de construire globalement sur un vrai domaine DNS en utilisant un vrai serveur DNS et un vrai serveur DHCP, en particulier si / quand cela doit évoluer.


Par "domaine DNS réel", voulez-vous dire externe / commercial ou non virtuel?
Mausy5043

Celui qui est visible et / ou résoluble sur l’Internet public, celui que vous possédez. Vous pouvez toujours avoir une vue privée (interne) du domaine, mais au moins vous contrôlez et avez la visibilité de tous les noms internes qui fuient (par exemple, les noms internes du MTA qui fuient dans les en-têtes des messages électroniques externes).
milli
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.