DNS 在 Debian jessie 上不起作用

DNS 在 Debian jessie 上不起作用

我已经正确设置resolvconf,正确设置/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 8.8.8.8
nameserver 8.8.4.4

我在代理后面,所以我更新了/etc/profile.d/proxy.sh,/etc/apt/apt.conf.d/99HttpProxy/etc/wgetrc

Apt 能够解析名称,但digorping不能。

# dig ftp.de.debian.org

(超时)

  • 为什么 apt 能够正确解析名称?我认为 Debian 上有一个基于/etc/resolv.conf?的单一 DNS 解析机制。
  • 为什么我的正确设置/etc/resolv.conf不起作用?
  • 我需要安装/设置其他东西才能使 DNS 正常工作吗?我假设 DNS 由系统库执行(根据解析器配置),因此无需安装额外的服务即可使 DNS 工作。
  • 调整解析器配置后是否需要重新启动任何服务?

编辑

我的/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:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

答案1

如果您的网络阻止直接 HTTP 访问(因此您需要使用代理),它也可能会阻止直接 DNS 访问。您已将系统配置为访问 Google 的 DNS 服务器。如果你的网络阻止了它们,那就无法工作。

删除硬编码 DNS 服务器首选项的设置,并保留系统默认值。通常,您通过 DHCP 获取 IP 地址,DHCP 服务器会告诉您的计算机要使用哪些 DNS 服务器。

使用 HTTP 代理的程序之所以能够工作,是因为它们不发出 DNS 请求,而由代理发出请求。

相关内容