DNS搭建

article/2025/11/7 15:51:49

环境

server1:bigpeng1         IP:172.25.1.101       GW:172.25.1.1        DNS:172.25.1.101

server2:bigpeng2 IP:172.25.1.102 GW:172.25.1.1 DNS:172.25.1.101

client:win10 IP:172.25.1.100 GW:172.25.1.1 DNS:172.25.1.101

主域名服务器(server1):特定DNS区域的服务器,具有唯一性。负责维护该区域所有域名映射IP记录

从域名服务器(server2):IP来源于主域名服务器

软件包:bind                        服务名:named                                端口:53

前提

网络配置完成、yum正常

安装软件bind.x86_64

[root@bigpeng1 ~]# yum install bind -y
[root@bigpeng1 ~]# rpm -qa | grep bind    #查看安装是否成功
bind-license-9.9.4-50.el7.noarch
bind-libs-9.9.4-50.el7.x86_64
bind-libs-lite-9.9.4-50.el7.x86_64
bind-9.9.4-50.el7.x86_64

一、单台DNS配置

修改主DNS服务器配置文件

[root@bigpeng1 ~]# vim /etc/named.conf
listen-on port 53 { 172.25.1.101; };                       #监听网卡及端口
directory       "/var/named";                              #DNS解析记录位置
dump-file       "/var/named/data/cache_dump.db";           #缓存备份文件
statistics-file "/var/named/data/named_stats.txt";         #状态备份文件
memstatistics-file "/var/named/data/named_mem_stats.txt";  #内存状态备份
allow-query     { any; };                                  #允许所有人访问
recursion yes;                                             #递归查询,删除是迭代查询zone "." IN {                                              #根DNS配置
type hint;                                                 #服务器类型:根DNS
file "named.ca";                                    #根DNS信息保存位置/var/named/named.ca
};
#包含子配置,把下列文件加载到主配置文件中
include "/etc/named.rfc1912.zones";                #声明DNS区域文件
include "/etc/named.root.key";                     #访问根DNS需要的秘钥

配置正反向区域文件

[root@bigpeng1 ~]# vim /etc/named.rfc1912.zones 
#在文档末尾添加如下内容
zone "bigpeng.com" IN {                   #正向解析域名type master;                      #类型:主DNSfile "bg.com.zone";               #主机名与IP对应关系配置文件allow-update { none; };           #区域传送
};zone "1.25.172.in-addr.arpa" IN {         #反向解析域名的IP地址type master;file "172.25.1.zone";allow-update { none; };
};

配置域名映射IP

[root@bigpeng1 ~]# cd /var/named/
[root@bigpeng1 named]# cp -p named.localhost bg.com.zone
[root@bigpeng1 named]# cp -p named.loopback 172.25.1.zone

 域名→IP

