linux中的 dns服务器部署

dns服务器部署

1.关于dns的名词解释

dns: domain name service(域名解析服务)
#关于客户端:#
/etc/resolv.conf ##dns指向文件
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机 dns
顶级 . 13 次级 .com .net .edu .org … baidu.com

#关于服务端#
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53
关于报错信息:
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态 NOERROR ##表示查询成功 REFUSED ##服务拒绝访问 SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存) NXDOMAIN ##此域名A记录在dns中不存在

2.dns服务的安装与启用

#安装# dnf install bind.x86_64 -y
#启用#

systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 
vim /etc/named.conf      
listen-on port 53 { any; }; ##在本地所有网络接口上开启53端口 
allow-query     { any; }; ##允许查询A记录的客户端列表 
dnssec-validation no; ##禁用dns检测使dns能够缓存外部信息到本纪 
systemctl restart named    

在这里插入图片描述在这里插入图片描述

3.高速缓存dns

forwarders { 114.114.114.114; };

在这里插入图片描述

4.dns的正向解析

 vim /etc/named.rfc1912.zone
  zone "westos.com" IN {  ##维护的域名       
   type master; ##当前服务器位主dns       
    file "westos.com.zone"; ##域名A记录文件        
    allow-update { none; }; ##允许更新主机列表 };  

在这里插入图片描述

cd /var/named/ 
cp -p named.localhost westos.com.zone

$TTL 1D @ IN SOA dns.westos.com. root.westos.com ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum
NS dns.westos.com. dns
A 192.168.0.20 www
CNAME westos.a.westos.com. ##规范域名
westos.a A 192.168.0.111 ##正向解析记录
westos.a A 192.168.0.112
westos.com. MX 1 192.168.0.20. ##邮件解析记录

在这里插入图片描述在这里插入图片描述

systemctl restart named 
dig www.westos.com #查询正向解析
dig -t mx westos.com #邮件解析记录查询

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.dns的反向解析

vim /etc/named.rfc1912.zones 
zone "0.168.192.in-addr.arpa" IN {
 type master; 
 file "192.168.0.ptr"; 
 allow-update { none; }; 
 }; 

在这里插入图片描述

 cd /var/named/ 
 cp -p named.loopback 192.168.0.ptr
  vim 192.168.0.ptr 

$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ;
minimum
NS dns.westos.com.
dns A 192.168.0.20
11 PTR www.westos.com.
12 PTR bbs.westos.com.
13 PTR news.westos.com.

在这里插入图片描述

 systemctl restart named  
 测试: dig -x 192.168.0.11  

在这里插入图片描述在这里插入图片描述

6.dns的双向解析

实验环境:
客户端2台 192.168.0网段 172.25.254网段

服务端1台2个网段的ip 192.168.0.20 172.25.254.20 #

在192.168.0网段的客户主机中
 vim /etc/resolv.conf 
 nameserver 192.168.0.20 
 在172.25.254网段的客户主机中
  vim /etc/resolv.conf
   nameserver 172.25.254.20
配置方式: 
  cd /var/named/ 
    cp -p westos.com.zone westos.com.inter
     vim westos.com.inter 
 $TTL 1D
  @ IN SOA westos.com. root.westos.com ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ;
   minimum NS dns.westos.com. 
   dns A 172.25.254.20 
   www CNAME westos.a.westos.com. 
   westos.a A 172.25.254.111 
   westos.a A 172.25.254.112 
   westos.com. MX 1 172.25.254.20. 

在这里插入图片描述

 cp -p /etc/named.rfc1912.zones  /etc/named.rfc1912.inters
    vim /etc/named.rfc1912.inters
     zone "westos.com" IN { type master; file "westos.com.inter"; allow-update { none; }; }; 

view localnet {
match-clients { 192.168.0.0/24;
};
zone “.” IN { type hint; file “named.ca”; }; include “/etc/named.rfc1912.zones”; include “/etc/named.root.key”; }; view internet {
match-clients { any; }; zone “.” IN { type hint; file “named.ca”; }; include “/etc/named.rfc1912.inters”; include “/etc/named.root.key”; };
在这里插入图片描述
systemctl restart named
测试: 分别在2个网段的主机中作同样域名的地址解析 得到的A记录不同
在这里插入图片描述在这里插入图片描述

7.dns集群

主dns:

 zone "westos.com" IN {       
  type master;       
   file "westos.com.zone";       
    allow-update { none; };        also-notify { 192.168.0.30; }; ##主动通知的辅助dns主机 }; 

在这里插入图片描述

 vim /var/named/westos.com.zone 

在这里插入图片描述
slave dns:

dnf install bind -y 
firewall-cmd --add-service=dns 
vim /etc/named.conf

listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;

 `vim /etc/named.rfc1912.zone` 

zone “westos.com” IN {
type slave; ##dns状态位辅助dns
masters { 192.168.0.20; }; ##主dns
file “slaves/westos.com.zone”; ##同步数据文件 };

在这里插入图片描述
systemctl restart named

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

8.dns的更新

dns基于ip地址的更新:
在dns中设定:

  vim /etc/named.rfc1912.zones

zone “westos.com” IN { type master; file “westos.com.zone”; allow-update { 192.168.0.10; }; ##允许指定客户端更新westos域 also-notify { 192.168.0.30; }; };

在这里插入图片描述
测试: 在192.168.0.10 [root@rhel7_node1 ~]
在这里插入图片描述在这里插入图片描述

dns基于key更新的方式:

dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westos 
cp -p /etc/rndc.key /etc/wesots.key
 vim /etc/wesots.key 

在这里插入图片描述
key “westos” { algorithm hmac-sha256; secret “SB1tQcLaWeroU9lGW21zeA==”; };
在这里插入图片描述在这里插入图片描述

  vim /etc/named.conf 

43 include “/etc/wesots.key”;
在这里插入图片描述

   vim /etc/named.rfc1912.zones
zone "westos.com" IN {        type master;        file "westos.com.zone";        allow-update { key westos; };        also-notify { 192.168.0.30; }; }; 

在这里插入图片描述

systemctl restart named
在这里插入图片描述在这里插入图片描述在这里插入图片描述

9.ddns(dhcp+dns)

 dnf instsall dhcp-server -y
  vim /etc/dhcpd/dhcpd.conf

dhcpd.conf option domain-name “westos.com”; option domain-name-servers 192.168.0.20;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.51 192.168.0.80; option routers 192.168.0.1; } key
westos {
algorithm hmac-sha256;
secret SB1tQcLaWeroU9lGW21zeA==;
};
zone westos.com. {
primary 127.0.0.1;
key westos; }
dns的key更新 测试:
设定测试主机网络工作方式为dhcp 设定主机名称test.westos.com 重启网络 dig test.westos.com 可以得到正确解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用bind(Berkeley Internet Name Domain)来部署DNS服务器。以下是在Linux系统上使用bind部署DNS服务器的步骤: 1. 安装bind软件包:在Linux系统上,使用包管理器安装bind软件包(通常是bind-utils和bind)。例如,在Ubuntu上,可以使用以下命令安装bind9软件包: ``` sudo apt-get update sudo apt-get install bind9 ``` 2. 配置bind:在安装了bind之后,需要对其进行配置。首先,需要编辑named.conf文件,该文件位于/etc/bind/目录下。可以使用以下命令打开该文件进行编辑: ``` sudo nano /etc/bind/named.conf ``` 在该文件,可以定义域名和DNS服务器的设置。例如,以下是一个简单的配置: ``` zone "example.com" { type master; file "/etc/bind/db.example.com"; }; ``` 这个配置告诉bind,它是一个主DNS服务器,负责管理example.com域名,并且它的数据存储在/etc/bind/db.example.com文件。 3. 创建区域文件:在上面的配置,我们指定了数据存储在/etc/bind/db.example.com文件,所以需要创建该文件。可以使用以下命令创建区域文件: ``` sudo nano /etc/bind/db.example.com ``` 在该文件,可以定义域名服务器和其它DNS记录(例如A记录、CNAME记录等)。例如,以下是一个简单的配置: ``` $TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( 2019022001 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ; minimum TTL ) IN NS ns1.example.com. ns1 IN A 192.168.1.1 ``` 这个配置定义了example.com域名服务器的IP地址是192.168.1.1。 4. 启动bind:完成配置后,可以启动bind服务。可以使用以下命令启动bind: ``` sudo service bind9 start ``` 5. 测试DNS服务器:最后,可以使用dig命令来测试DNS服务器是否正常工作。例如,以下命令将查询example.com域名服务器的IP地址: ``` dig example.com ``` 以上是在Linux系统上使用bind部署DNS服务器的基本步骤。根据实际需要,还可以进行更复杂的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值