CentOS 7 中几种修改 DNS 设置方式

在 CentOS 7 中,您可以通过几种方式来修改 DNS 设置:

方法 1: 通过 nmcli (NetworkManager 命令行界面)

这种方法适合通过 NetworkManager 管理网络的系统。

查看网络连接的名称:

nmcli con show

设置新的 DNS 服务器地址,并使用您的网络连接名称替换 YourConnectionName 和您选择的 DNS 服务器替换 DNS1 和 DNS2(例如,Google 的公共 DNS 服务器 8.8.8.8 和 8.8.4.4):

nmcli con mod YourConnectionName ipv4.dns "DNS1 DNS2"

nmcli con mod YourConnectionName ipv4.ignore-auto-dns yes

重新启动网络连接以使修改生效:

nmcli con up YourConnectionName

方法 2: 通过编辑网卡配置文件

这种方法适合没有安装 NetworkManager 或喜欢直接编辑配置文件的用户。

  1. 打开网络配置文件,您需要根据网卡的名称选取对应的文件。网卡配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,并以 ifcfg-网卡名称 命名,比如 ifcfg-eth0。使用文本编辑器打开相应的配置文件(假设网卡名称为 eth0):

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

  2. 在文件中找到以 DNS1DNS2 为关键字的行,如果不存在,则添加它们,并将其值设置为您希望使用的 DNS 服务器地址。例如:

    DNS1=8.8.8.8
    DNS2=8.8.4.4
    
  3. 如果文件中包含 PEERDNS=yes,并且你想要使用静态设置的 DNS,而不是 DHCP 分配的 DNS,你需要将其更改为 PEERDNS=no

  4. 保存文件并退出编辑器。

  5. 重新启动网络服务以使新的 DNS 设置生效:

    sudo systemctl restart network

方法 3: 修改 /etc/resolv.conf 文件

尽管直接编辑 /etc/resolv.conf 文件可以更改 DNS 服务器设置,但在使用 NetworkManager 的系统中,这些更改可能不会持久,因为 NetworkManager 可能会覆盖该文件。

如果您仍希望编辑该文件,可以执行以下命令:

sudo vi /etc/resolv.conf

然后添加或修改 nameserver 行以包括所需的 DNS 服务器地址,例如:

nameserver 8.8.8.8
nameserver 8.8.4.4

保存并关闭文件。

在编辑 resolv.conf 文件之后,为确保修改能持续生效,还需要阻止 NetworkManager 对该文件进行修改:

  1. 编辑 NetworkManager 的配置文件:

    sudo vi /etc/NetworkManager/NetworkManager.conf

  2. 添加或修改 [main] 部分,设置 dns=none

    [main]
    dns=none
    
  3. 重新启动 NetworkManager 以使设置生效:

    sudo systemctl restart NetworkManager

在修改 DNS 设置后,您可以通过以下命令测试新设置是否生效:

ping www.google.com

如果能收到响应,则说明 DNS 正在正常工作。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值