[root@bigpeng1 named]# vim bg.com.zone $TTL 1D           #生存周期一天
@       IN SOA  bigpeng.com. rname.invalid. (0       ; serial     #序列号1D      ; refresh     #每隔一天检查序列号更新1H      ; retry       #同步失败每隔一小时检查序列号更新1W      ; expire      #辅DNS与主DNS断开连接一周后不响应客户端解析3H )    ; minimum     #最小生存周期(缓存最大生存时间)NS      ns1.bigpeng.com.
ns1     A       172.25.1.101
ns2     A       172.25.1.102
www     A       172.25.1.103
# @代表域名,IN跳转指针,引出后面内容;SOA起始授权记录,引出后面参数;域名要在末尾加“.”

IP→域名

[root@bigpeng1 named]# vim 172.25.1.zone $TTL 1D
@       IN SOA  bigpeng.com. rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns1.bigpeng.com.
101     PTR     ns1.bigpeng.com.
102     PTR     ns2.bigpeng.com.
103     PTR     www.bigpeng.com.   

语法检查

[root@bigpeng1 named]# named-checkconf /etc/named.conf
[root@bigpeng1 named]# named-checkzone bigpeng.com /var/named/bg.com.zone 
zone bigpeng.com/IN: loaded serial 0
OK
[root@bigpeng1 named]# named-checkzone 1.25.172.in-addr.arpa /var/named/172.25.1.zone 
zone 1.25.172.in-addr.arpa/IN: loaded serial 0
OK

打开53端口

[root@bigpeng1 named]# firewall-cmd --permanent --add-service=dns
success
[root@bigpeng1 named]# firewall-cmd --reload
success

开启服务

[root@bigpeng1 ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@bigpeng1 ~]# systemctl start named

使用client测试

 (能正常完成解析)

二、dns主备

主服务器允许区域传送到从服务器上

[root@bigpeng1 named]# vim /etc/named.rfc1912.zones 
zone "0.in-addr.arpa" IN {type master;file "named.empty";allow-update { 172.25.1.102; };
};zone "bigpeng.com" IN {type master;file "bg.com.zone";allow-update { 172.25.1.102; };
};

 

 

 加载配置文件

[root@bigpeng1 named]# systemctl reload named

备份服务器配置

安装软件

[root@bigpeng2 ~]# yum install -y bind

修改配置文件

[root@bigpeng2 ~]# vim /etc/named.conf
options {listen-on port 53 { 172.25.1.102; };listen-on-v6 port 53 { ::1; };directory       "/var/named";dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query     { any; };
[root@bigpeng2 ~]# vim /etc/named.rfc1912.zones
zone "bigpeng.com" IN {type slave;file "slaves/bg.com.zone";masters { 172.25.1.101;};
};zone "1.25.172.in-addr.arpa" IN {type slave;file "slaves/172.25.1.zone";masters { 172.25.1.101;};
};

打开dns端口

[root@bigpeng2 ~]# firewall-cmd --permanent --add-service=dns
success
[root@bigpeng2 ~]# firewall-cmd --reload
success

 启动dns服务

[root@bigpeng2 ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@bigpeng2 ~]# systemctl start named

主服务器会向从服务器传送区域配置文件

[root@bigpeng2 ~]# ls /var/named/slaves/
172.25.1.zone  bg.com.zone

测试

 

 三、dns缓存

主服务器增加ns记录

 重载

[root@bigpeng1 named]# systemctl reload named

安装软件

[root@bigpeng3 ~]# yum install -y bind bind-devel bind-chroot

 修改配置文件

[root@bigpeng3 ~]# vim /etc/named.conf
options {listen-on port 53 { 172.25.1.103; };listen-on-v6 port 53 { ::1; };directory       "/var/named";dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query     { any; };forward only;forwarders { 172.25.1.101;172.25.1.102; };
[root@bigpeng3 ~]# firewall-cmd --permanent --add-port=53/udp
success
[root@bigpeng3 ~]# firewall-cmd --reload
success
[root@bigpeng3 ~]# systemctl start named

测试

将dns安全关闭即可

[root@bigpeng3 ~]# vim /etc/named.conf35 //      dnssec-enable yes;36 //      dnssec-validation yes;37         dnssec-enable no;38         dnssec-validation no;[root@bigpeng3 ~]# systemctl reload named

四、dns转发

添加主DNS服务器和辅助DNS服务器配置文件。(虚拟机能够访问网站)

[root@bigpeng1 ~]# vim /etc/named.confforward first;forwarders { 114.114.114.114; };[root@bigpeng1 ~]# systemctl restart named

 将主服务器的dns地址指向114.114.114.114

 

[root@bigpeng1 ~]# nmcli con show eth1 | grep DNS
IP4.DNS[1]:                             114.114.114.114

主服务器上测试连通性

[root@bigpeng1 ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=59.1 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=57.5 ms
^C
--- 114.114.114.114 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 57.522/58.314/59.107/0.828 ms
[root@bigpeng1 ~]# ping www.qq.com
PING ins-r23tsuuf.ias.tencent-cloud.net (112.53.42.114) 56(84) bytes of data.
64 bytes from 112.53.42.114 (112.53.42.114): icmp_seq=2 ttl=128 time=51.4 ms
64 bytes from 112.53.42.114 (112.53.42.114): icmp_seq=3 ttl=128 time=47.0 ms
64 bytes from 112.53.42.114 (112.53.42.114): icmp_seq=4 ttl=128 time=51.3 ms
^C
--- ins-r23tsuuf.ias.tencent-cloud.net ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3009ms
rtt min/avg/max/mdev = 47.011/49.919/51.444/2.073 ms

客户端dns指向172.25.1.103

 

五、dns视图

dns视图配置可以更好的控制客户端的查询结果,提高网络质量

[root@bigpeng1 named]# vim /etc/named.conf12   options {13         listen-on port 53 { 172.25.1.101;10.10.10.101; };53 acl case1 { 172.25.1.0/24; };54 acl case2 { 10.10.10.0/24; };55 view "bg" {56         match-clients {case1;};57         zone "bigpeng.com" IN {58                 type master;59                 file "bg.com.zone";60                 allow-update { 172.25.1.102; };61         };62 63         zone "1.25.172.in-addr.arpa" IN {64                 type master;65                 file "172.25.1.zone";66                 allow-update { 172.25.1.102; };67         };68 69         zone "." IN {        #将区域写在view或将其删除70                 type hint;71                 file "named.ca";72         };73 };74 75 view "rr" {76         match-clients {case2;};77         zone "rr.com" IN {78                 type master;79                 file "rr.com.zone";80                 allow-update { 172.25.1.102; };81         };82 83         zone "10.10.10.in-addr.arpa" IN {84                 type master;85                 file "10.10.10.zone";86                 allow-update { 172.25.1.102; };87         };88 };

 配置正反向区域文件

[root@bigpeng1 named]# tail bg.com.zone rr.com.zone 
==> bg.com.zone <==1H	; retry1W	; expire3H )	; minimumNS	ns1.bigpeng.com.NS	ns2.bigpeng.com.NS	ns3.bigpeng.com.
ns1	A	172.25.1.101
ns2	A	172.25.1.102
ns3	A	172.25.1.103
www	A	172.25.1.103==> rr.com.zone <==1H	; retry1W	; expire3H )	; minimumNS	ns1.rr.com.NS	ns2.rr.com.NS	ns3.rr.com.
ns1	A	10.10.10.101
ns2	A	10.10.10.102
ns3	A	10.10.10.103
www	A	10.10.10.103
[root@bigpeng1 named]# tail 172.25.1.zone 10.10.10.zone 
==> 172.25.1.zone <==1H	; retry1W	; expire3H )	; minimumNS	ns1.bigpeng.com.NS	ns2.bigpeng.com.NS	ns3.bigpeng.com.
101	PTR	ns1.bigpeng.com.
102	PTR	ns2.bigpeng.com.
103	PTR	ns3.bigpeng.com.
103	PTR	www.bigpeng.com.==> 10.10.10.zone <==1H	; retry1W	; expire3H )	; minimumNS	ns1.rr.com.NS	ns2.rr.com.NS	ns3.rr.com.
101	PTR	ns1.rr.com.
102	PTR	ns2.rr.com.
103	PTR	ns3.rr.com.
103	PTR	www.rr.com.

