【Ubuntu】Ubuntu网络配置DNS失效问题处理

技术小阿哥 2017-11-27

ubuntu 配置 DNS file network

安装了Ubuntu Server版本,配置了静态IP地址,并配置了DNS。但重启之后,发现连接外网时候,还是存在问题。

找了一下,是DNS的问题。

可以这样处理:

复制代码
lifeccp@ubuntu:~/webapp/osprey$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto enp3s0
iface enp3s0 inet static
address 192.168.21.11
netmask 255.255.255.0
gateway 192.168.21.1
dns-nameservers 8.8.8.8
复制代码

注意,关键是其中最后的一行需要配置在这里。

之前我是配置在了 /etc/resolv.conf 中,但是重启就会丢失。

 

问题分析:

再回头去看一下 /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

这里也就是说:这个文件是resolvconf程序动态创建的,不要直接手动编辑,修改将被覆盖。

而事实也是如此,修改后重启就失效了。

 

搜索了Ubuntu下设置DNS的相关资料,总结出两个办法:

方法一,修改/etc/network/interfaces

通过/etc/network/interfaces,在它的最后增加一句:

dns-nameservers 8.8.8.8

8.8.8.8是Google提供的DNS服务,这里只是举一个例子,你也可以改成电信运营商的DNS。重启后DNS就生效了。

 

方法二 ,修改/etc/resolvconf/resolv.conf.d/base

通过修改:/etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

如果有多个DNS就一行一个。

 

修改好保存,然后执行

resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

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
nameserver 8.8.4.4

可以看到我们的设置已经加上了,然后再ping一个域名,当时就可以解析了,无需重启。

 

附:

CentOS下修改DNS则容易的多了,直接修改/etc/resolv.conf,内容是:
nameserver 8.8.8.8
nameserver 8.8.4.4

保存就生效,重启也没问题。

 

本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/p/7418533.html,如需转载请自行联系原作者

登录 后评论
下一篇
云栖号资讯小编
1334人浏览
2020-05-25
相关推荐
Docker 学习笔记
1277人浏览
2017-11-15 15:31:00
(五)docker的网络
1445人浏览
2019-01-30 00:49:07
Ubuntu18.04 网络配置介绍
1427人浏览
2020-02-10 22:49:58
linux设置固定ip
1494人浏览
2016-02-18 17:41:00
Ubuntu 10.1 server 网络配置
1354人浏览
2016-05-24 17:25:49
Ubuntu网络配置
795人浏览
2017-11-22 23:15:00
VPC DHCP类型的ECS修改DNS
11794人浏览
2018-02-24 12:04:05
0
0
0
1619