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é.