重启服务进行测试

[root@bigpeng1 named]# ip a| grep globalinet 172.25.1.101/24 brd 172.25.1.255 scope global ens33inet 10.10.10.101/24 brd 10.10.10.255 scope global ens37[root@bigpeng1 named]# nmcli con show eth1 | grep DNS
IP4.DNS[1]:                             172.25.1.101
IP4.DNS[2]:                             10.10.10.101[root@bigpeng1 named]# netstat -antp | grep 53
tcp        0      0 10.10.10.101:53         0.0.0.0:*               LISTEN      4039/named          
tcp        0      0 172.25.1.101:53         0.0.0.0:*               LISTEN      4039/named          
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      4039/named          
tcp6       0      0 ::1:53                  :::*                    LISTEN      4039/named          
tcp6       0      0 ::1:953                 :::*                    LISTEN      4039/named[root@bigpeng1 named]# dig @172.25.1.101 www.bigpeng.com +short
172.25.1.103
[root@bigpeng1 named]# dig @10.10.10.101 www.rr.com +short
10.10.10.103


http://chatgpt.dhexx.cn/article/DsDRxoBT.shtml

相关文章

基于bind的DNS服务器搭建

文章目录 域名分类域名解析顺序搭建DNS服务器 域名分类 国家域名可分为顶级域名、二级域名&#xff0c;三级域名。 按管理机构的不同分为.com、.net、.org、.cc 、.tv等根域为后缀的域名 缓存域名服务器&#xff1a;通过向其他域名服务器查询获得域名解析记录&#xff0c;将查…

