5154

Good Luck To You!

centos7 配置dns地址

CentOS 7中,编辑/etc/resolv.conf文件添加DNS服务器地址如nameserver 8.8.8.8等即可配置DNS,也可通过修改网络接口配置文件设置静态IP时

CentOS 7配置DNS地址详解

在CentOS 7系统中,正确配置DNS服务器是保障网络通信顺畅的关键步骤,以下是详细的操作指南,涵盖多种方法和注意事项:


直接修改/etc/resolv.conf文件(推荐)

这是最常用且直观的方式,适用于客户端手动指定DNS服务器的场景。

  1. 备份原有配置
    执行命令:cp /etc/resolv.conf /etc/resolv.conf.backup,防止误操作导致系统无法解析域名。
  2. 编辑配置文件
    使用文本编辑器打开文件:
    vi /etc/resolv.confnano /etc/resolv.conf
    添加或修改以下内容(可同时设置多个DNS):
    nameserver 8.8.8.8       # Google公共DNS
    nameserver 8.8.4.4       # Google备用DNS
    nameserver 223.5.5.5     # 阿里云DNS(适合国内用户)

    📌 注意:顺序决定优先级,靠前的为首选DNS;若需避免被动态工具覆盖,需配合后续方法二的操作。

  3. 保存并重启网络服务
    • Vi编辑器:按Esc键后输入:wq保存退出。
    • Nano编辑器:按Ctrl+O保存,再按Ctrl+X退出。
      执行命令使配置生效:systemctl restart network
  4. 验证生效结果
    通过命令检查当前使用的DNS列表:cat /etc/resolv.conf;测试解析能力:dig www.baidu.comnslookup example.com

通过网络接口脚本持久化配置(防覆盖)

当系统使用NetworkManager或DHCP自动获取IP时,直接修改/etc/resolv.conf可能被重置,此时可通过修改对应网卡的配置文件实现永久生效。

  1. 定位目标接口文件
    通常路径为/etc/sysconfig/networkscripts/ifcfg<接口名>(如物理网卡ifcfgeth0),若存在多个虚拟接口(如docker),需逐一处理。
  2. 追加DNS参数
    在文件中增加以下字段:
    DNS1=8.8.8.8         # 首选DNS
    DNS2=8.8.4.4         # 备用DNS
    PEERDNS=no           # 禁止从上级设备获取DNS(避免冲突)
  3. 重启网络服务应用更改
    执行命令:systemctl restart network,此方法会将DNS设置嵌入到接口启动脚本中,确保重启后依然有效。

搭建本地DNS服务器(高级场景)

如果需要为局域网提供自定义域名解析服务,可部署BIND软件包构建权威/缓存DNS。

  1. 安装必要组件
    运行命令安装依赖项:
    sudo yum install y bind bindutils
  2. 配置主区域文件
    编辑主配置文件/etc/named.conf,定义正向和反向解析区域示例:
    # 正向解析示例(yourdomain.com)
    zone "yourdomain.com" IN {
        type master;
        file "/var/named/yourdomain.com.zone";
    };
    # 反向解析示例(对应子网192.168.10.0/24)
    zone "10.168.192.inaddr.arpa" IN {
        type master;
        file "/var/named/192.168.10.rev";
    };
  3. 创建数据存储文件
    根据上述配置新建两个文件并填充记录:
    • 正向解析文件/var/named/yourdomain.com.zone):
      $TTL 86400
      @   IN SOA     ns1.yourdomain.com. admin.yourdomain.com. (
                   2025073001 ;Serial Number
                   3600       ;Refresh间隔
                   1800       ;Retry重试时间
                   604800     ;Expire过期时间
                   86400 )    ;Minimum TTL
          IN NS    ns1.yourdomain.com.
          IN NS    ns2.yourdomain.com.
      ns1    IN A      192.168.10.1
      ns2    IN A      192.168.10.2
      www    IN A      192.168.10.3
    • 反向解析文件/var/named/192.168.10.rev):
      $TTL 86400
      @   IN SOA     ns1.yourdomain.com. admin.yourdomain.com. (
                   2025073001 ;Serial Number
                   3600       ;Refresh间隔
                   1800       ;Retry重试时间
                   604800     ;Expire过期时间
                   86400 )    ;Minimum TTL
          IN NS    ns1.yourdomain.com.
      1   IN PTR    ns1.yourdomain.com.
      2   IN PTR    ns2.yourdomain.com.
      3   IN PTR    www.yourdomain.com.
  4. 启动服务并设置为开机自启
    依次执行:
    sudo systemctl start named      # 立即启动服务
    sudo systemctl enable named     # 加入开机启动项
  5. 测试功能是否正常
    使用工具验证本地解析效果:
    dig @localhost www.yourdomain.com      # 正向查询测试
    dig @localhost x 192.168.10.3         # 反向查询测试

常见问题与解答

序号 问题描述 解决方案
1 修改/etc/resolv.conf后不起作用怎么办? 检查是否存在NetworkManager或DHCP覆盖问题,改用方法二的配置方式(设置PEERDNS=no)。
2 如何确认当前使用的DNS服务器是否已更新? 执行命令cat /etc/resolv.conf查看最新列表;通过dignslookup测试解析结果是否符合预期。

扩展建议

  • 性能优化:优先选择延迟低、响应快的公共DNS(如Cloudflare的1.1.1)。
  • 安全性增强:启用DNSSEC验证机制,防止缓存投毒攻击。
  • 监控维护:定期检查日志文件(位于/var/log/messages),排查异常请求来源

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年8月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.