Один из моих рабочих серверов испытывает проблемы с подключением к центральному серверу. Это произошло внезапно, это сработало раньше, и оно все еще работает на идентичном другом работнике.
После некоторой проверки выясняется, что проблема заключается в следующем:
root@svc1:~# nslookup central.example.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: central.example.com
Address: 26.156.133.221
Name: central.example.com
Address: 64:ff9b::2ea6:1337
systemd-resolvd
кажется, думает, что центральный сервер имеет IPv6-адрес. Но этого не происходит и никогда не было:
root@svc1:~# dig central.example.com @ns1.example.com in AAAA
...
# there is no ANSWER SECTION
Я мог бы как-нибудь очистить локальный кеш DNS и исправить проблему с подключением. Но как это могло произойти и как я могу предотвратить повторение этого в будущем?
Префикс 64: ff9b ::
- это хорошо известный префикс NAT64. По какой-то причине systemd думает, что вы находитесь в сети только для IPv6 и не можете получить доступ к IPv4-адресу. Поэтому он пытается быть полезным и синтезирует адрес NAT64, чтобы вы могли достичь пункта назначения через него.
Почему systemd делает это, я не знаю: (