Alguns hosts não podem ser contatados usando seu FQDN


0

Eu tenho uma LAN com vários hosts conectados. Recentemente, instalei um host em execução que dnsmasqoferece serviços de DHCP e DNS para os hosts na LAN. Eu notei desde algum comportamento estranho na rede que eu não entendo e pode ou não se originar da introdução do dnsmasqhost. Estou perdida. Não faço ideia para onde procurar. (Eu até luto com um bom título para minha pergunta) Por favor, me guie na solução do problema descrito abaixo. Se informações adicionais forem necessárias, entre em contato e tentarei adicioná-las.

O host em execução dnsmasq(máquina virtual 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

Para suas informações básicas, aqui está o /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

Aqui está o problema

Em alguns hosts (por exemplo, meu 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

Posso executar ping em todos os hosts da rede pelo endereço IP, pelo nome do host ou pelo FQDN.

Por exemplo, executando ping no servidor 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

No entanto, em alguns hosts, isso não funciona. Por exemplo:

$ 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

Outros hosts respondem sem problemas:

$ 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

Portanto, alguns hosts podem executar ping em todos os hosts da LAN hostname.local, alguns não podem executar ping em nenhum hostname.locale outros podem executar ping em alguns deles com êxito. Ninguém tem um problema de ping apenas hostname.

Por favor, me aconselhe.

EDIT : Isso pode estar relacionado a avahi / netatalk? Nos dnsmasq-dhcplogs, vejo que algumas vezes / para alguns hosts, o nome do host * .local é consultado e, para outros, não.

EDIT2 : alterei duas configurações:

local=/lan/
domain=lan

Também abandonei o uso *.locale agora uso *.lan. Isso parece ter funcionado.

Respostas:


1

.local é uma zona DNS interna para fins especiais que o Apple OS X usa para serviços Bonjour. Então, sim, você está causando um conflito com os Macs e o Linux executando o Avahi (daemon Bonjour).

Uma correção é executar um respondedor de DNS Multicast baseado em servidor que todos eles possam usar para obter uma imagem consistente do que vive em .local. O pacote daemon / servidor Avahi em qualquer distribuição Linux pode fornecer isso.

Você seria melhor construindo um domínio DNS real usando um servidor DNS real e um servidor DHCP real, principalmente se / quando isso precisar ser dimensionado.


Por "domínio DNS real", você quer dizer externo / comercial ou não virtual?
Mausy5043

Um que é visível e / ou resolvível na Internet pública, que você possui. Você ainda pode ter uma exibição privada (interna) do domínio, mas pelo menos controla e tem visibilidade de quaisquer nomes internos que vazam (por exemplo, nomes internos do MTA que vazam nos cabeçalhos de email externo).
mili
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.