Странная проблема произошла сегодня. После установки обновлений и перезагрузки моей системы archlinux я заметил, что postfix не перезапустился. Он сообщал об ошибке:

postfix: fatal: parameter inet_interfaces: no local interface found for 192.168.178.61

После некоторого расследования выясняется, что причиной ошибки является то, что мой DNS-сервер (AVM Fritz!box router), кажется, возвращает два адреса для 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

Я вижу такие же результаты от nslookup на клиенте Windows.

У кого-нибудь есть идеи, что может вызвать это, или как дальше отладить проблему? Я полагаю, Фриц!box не создает этот второй адрес сам по себе, но, возможно, некоторые динамические действия DNS / регистрация из другой системы в сети вызывают его ... Но кто и почему?

Предложения? Является ли моя теория правдоподобной?

Похоже, это не основная система archlinux, journalctl показывает мне следующие записи в журнале от 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
...

Что все выглядит нормально (для меня) - там нет упоминания адреса .61.

Роутер это фриц!коробка 7390 под управлением версии 6.83. Система Linux была только что обновлена до 4.14.5-1-ARCH. В сети работает множество других систем, например, Windows, BSD и Android.

Кажется, не существует (в настоящее время) хост, использующий адрес .61, например, проверка связи не удалась. Кэш Linux linux выглядит так:

$ 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

(К сведению: причина, по которой Postfix был расстроен, была в том, что я установил опцию конфигурации "inet_interfaces" на "localhost". Postfix искал это имя и возвращал IP-адрес, но не тот, который был настроен в локальной системе.)

Изменить: некоторая дополнительная информация. из системы 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

По какой-то причине файл hosts пуст (содержит только комментарии), я не думаю, что мне когда-либо приходилось его редактировать:

[root@rubicon etc]# cat hosts
# Static table lookup for hostnames.
# See hosts(5) for details.

resolv.conf содержит:

# Generated by resolvconf
domain fritz.box
nameserver 192.168.178.1

Как вы можете видеть, есть новый nsswitch.conf.pacnew, очевидно, после обновления пакета в октябре. Он немного отличается от существующего nsswitch.conf, но я заменил оригинал. Ранее у меня было:

hosts:      files dns myhostname

Теперь у меня есть:

hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname

1 ответ1

0

У меня нет "авторитетной ссылки", но до сих пор я видел только системы, в которых /etc/hosts содержит запись localhost.

Причина заключается в том, что даже если сеть не работает, локальные приложения (которые могут требовать поиска на localhost хосте) могут работать. Кроме того, неисправный DNS-сервер может перехватывать приложения, которые предназначены только для локального запуска.

Итак: вставьте что-то вроде

127.0.0.1 localhost

в вашем /etc/hosts .

Затем, проверьте, откройте ваш графический интерфейс Fritzbox в браузере. Посмотрите на WLAN -> Funknetz , список под Bekannte Geräte . Есть ли какое-либо устройство с именем localhost? Если да, нажмите на карандаш (Bearbeiten) и измените имя.

Если это не сработает, сохраните свою конфигурацию (System -> Sicherung -> Sichern), запомните пароль, отредактируйте полученный файл, посмотрите под landevices и посмотрите, есть ли какое-нибудь устройство с соседним именем neighbour_name = "localhost" . Если да, измените имя и восстановите конфигурацию из графического интерфейса Fritzbox (с тем же паролем, который вы использовали при его сохранении).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .