在 Linux 上,使用 cisco anyconnect 连接到我的 VPN 后,我的两个浏览器(chrome 和 firefox)都无法显示网站。anyconnect 正在禁用本地网络套接字,并且无法更改。
在 Firefox 上,标题栏中显示“未找到服务器”,并且页面显示“我们无法找到该站点”。
在 chrome 上,我得到 DNS_PROBE_FINISHED_NXDOMAIN。
我可以从命令行解析 IP 地址。
如果我使用 IP 地址,我可以在 Firefox 上连接到网站。
启动一个新的 Firefox 实例(不同的配置文件)会得到相同的结果。
如果我在 chrome 中使用 google 的 ip 地址,它会开始连接,但随后将 url 重写为 google.com,然后恢复为 DNS_PROBE_FINISHED_NXDOMAIN。
在 chrome 中,清除 DNS 主机缓存、关闭空闲套接字和刷新套接字池不起作用。
我怀疑这两种浏览器都连接到了某个出现故障的内部服务。
更新日期:2020 年 5 月 13 日
hostname google.com --> works
nslookup google.com --> works
traceroute google.com --> fails
google.com: Name or service not known
Cannot handle "host" cmdline arg `google.com' on position 1 (argc 1)
调试 traceroute 显示对 getaddrinfo() 的调用失败。getaddrinfo() 在 nscd 缓存中查找值,然后打开 unix 套接字到“/var/run/nscd/socket”,成功了,但是当它写入套接字时,它会得到 EPIPE 并失败。
答案1
我停止了 nscd:
systemctl stop nscd
并且不使用 nscd 缓存(暂时)已经解决了这个问题。