ubuntu 14.04 中的 DNS 问题

ubuntu 14.04 中的 DNS 问题

我有时在 Ubuntu 14.04.2 LTS trusty 中面临 DNS 解析问题。

我已使用网络管理器配置我的系统以使用静态 IP 分配。我也尝试过更改 DNS 服务器地址,但出现此问题时我无法通过 URL 访问任何网站,但只能通过 IP 访问。

在这个问题期间,我尝试过

  • 停止 dnsmasq 服务
  • 删除 dnsmasq
  • 重新启动网络服务
  • 重新启动网络管理器
  • nslookup 到 google、yahoo 等域

我无法通过做所有这些事情来解决问题。但唯一的解决办法是重新启动我的计算机,否则我必须更改我的 IP 地址并将其分配回来。

一些配置的输出

###### Start of debugging information for resolvconf ######
### ls -l /etc/resolvconf
total 16
-rw-r--r-- 1 root root  172 Dec 13  2012 interface-order
drwxr-xr-x 2 root root 4096 May 21 11:02 resolv.conf.d
drwxr-xr-x 2 root root 4096 May 21 10:57 update.d
drwxr-xr-x 2 root root 4096 Jul 23  2014 update-libc.d
### cat /etc/resolvconf/interface-order
# interface-order(5)
lo.inet*
lo.dnsmasq
lo.pdnsd
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
eth*
ath*
wlan*
ppp*
*
### ls -l /etc/resolvconf/resolv.conf.d
total 8
-rw-r--r-- 1 root root   1 May 19 10:08 base
-rw-r--r-- 1 root root 151 Dec 13  2012 head
### cat /etc/resolvconf/resolv.conf.d/base

### cat /etc/resolvconf/resolv.conf.d/head
# 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
### ls -l /etc/resolvconf/run
ls: cannot access /etc/resolvconf/run: No such file or directory
### ls -l /run/resolvconf
total 4
-rw-r--r-- 1 root root   0 Jun 10 12:41 enable-updates
drwxr-xr-x 2 root root  60 Jun 10 12:42 interface
-rw-r--r-- 1 root root 170 Jun 10 12:42 resolv.conf
### cat /run/resolvconf/enable-updates
### cat /run/resolvconf/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
### ls -l /run/resolvconf/interface
total 4
-rw-r--r-- 1 root root 19 Jun 10 12:42 NetworkManager
### cat /run/resolvconf/interface/NetworkManager
nameserver 8.8.8.8
### ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 May 21 11:09 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
### lsattr /etc/resolv.conf
lsattr: Operation not supported While reading flags on /etc/resolv.conf
### cat /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
### cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

no-auto-default=E0:69:95:AB:91:5A,

[ifupdown]
managed=false
###### End of debugging information for resolvconf ######

当我跑步时nslookup 8.8.8.8我得到;; connection timed out; no servers could be reached

请帮助我,因为由于重新启动系统并随时失去连接,我的整个工作完全陷入困境。

答案1

编辑/etc/resolv.conf;添加,nameserver ip.ad.dr.es行。您应该添加一两个名称服务器以进行故障转移。通常您会使用 ISP 提供的名称服务器,但如果您想向他们提供您的浏览习惯,则可以使用 4.4.2.2 及类似名称服务器

答案2

打开终端并执行以下命令:

sudo ufw allow out 53
sudo ufw disable; sudo ufw enable   
echo "nameserver 8.8.4.4" | sudo tee /etc/resolvconf/resolv.conf.d/base
echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolvconf/resolv.conf.d/base
sudo resolvconf -u

编辑:

设置名称服务器的另一种方法是通过 dhclient:

echo "prepend domain-name-servers 8.8.4.4, 8.8.8.8;" | sudo tee -a /etc/dhcp/dhclient.conf

并重新启动网络管理器:

sudo service network-manager restart

还:

您还可以通过将以下行添加到 /etc/network/interfaces 文件来设置名称服务器:

对于 WLAN0

iface wlan0 inet
managed true
dns-nameservers 8.8.4.4 8.8.8.8

对于 eth0

iface eth0 inet
managed true
dns-nameservers 8.8.4.4 8.8.8.8

最后:

您可能想做的一件事是清除以前的连接:

sudo mv /etc/Network-Manager/system-connections /etc/NetworkManager/system-backup
sudo service network-manager restart

答案3

安装本地 DNS 服务器,启用根区域查找。如果 ISP 执行错误或出现网络链路故障,则可能会出现您预期的问题。请记住启用“提示”类型的根区域!并在 resolv.conf 中添加 127.0.0.1 作为您的第一个名称服务器。这不是最快的解决方案,但如果您的 IP 地址连接牢不可破 - 它会拯救您的一天。

相关内容