DNS主从服务器

DNS Server:
1.如果查询请求是本机所负责的区域的数据,要通过查询区域数据文件返回结果;
2.如果查询请求不是本机所负责的区域的数据,就查询缓存;
3.如果缓存中没有答案,则向根发起请求;


通知机制:主服务器更新数据之后向辅助服务区发送通知,要求同步。
区域传送:
增量:axfr
完全:ixfr
在一个区域内主的只能有一个,从的可以有多个


转发器
vim  /etc/named.conf
options {
forworders;
}
zone "westos.com"  IN  {
type forword;
forworders { 172.16.0.1;  }
};
转发类型
first s1向s2发起查询,若s2不给s1递归,s1向根发起查询
only仅转发给s2若s2没反应则没结果
rndc:named服务远程控制工具,默认情况在本地执行


在域名服务商注册westos.com
提供两台DNS服务器dns.westos.com A 172.16.100.1 
ns.westos.com A 172.16.100.2




1.装软件
yun install bind -y
2.编辑配置文件
chmod :named /etc/named.conf ./*
1.named-checkconfig    ###检查/etc/named.conf语法正确性
2.named-checkzone  "localhost"  /var/named/localhost.zone ###检查区域文件
3.named-checkzone  "0.0.127.in-addr.arpa"  /var/named/named.local
service named configtest  123同时检查
service named start
netstat -tunpl |grep  ":53\>"
dig -t A localhost/....
建名称服务器
zone "westos.com" IN {
type master;
file "westos.com.zone";
}
zone "16.172.in-addr.arpa"{
type master;
file "172.16.zone"
}
cd /var/named
vim westos.com.zone
$TTL 600
$ORIGIN westos.com
@ IN SOA dns.westos.com admin.westos.com(
2016120101
1H
10W
7D
1D)


IN NS dns
IN NS ns2
IN   MX   10 mail
dns IN A 172.16.100.1
ns2 IN A 172.16.100.2
mail IN A 172.16.100.3
www     IN A 172.16.0.1
www IN A   172.16.100.1  ###A与CNAME不能同时使用
pop IN A 172.16.1.1
*****************************************
cp westos.com.zone 172.16.zone
vim 172.16.zone 


$TTL 600
@ IN SOA dns.westos.com admin.westos.com(
2016120101
1H
10W
7D
1D)


IN NS dns
IN NS ns2.westos.com
1.100 IN PTR dns.westos.com
2.100 IN PTR ns2.westos.com
3.100 IN   PTR mail.westos.com
1.0 IN PTR www.westos.com
1.1 IN PTR pop.westos.com
****************************************************
checkzone "westos.com" westos.com.zone 
named-checkzone "16.172.in-addr.arpa" 172.16.zone
改hosts指向本机
service named restart


dig,host命令不会查询本地host文件
gethostip 会先去找host文件若没有再去查DNS服务器


给rndc加上控制功能
service rndc reload
rndc-confgen
rndc-confgen > /etc/rndc.conf
vim /etc/rndc.conf
:.,$w >> /etc/named.conf
vim /etc/named.conf
:.,$-1s@^#@@g
options{
directory ...
statistics-file "/var/named/stats";
listen-on port 53 {127.0.0.1; 172.16.100.1;} ###指定ip使用53端口
};
touch /var/named/stats
chown named:named /var/named/stats
setenforce 0
rndc stats


手动区域传送
dig -t axfr westos.com @172.16.100.1


从服务器
yum install bind -y
vim /etc/named.conf
options{
directory "/var/named";
listen-on port 53 {127.0.0.1; 172.16.100.2;}
};
zone "." IN {
type hint ;
file "name.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};


scp 172.16.100.1:/var/named/{named.ca,localhost.zone,named.local} ./
rndc-confgen > /etc/rndc.conf
vim /etc/rndc.conf
:.,$w >> /etc/named.conf
vim /etc/named.conf
:.,$-1s@^#@@g
chmod :named /etc/named.conf ./*
service named configtest  
service named start
vim /etc/named.conf
zone "westos.com" IN {
type slave;
master {172.16.100.1;};
file "slaves/westos.com.zone";
};
zone "16.172.in-addr.arpa" IN {
type slave;
master { 172.16.100.1;};
file "slaves/172.16.zone";
};
rndc reconfig



vim /etc/named/westos.com.zone
2016120101--->2016120102
添加
imap IN A 172.16.2.1
rndc reload
dig -t imap.westos.com @172.16.100.1



cat slaves/westos.com.zone


若只允许从服务器进行正向传送

vim /etc/named.conf
在westos.com 和16.172.in-addr.arpr
添加
allow-transfer {172.16.100.2;};
rndc reload



dig -t axfr westos.com @172.16.100.1


这样有些麻烦,可以定义访问控制列表

vim /etc/named.conf
acl OURSLAVES{
127.0.0.1;
172.16.100.2;
};
acl OURCLIENTS{
172.16.0.0/16;
};


allow-transfer{OURSLAVES;};  ##都改为这个
rndc reload


如果只允许一部分递归
在options添加
allow-recursion {OURCLIENTS;};
### DNS主从服务器搭建配置教程 #### 1. 环境准备 为了成功搭建DNS主从服务器,需要完成以下准备工作: - 准备两台CentOS 7主机作为主DNS和从DNS服务器。 - 关闭防火墙和服务安全机制SELinux[^2]。 - 安装BIND软件包,在两台服务器上执行命令 `yum install bind*`。 #### 2. 主DNS服务器配置 ##### 2.1 编辑主配置文件 `/etc/named.conf` 修改主DNS服务器上的主要配置文件 `/etc/named.conf`,调整如下参数: - 设置监听地址:`listen-on { any; };` 表示允许任何网络接口接收请求。 - 允许查询范围:`allow-query { any; };` 让所有设备都能发起DNS查询。 - 添加传输权限:`allow-transfer { IP_of_Slave_DNS_Server; };` 明确指定哪些IP可以从主服务器获取数据副本[^2]。 ##### 2.2 创建或编辑区域配置文件 在 `/etc/named.rfc1912.zones` 文件中定义要解析的域名及其对应的正向和反向解析记录。例如: ```bash zone "yuanyu.zhangmin" IN { type master; file "/var/named/yuanyu.zhangmin.zone"; allow-update { none; }; }; ``` 此处声明了一个名为 `"yuanyu.zhangmin"` 的区域,并指定了其存储位置为 `/var/named/yuanyu.zhangmin.zone`[^4]。 ##### 2.3 配置正向解析文件 创建并填写正向解析文件 `/var/named/yuanyu.zhangmin.zone` ,内容类似于下面这样: ```text $TTL 86400 @ IN SOA ns1.yuanyu.zhangmin. admin.yuanyu.zhangmin. ( 20230101 ; Serial number 3600 ; Refresh time interval 1800 ; Retry time interval 604800 ; Expire time after which zone is no longer authoritative 86400 ; Minimum TTL value for negative responses ) NS ns1.yuanyu.zhangmin. ns1 A 192.168.118.53 www CNAME yuanyu.zhangmin. bbs A 192.168.118.54 co A 192.168.118.55 ``` 此部分设置了几个子域分别指向不同IP地址[^4]。 #### 3. 从DNS服务器配置 ##### 3.1 修改主配置文件 `/etc/named.conf` 同样需更改 `/etc/named.conf` 来支持从属角色操作。增加类似这样的条目: ```bash options { directory "/var/named"; }; zone "yuanyu.zhangmin" IN { type slave; masters { MASTER_IP_ADDRESS; }; file "slaves/yuanyu.zhangmin.db"; }; ``` 这里表明当前是从节点身份,且知道上游主服务的位置(通过替换掉 `MASTER_IP_ADDRESS` 实际数值)。注意保存后的数据库路径可能有所差异[^2]。 #### 4. 同步与测试 启动两个名字服务进程并通过指令检查状态是否正常运行 (`systemctl start named`) 和查看日志消息确认无误后即可尝试实际功能验证。利用工具 dig 或者 nslookup 测试能否正确返回预期的结果集[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值