网络:DNS 设置被忽略

网络:DNS 设置被忽略

几个月来,我一直通过运行 ubuntu (16.04.3) 的机器通过静态 IP 成功连接到网络。我最近不得不重新安装操作系统,现在在同一台机器上,系统忽略了我的 DNS 设置。DNS 服务器没有改变,机器的静态 IP 地址也没有改变。此外,我可以从 ubuntu 设备毫无问题地 ping DNS IP 地址。再检查一下,我拥有的位于同一网络上的其他机器使用相同的地址时 DNS 没有任何问题。

为了本次讨论的目的,假设以下设置:

Hostname:    host-o-rama-bama.com
Static IP:   10.20.30.40
Gateway:     10.20.30.1
Netmask:     255.255.255.0
DNS server:  100.110.120.130
DNS server:  100.110.120.140

使用 Ubuntu 网络管理器,我配置了这些设置如下:

General
* Automatically connect to this network when it is available: Yes
* All users may connect to this network: Yes
Ethernet
* Device: enp2s0f1
* Wake on LAN: Default
802.1x security
(None)
DCB
(None)
IPV4 Settings
* Method: Manual
* Address:  10.20.30.40
* Netmask:  255.255.255.0
* Gateway:  10.20.30.1
* DNS Servers: 100.110.120.130,100.110.120.140
* Search Domains: host-o-rama-bama.com
IPV6 Settings
* Method: Ignore

启动网络后...

# ifconfig
enp2s0f1  Link encap:Ethernet  HWaddr 80:fa:5b:4c:02:07  
          inet addr:10.20.30.40  Bcast:10.20.30.255  Mask:255.255.255.0
          inet6 addr: fe80::82fa:5bff:fe4c:207/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63252 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40966 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:53814860 (53.8 MB)  TX bytes:5441842 (5.4 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:7029 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7029 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:650606 (650.6 KB)  TX bytes:650606 (650.6 KB)

此时,我可以通过 IP 地址 ping 一下我的每个 DNS 服务器。

此外,远程站点可以通过其静态 IP 地址和名称(host-o-rama-bama.com已在 DNS 服务器上设置)ping 我的 ubuntu 主机。我甚至可以通过其 IP 地址和 DNS 名称 ssh 进入我的主机。

但是,我无法从 ubuntu 机器上看到任何域名,但是,只要我使用 IP 地址,我确实可以通过 ssh、telnet、http、ping 等方式访问网络上的任何地方。

在中/etc/resolvconf/resolv.conf.d/base,我输入了以下内容,然后运行resolvconf -u...

domain host-o-rama-bama.com
search host-o-rama-bama.com
nameserver 100.110.120.130
nameserver 100.110.120.140

但运行之后,DNS仍然不起作用。

我把以下内容放入/etc/network/interfaces...

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp2s0f1
iface enp2s0f1 inet static
address 10.20.30.40
netmask 255.255.255.0
gateway 10.20.30.1
dns-nameserver 100.110.120.130
dns-nameserver 100.110.120.140
dns-search host-o-rama-bama.com

然后我做了以下事情:

# ifdown enp2s0f1
# ifup enp2s0f1

什么都没变。DNS 仍然不起作用。

然后我注释掉了/etc/network/interfaces从该auto enp2s0f1行到文件底部的所有内容,然后执行了此操作...

# ifdown -a
# ifup -a

仍然没有 DNS。

然后我尝试了这个......

# /etc/init.d/network-manager stop
# /etc/init.d/network-manager start

DNS 仍然无法正常工作。

然后我这样做了:

# service networking restart

...仍然没有 DNS。

我错过了什么?

先感谢您。

答案1

尝试安装完整的 dnsmasq 包(在 Ubuntu 上,默认情况下仅安装 dnsmasq-base):sudo apt-get install dnsmasq然后编辑/etc/dnsmasq.conf(添加你的 DNS 服务器:服务器=8.8.8.8例如)。 重新启动 dnsmasq 和网络管理器服务(sudo service dnsmasq restart; sudo service network-manager restart)。

希望这个能起作用。

答案2

我认为这个问题现在就可以得到解答了。这个dnsmasq建议很有价值,但直到我完全从头开始重新安装 Ubuntu 16.04 后,情况才得到解决。我猜我在最初安装过程中做了一些事情(??? 不确定是什么)导致我的 DNS 无法正常工作。

我需要记住,对于这些看似棘手的问题,一个可能的解决方案是:“从头开始重新安装并再试一次。”:)

感谢Eraseth和chili555的所有帮助。

精益求精!(拉丁语,意为“不断进步、不断向上!”)

相关内容