DNS服务器的原理及搭建

文章目录 原理搭建DNS服务器正向解析 原理 DNS&#xff08;Domain Name System&#xff09;是互联网上的一项服务&#xff0c;它作为将 域名 和 IP 地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网。 想要了解域名&#xff08;Domain Name&#xff09;…

简述DNS原理,搭建主-辅服务器,搭建智能DNS

文章目录 一、DNS是什么二、DNS的域名解析过程三、搭建主辅DNS服务器1.设置主DNS服务器2.设置辅DNS服务器 四、访问控制&#xff0c;子域授权五、使用bind搭建智能DNS 一、DNS是什么 DNS(Domain Name Service的缩写)的作用就是根据域名查出IP地址。IP地址是由32位二进制数字组…

搭建DNS服务器实现域名解析

一、DNS服务的概述 1、DNS概述 DNS&#xff08;Domain Name System&#xff09;域名系统&#xff0c;在TCP/IP 网络中有非常重要的地位&#xff0c;能够提供域名与IP地址的解析服务&#xff0c;而不用去记住能够被机器直接读取的IP数串。 通过域名&#xff0c;最终得到该域名对…

DNS智能解析的搭建与配置

分类&#xff1a; LINUX 原文地址&#xff1a;DNS智能解析的搭建与配置 作者&#xff1a;十年梦生 9月份整整忙了一个月&#xff0c;都抽不出时间来写篇文章&#xff0c;这几天趁着10.1终于有时间来写些东西了&#xff0c;将9月份所做的一些东西来做下总结。 今天先写个DNS智能…

基于bind搭建智能dns

题目要求 1.step 1 : 搭建bind服务器&#xff0c;完成对域名 bs.你的名字.org 配置 2.step 2&#xff1a;完成对出口ip的归属地查询 3.step 3&#xff1a;构建归属地acl&#xff0c;完成对不同主机匹配智能解析 4.step 4&#xff1a;利用dig&#xff08;加trace参数&#xff0…

实现智能DNS

文章目录 1 实现智能DNS1.1 GSLB1.2 CDN(Content Delivery Network)内容分发网络1.2.1 CDN工作原理1.3 智能DNS相关技术1.3.1 bind中ACL1.3.2 bind有四个内置的acl1.3.3 访问控制的指令1.3.4 view视图1.3.4.1 view&#xff1a;视图&#xff0c;将ACL和区域数据库实现对应关系&a…

bind搭建智能DNS

小生不才&#xff0c;明知文拙脑蠢&#xff0c;却喜挥笔泼墨&#xff0c;畅叙幽情。才疏学浅&#xff0c;未能熟读圣贤之书&#xff0c;以至学识浅薄&#xff0c;明然众人也&#xff0c;有何不足处望不吝赐教。 DNS域名解析服务(Domain Name System)是用于解析域名与IP地址…

DNS服务搭建

目录 DNS简介 DNS解析原理 DNS的相关配置 DNS主从服务 DNS缓存服务 DNS智能解析&#xff08;分离解析&#xff09; DNS简介 DNS的功能 DNS 域名系统(Domain Name System) 的缩写&#xff0c;它的功能是将域名解析成ip。我们日常上网浏览网页时&#xff0c;在浏览器&#…

基于Java的Cplex入门

Cplex是一种数学优化技术。主要用于提高效率、快速实现策略并提高收益率。Cplex提供灵活的高性能优化程序&#xff0c;解决线性规划 (Linear Programming)、二次方程规划 (Quadratic Programming)、二次方程约束规划 (Quadratically Constrained Programming) 和混合整型规划 (…

