我已将 LDAP 服务器 (ldap.intranet.local) 从一台机器 (192.168.0.5) 上的 VM 移至新服务器 (192.168.0.7) 上的 docker 容器。我已更新 DNS 记录。当我关闭 VM 上的 LDAP 服务时,我无法再登录,并且报告的错误是无法联系 LDAP 服务器。使用时ldapsearch
显示同样的问题。
我已使用 刷新了 DNS 缓存sudo systemd-resolve --flush-caches
。我已重新启动nscd
、nslcd
和libnss-ldap
(反复)。
我在网上找到的一份指南建议这样做systemctl restart dnsmasq
。这会导致Failed to restart dnsmasq.service: Unit dnsmasq.service not found.
被举报。
另一个指南建议/etc/init.d/dns-clean start
。我的系统中不存在此文件。
如果我这样做,nslookup
我就会获得正确的 IP 地址。
如果我这样做,ping ldap
我就会获得正确的 IP 地址。
如果我这样做,ping ldap.intranet.local
我会得到旧的 IP 地址。
LDAP 已配置为使用ldap.intranet.local
但ldapsearch
该主机名仍然坚决拒绝工作。
我无法重新启动机器,因为它有一个加密硬盘,而且我正在远程工作。
我听说不同的程序使用不同的名称解析机制。
我怎样才能彻底清除所有缓存的名称解析?
一段时间后问题会自行消失吗?如果我让旧虚拟机运行一段时间,然后稍后将其关闭,问题会解决吗?我预计要等多久?
- - 更新 - -
除了将 LDAP 添加到 /etc/nsswitch.conf(并摆弄它以使其工作)之外,这些文件都是安装时的默认文件。
在 /etc/hosts 中:
127.0.0.1 localhost
127.0.1.1 my_server
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/resolv.conf:
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 127.0.0.53
options edns0 trust-ad
search intranet.local
/etc/nsswitch.conf:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
#passwd: files ldap systemd
#group: files ldap systemd
#shadow: files ldap
passwd: compat systemd ldap
group: compat systemd ldap
shadow: compat
gshadow: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis