当前位置: 首页 > 工具软件 > Dnsserver > 使用案例 >

Linux 修改DNS server 问题。

谭泳
2023-12-01

Linux 配置 DNS server 和 network 这块一直是一知半解,不同的系统配置也不同,每次遇到问题都要花一段时间Google。

这次因为一直用的一台DNS server 关闭,正好又碰上linux server本身有问题,只能通过修改 /etc/resolv.conf 的DNS才生效。

但是修改 /etc/resolv.conf 重启后配置会被清掉,于是又花了一上午尝试各种修改方式。痛定思痛决定趁热打铁把这些修改方式记录下来以备下次所需。

Ununtu下修改DNS 的 5 种方法:

1. 如果只是临时想用某个dns 来做解析 可以修改 /etc/resolv.conf 中的nameserver .

sudo vim /etc/resolv.conf

找到 nameserver 并修改它的值为 你需要的DNS server,保存退出。

但是这个修改在系统重启后就会失效。

 2. 修改 /etc/network/interfaces 中的 dns-nameservers.

sudo vim /etc/network/interfaces

找到 dns-nameservers 并修改成你需要的 DNS server,或者直接在下面 再加一行。比如下面这样:

 dns-nameservers 8.8.8.8
 dns-nameservers 8.8.4.4

3. 通过添加 /etc/resolvconf/resolv.conf.d/base 文件并追加 DNS server,这个文件 系统中并没有自带,需要通过vim 添加

sudo vim /etc/resolvconf/resolv.conf.d/base

添加需要的dns server, 可以添加多个DNS

  1 nameserver 8.8.8.8
  2 nameserver 8.8.44

保存后执行 resolvconf -u.

4. 修改 netplan 里的yaml 网络管理文件 , 这个文件名不同的系统可能会不一样,我的yaml文件是这样的 /etc/netplan/01-network-manager-all.yaml, 这个文件名可以通过 ls 查看。

netplan 是 Ubuntu 18.04 以上默认的网络管理工具,在这里可以配置你的IP、gateway、DNS等等。

sudo vim /etc/netplan/01-network-manager-all.yaml

文件内容像下面这样:

  2 network:
  3   version: 2
  4   renderer: NetworkManager
  5   ethernets:
  6     ens160:
  7       dhcp4: no
  8       addresses:
  9         - 10.75.185.86/24
 10       gateway4: 10.75.185.1
 11       nameservers:
 12         addresses: [8.8.4.4, 8.8.8.8]

这里要注意 yaml 的代码缩进标准, 不同级别需要有空格来缩进, 比如 ens160 是系统网卡,是在ethernets 的下一层需要缩进, addresses 和 gateway 是同一级别不需要缩进。

5. 如果系统是 桌面版的最简单了, 直接在UI上配置就可以了。 

  1. 进入桌面。
  2. 点击网络图标,进入有线或无线网络设置。
  3. 点击所用网卡的设置图标。
  4. 选择 IPv4 tab, 在DNS里加上DNS server IP,如果有多个可以使用逗号隔开。
  5. Apply 更改。

Centos 修改DNS server:

Centos 直接修改 /etc/resolv.conf 也是有同样的问题,重启后配置就被覆盖掉了,只能临时使用,要永久修改需要改网卡的配置文件。具体操作如下:

1. 进入 /etc/sysconfig/network-scripts 目录,通过ls 找到网卡的配置文件,类似于 ifcfg-ens33,后面ens33是我的网卡名字

2. sudo vim ifcfg-ens33

3. 在文件中加上:

 DNS1="8.8.8.8"
 DNS2="8.8.4.4"

4. 重启网卡:sudo service network restart, 网卡重启后会发现 /etc/resolv.conf 下 已经有了刚刚加的DNS ,而且重启后也不会消失

 类似资料: