centos7—DNS域名系统

本文详细介绍了DNS域名系统的作用,包括正向解析和反向解析。接着,阐述了DNS解析过程中的递归查询和迭代查询。然后,通过实际操作展示了在CentOS7中部署DNS服务器的步骤,包括软件安装、配置文件修改和测试。最后,给出了在DNS服务器上注册域名的案例,包括添加配置信息、创建资源记录文件以及使用nslookup、dig、host等命令进行解析测试。

一、DNS:域名系统。

主要用来记录(登记)域名和IP地址的映射关系(对应关系)。

功能:域名解析。

正向解析:根据域名来解析出IP地址。域名----->IP

反向解析:根据IP地址来解析出域名。IP----->域名

------------------------------------------------------------------------------------------------------------

二、DNS解析过程

递归查询:服务器和客户机之间的查询过程。由主DNS服务器直接将域名对应的IP地址告诉给客户机。

迭代查询:DNS服务器和服务器之间的查询过程。由DNS服务器向互联网中的根域、顶级域、二级域依次发出查询请求,最终获取到域名所对应的IP地址的过程。

(注:图片来源于网络)

------------------------------------------------------------------------------------------------------------

三、DNS服务器的部署

1、软件

     DNS服务器软件:bind、bind-chroot       服务名称:named

     DNS客户端软件:bind-utils    可用命令:nslookup、dig、host

     注:服务名称中的d是daemon守护进程的缩写。如named是name   daemon的缩写。

2、网络拓扑结构:

     DNS服务器:192.168.10.7(虚拟机)

     DNS客户机:192.168.10.8(虚拟机) 、192.168.10.1(物理机) 

3、DNS服务器安装:

     0)、临时关闭安全防护功能

          setenforce 0     #临时关闭selinux

          getenforce     #查selinux状态

          systemctl stop firewalld     #临时关闭firewalld

          systemctl status firewalld     #查firewalld状态

     1)、查软件是否已安装

          rpm -q bind

     2)、安装软件

          yum info bind     #查bind软件简介

          yum install -y bind     #安装bind软件

          rpm -q bind     #查询结果如下

          bind-9.9.4-37.el7.x86_64

     3)、启动服务

          systemctl restart named     #重启named服务

          systemctl enable named     #设置named开机启动

     4)、查状态

          systemctl status named

          lsof -i:53     或     netstat -atnlp | grep :53

     5)、熟悉配置文件

          rpm -qc bind     #重要配置文件如下

          /etc/logrotate.d/named     #日志轮滚策略文件

          /etc/named.conf     #主配置文件(存全局设置参数)

          /etc/named.iscdlv.key     #密钥文件

          /etc/named.rfc1912.zones     #区域配置文件(存域名信息或网段)

          /etc/named.root.key

          /etc/rndc.conf     #DNS远程管理的配置文件

          /etc/rndc.key     #远程管理的密钥文件

          /etc/sysconfig/named

          /var/named/named.ca     #根域服务器的解析文件

          /var/named/named.empty

          /var/named/named.localhost     #localhost域名正向解析配置文件(资源记录文件)

          /var/named/named.loopback     #127.0.0.0网段的反向解析配置文件(资源记录文件)

------------------------------------------------------------------------------------------------------------                 

案例:在192.168.10

CentOS 系统中配置 DNS 域名解析涉及多个步骤,包括安装 DNS 服务、配置主域名服务器、设置正向和反向解析区域,并确保客户端能够正确使用该 DNS 服务。 ### 安装 BIND 软件包 BIND 是 Linux 系统中最常用的 DNS 服务软件。首先需要安装 `bind` 和 `bind-utils` 软件包: ```bash sudo yum install bind bind-utils -y ``` 安装完成后,系统会自动创建名为 `named` 的服务,可以通过 `systemctl` 控制其运行状态: ```bash sudo systemctl start named sudo systemctl enable named ``` ### 配置主域名服务器 BIND 的主配置文件位于 `/etc/named.conf`。编辑该文件以定义监听端口、允许查询的网段以及区域信息: ```bash sudo vi /etc/named.conf ``` 配置示例如下: ```conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; allow-query { any; }; }; zone "example.com" IN { type master; file "example.com.zone"; allow-transfer { 192.168.1.100; }; }; zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.arpa"; allow-transfer { 192.168.1.100; }; }; ``` 上述配置定义了一个正向解析区域 `example.com` 和一个反向解析区域 `1.168.192.in-addr.arpa`,并指定了从服务器的 IP 地址 [^2]。 ### 创建正向解析文件 在 `/var/named/` 目录下创建正向解析文件 `example.com.zone`: ```bash sudo vi /var/named/example.com.zone ``` 内容示例如下: ```zone $TTL 1D @ IN SOA ns1.example.com. admin.example.com. ( 2023101001 ; Serial 8H ; Refresh 4H ; Retry 4D ; Expire 1D ) ; Minimum TTL @ IN NS ns1.example.com. ns1 IN A 192.168.1.10 www IN A 192.168.1.20 mail IN A 192.168.1.30 ``` ### 创建反向解析文件 创建反向解析文件 `/var/named/192.168.1.arpa`: ```bash sudo vi /var/named/192.168.1.arpa ``` 内容示例如下: ```zone $TTL 1D @ IN SOA ns1.example.com. admin.example.com. ( 2023101001 ; Serial 8H ; Refresh 4H ; Retry 4D ; Expire 1D ) ; Minimum TTL @ IN NS ns1.example.com. 10 IN PTR ns1.example.com. 20 IN PTR www.example.com. 30 IN PTR mail.example.com. ``` ### 设置权限并重启服务 完成配置后,更改文件权限并重启 `named` 服务: ```bash sudo chown root:named /var/named/*.zone sudo chmod 640 /var/named/*.zone sudo systemctl restart named ``` ### 配置客户端使用 DNS 要使客户端使用新配置的 DNS 服务器,需修改 `/etc/resolv.conf` 文件,添加 DNS 服务器地址: ```bash echo "nameserver 192.168.1.10" | sudo tee /etc/resolv.conf > /dev/null ``` 由于 `/etc/resolv.conf` 可能被网络管理工具覆盖,建议通过 NetworkManager 或其他网络配置工具设置 DNS 服务器以保证持久性 [^3]。 ### 测试 DNS 解析 使用 `dig` 或 `nslookup` 命令测试 DNS 解析是否正常工作: ```bash dig example.com nslookup www.example.com ``` 这些命令将验证 DNS 服务器是否能够正确解析域名 [^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值