Uso avahi para encontrar máquinas en la red local. Ha estado actuando recientemente, causando que una máquina entregue la IP incorrecta. Ingresé a una máquina diferente para depurar el problema.

Confirmar que la IP actualmente resuelta es incorrecta:

$ getent hosts evan-woodtower.local
172.17.0.1   evan-woodtower.local

Reiniciar el demonio avahi parece solucionar el problema:

$ sudo avahi-daemon -k
$ getent hosts evan-woodtower.local
10.88.111.9   evan-woodtower.local

Pero solo por unos segundos, luego vuelve a la IP anterior incorrecta

$ getent hosts evan-woodtower.local
172.17.0.1   evan-woodtower.local

¿Que esta pasando? He probado en varias máquinas en mi red, esta parece ser la única búsqueda que sale mal. Cualquier máquina a la que he accedido parece tener el mismo problema con este, y solo este, host.

answer

Entonces, esto resultó ser un problema de avahi-daemoncambiar qué interfaz de red estaba adjuntando al .localnombre. Esperaba que usara br0, pero a veces cambiaba a una interfaz virtual docker.

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:8a:98:79:93  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 2  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

La solución fue editar /etc/avahi/avahi-daemon.confpara obligar a avahi a mirar solo la br0interfaz:

 allow-interfaces=br0