python 调用cplex-学术版

转载 https://zhuanlan.zhihu.com/p/101713127 本文要解决的问题&#xff08;默认你已经对python有一定的使用经验&#xff09;&#xff1a;如何用python调用cplex求解器。 这次不能信官网&#xff0c;害我踩了一下午坑(其实是官网表述文件和实际不符&#xff0c;而且还少了一…

CPLEX教程 | Cplex介绍,CPLEX教育版和安装Cplex

前言 最近学习列生成算法&#xff0c;需要用到优化求解器。所以打算学习一下cplex这个商业求解器。 当然也有其他更多的选择&#xff0c;这里暂时以比较容易上手和性能比较好的cplex开始吧。其实&#xff0c;小编也早就想学习使用这个cplex了&#xff0c;毕竟是个好东西。 所…

cplex求解1

python环境下cplex安装 发现了一个简单的方法&#xff0c;直接使用 Anaconda 安装 cplex 包&#xff0c;因为 cplex 把自己最新的 python 包都发到 Anaconda 云里面了。 &#xff08;1&#xff09;打开 dos 命令行窗口&#xff0c;输入&#xff1a; conda install -c IBMDeci…

基于Cplex的分支定价

前言 分支定界&#xff08;branch and bound&#xff09;和分支定价&#xff08;branch and price&#xff09;仅一字之差&#xff0c;这两者之间也有着紧密联系&#xff0c;简单来说分支定价分支定界列生成。个人觉得在运筹学领域&#xff0c;分支定价算法也算是比较高级的算…

安装 cplex 求解器

安装 cplex 求解器 安装 cplex 求解器和python-docplexcplex 安装matlab 用户安装 cplexpython 版本 安装 cplex 求解器和python-docplex cplex 安装 cplex 是解决优化问题的一个工具箱&#xff0c;用来线性规划、混合整数规划和二次规划的高性能数学规划求解器。可以理解成…

Python配置CPLEX

大致的安装步骤如下 1.百度搜索CPLEX&#xff0c;进入官网&#xff0c;获取许可后&#xff0c;下载并安装&#xff08;要能找到自己的安装路径&#xff09; 2.安装完成后&#xff0c;可以直接用ide进行编程&#xff0c;但是&#xff0c;还可以用Python来调用CPLEX 3.给Pytho…

C++用户的Cplex使用指南(一)——在VS2019中运行Cplex程序

在VS2019中运行Cplex程序 前言 Cplex是IBM开发并仍在维护更新的商业求解器&#xff0c;也是目前使用人数最多的求解器&#xff0c;类似的还有Gurobi&#xff0c;两者各有各的特点&#xff08;两家颇有渊源&#xff0c;感兴趣的可以了解一下&#xff09;。 Cplex的一些基本概…

CPLEX相关问题汇总

求解流程 1&#xff09;定义常量&#xff1a;可以通过float、int、boolean定义常量。定义范围是为了便于对数组进行操作。 //定义常量 int F ...;//定义整型 float R...;//定义浮点型 int m...; int B ...;//定义范围 range nF1..F; range Machs 1..m;定义常量数组 //定义…

c++调用cplex的基本配置问题

1.创建c空项目 2.修改运行环境 为release以及x64 3.创建cpp文件 4。鼠标右键点击项目中的属性 5.点击c/c&#xff0c;点击第一项常规&#xff0c;配置附加库目录 5.添加文件索引&#xff0c;主要用于把路径导进来 6.这一步要添加的目录与你安装的cplex的目录有关系 F:\program…

cplex python安装及入门

cplex python安装及入门 1. cplex安装2. cplex学习资源3. 百度网盘资源 笔者最近学习cplex&#xff0c;从安装到入门走了不少弯路&#xff0c;现在提供一个相对全面的cplex学习博文。 1. cplex安装 可以参考这篇博文DOcplex系列&#xff08;二&#xff09;——怎样成功安装和调…