Um problema estranho ocorreu hoje. Depois de instalar atualizações e reiniciar meu sistema archlinux, notei que o postfix não foi reiniciado. Foi relatando um erro:
postfix: fatal: parameter inet_interfaces: no local interface found for 192.168.178.61
Após algumas investigações, a razão para o erro é que meu servidor DNS (um roteador de caixa fritz!) parece estar retornando dois endereços para localhost:
[root@rubicon postfix]# nslookup
> server 192.168.178.1
Default server: 192.168.178.1
Address: 192.168.178.1#53
> fritz.box.
Server: 192.168.178.1
Address: 192.168.178.1#53
Name: fritz.box
Address: 192.168.178.1
>
> 192.168.178.1
1.178.168.192.in-addr.arpa name = fritz.box.
>
> localhost.
Server: 192.168.178.1
Address: 192.168.178.1#53
Name: localhost
Address: 192.168.178.61
Name: localhost
Address: 127.0.0.1
Eu vejo os mesmos resultados do nslookup em um cliente Windows.
Alguém tem alguma ideia do que causaria isso ou de como depurar ainda mais o problema? Eu assumo que o fritz! Box não está criando este segundo endereço sozinho, mas talvez alguma ação / registro dinâmico de DNS de outro sistema na rede esteja causando isso ... Mas quem e por quê?
Sugestões? Minha teoria é plausível?
Não parece ser o sistema archlinux principal, o journalctl mostra-me estas entradas de log do dhcpd:
...
Dec 14 18:38:15 rubicon dhcpcd[466]: enp2s0: IAID 18:30:bc:a4
Dec 14 18:38:15 rubicon dhcpcd[466]: enp2s0: adding address fe80::661c:3ea0:2501:46ad
Dec 14 18:38:16 rubicon dhcpcd[466]: enp2s0: soliciting an IPv6 router
Dec 14 18:38:16 rubicon dhcpcd[466]: enp2s0: rebinding lease of 192.168.178.54
Dec 14 18:38:16 rubicon dhcpcd[466]: enp2s0: probing address 192.168.178.54/24
Dec 14 18:38:21 rubicon dhcpcd[466]: enp2s0: leased 192.168.178.54 for 864000 seconds
Dec 14 18:38:21 rubicon dhcpcd[466]: enp2s0: adding route to 192.168.178.0/24
Dec 14 18:38:21 rubicon dhcpcd[466]: enp2s0: adding default route via 192.168.178.1
Dec 14 18:38:21 rubicon dhcpcd[466]: forked to background, child pid 557
Dec 14 18:38:30 rubicon dhcpcd[557]: enp2s0: no IPv6 Routers available
...
Que tudo parece normal (para mim) - nenhuma menção a um endereço .61 lá.
O roteador é um fritz! box 7390 executando a versão 6.83. O sistema Linux acabou de ser atualizado para o 4.14.5-1-ARCH. Há uma variedade de outros sistemas na rede em execução, por exemplo, Windows, BSD e Android.
Não parece haver (atualmente) um host usando o endereço .61, por exemplo. o ping falha. O cache do arp linux se parece com isso:
$ ip neighbour show
192.168.178.1 dev enp2s0 lladdr 08:96:d7:78:53:6a REACHABLE
192.168.178.61 dev enp2s0 FAILED
192.168.178.250 dev enp2s0 lladdr fc:f5:28:ed:05:e5 STALE
(FYI: a razão que o Postfix ficou chateado foi que eu tinha configurado a opção de configuração "inet_interfaces" para "localhost". O Postfix estava procurando este nome e recuperando um endereço IP, mas não aquele que estava configurado no sistema local .)
Editar: algumas informações adicionais. do sistema archlinux:
[root@rubicon etc]# ip addr sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:26:18:30:bc:a4 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.54/24 brd 192.168.178.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::661c:3ea0:2501:46ad/64 scope link
valid_lft forever preferred_lft forever
[root@rubicon etc]# ls -ltr /etc/hosts* /etc/resolv.conf* /etc/nsswitch.conf*
-rw-r--r-- 1 root root 234 Feb 15 2015 /etc/nsswitch.conf_dist
-rw-r--r-- 1 root root 766 Apr 11 2017 /etc/nsswitch.conf
-rw-r--r-- 1 root root 65 Oct 17 09:32 /etc/resolv.conf.pacnew
-rw-r--r-- 1 root root 334 Oct 17 09:32 /etc/nsswitch.conf.pacnew
-rw-r--r-- 1 root root 65 Oct 17 09:32 /etc/hosts
-rw-r--r-- 1 root root 68 Dec 14 10:20 /etc/resolv.conf
Por alguma razão, o arquivo hosts está vazio (contém apenas comentários), não acredito que tenha sido necessário editá-lo:
[root@rubicon etc]# cat hosts
# Static table lookup for hostnames.
# See hosts(5) for details.
resolv.conf contém:
# Generated by resolvconf
domain fritz.box
nameserver 192.168.178.1
Como você pode ver, há um novo nsswitch.conf.pacnew, aparentemente de um upgrade de pacote em outubro. Ele difere apenas ligeiramente do nsswitch.conf existente, mas eu mudei para substituir o original. Anteriormente eu tinha:
hosts: files dns myhostname
Agora eu tenho:
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname