Linux下的DNS服务

将server做成一个dns主服务器

安装DNS

yum search dns ##查看dns软件 

yum install bind.x86_64 ##安装 

systemctl start named ##启动服务,密码库存不够需手敲键盘

cat /etc/services | grep domain ##查看domain服务的信息 

firewall-cmd --permanent --add-service=dns ##配置火墙服务 
firewall-cmd --reload 
firewall-cmd --list-all 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置server

netstat -antlupe | grep named ##查看53端口 
 
vim /etc/named.conf ##编辑配置文件
options{
    listen-on port 53 { any; }; ##端口权限为所有人
    ...
    allow-query { any; };   ##用户权限为所有人
    forwarders  { 114.114.114.114; }; ##指定被询问时,自动查找的网站
    ...
    dnssec-validation no;##是否进行DNSSEC确认开关 
    }

/etc/named.conf(主配置文件):只有58行,而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义bind服务程序的运行。

/etc/named.rfc1912.zones(区域配置文件):用来保存域名和IP地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应IP地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。

/var/named(数据配置文件目录):该目录用来保存域名和IP地址真实对应关系的数据配置文件。

Listen-on port 53 {any;};监听的端口的ip Allow-query {any;};允许请求的ip
forwarders{114.114.114.114;}; 指定被询问时,自动查找的网站
dnssec-enable: 是否支持DNSSEC开关,默认为yes。
dnssec-validation:是否进行DNSSEC确认开关,默认为no。
dnssec-accept-expired: 接受验证DNSSEC签名过期的信号,默认为no。
dnssec-lookaside:当设置dnssec-lookaside,它为验证器提供另外一个能在网络区域的顶层验证DNSKEY的方法。
dnssec-must-be-secure:指定验证等级,如果选yes,named只接收安全的回应,如果选no,一般的dnssec验证将允许接收不安全的回应。

systemctl restart named 
netstat -antlupe | grep 53 ##查看53端口(看效果) 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第11、17、18、33行修改如下:
在这里插入图片描述
在这里插入图片描述
搭建完成
在这里插入图片描述

DNS高速缓存

用desktop做测试
首先给虚拟机desktop连上真机的网络【上篇讲过连网】
然后配置询问的服务器vim /etc/reslov.conf 给里面添加 nameserver 172.25.254.201 ##这里的ip是DNS主服务器的ip
在这里插入图片描述
在这里插入图片描述
配置完成,开始测试

***server 先缓存
在这里插入图片描述
在这里插入图片描述
***用client测试
可以明显的看出缓存之后。client的dig速度超级块
在这里插入图片描述
在这里插入图片描述

正向解析

vim /etc/named.conf     ##编辑主配置文件(前面已经编辑过)
    只需要将18行的网址一整行删除(此时不需要上网,配置私人DNS服务器)
vim /etc/named.rfc1912.zones     ##编辑区域配置文件
cd /var/named/ 
cp -p named.localhost  westos.com.zone 
vim /var/named/westos.com.zone
systemctl restart named

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加25–29行内容
在这里插入图片描述
注意:cp 要是-p复制,这可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容
在这里插入图片描述
默认有后缀 .any.com在这里插入图片描述
在这里插入图片描述
如果重启失败,先清空日志,再重启查看日志信息。

>/var/log/message
systemctl restart name
cat /var/log/message

测试
在这里插入图片描述

反向解析

 vim /etc/named.rfc1912.zones
 cd /var/named/ 
 cp -p named.loopback westos.com.ptr
 vim westos.com.ptr
 systemctl restart named

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

分权限设定(内外网)

vim /etc/named.conf 
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter
vim /etc/named.rfc1912.zones.inter
cd /var/named/
cp -p westos.com.zone westos.com.inter 
vim westos.com.inter

在这里插入图片描述
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
修改第27行内容,删除49反向解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

主DNS和副DNS

主更新副同步

在主DNS上
将之前的多向解析内容删除,简化实验环境

vim /etc/named.conf       
vim /etc/named.rfc1912.zones
systemctl restart named

在这里插入图片描述
新开启一台虚拟机
进行安装dns步骤
在副DNS上

  vim /etc/resolv.conf ##指向自己,方便实验测试,在dig时候查询的是本机
  vim /etc/named.conf
      两个any,一个no
  cd /var/named
  vim /etc/named.conf
  vim /etc/named.rfc1912.zones

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

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

 cp -p westos.com.zone /mnt/ ##为接下来的实验做准备,可以恢复数据

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
测试
在这里插入图片描述
发现副dns没有更新,没有同步成功,原因是主服务器中的/var/named/any.com.zone文件中的serial值没有更改,系统默认没有变化(就是之前在/etc/named.rfc1912.zones中配置的,当产生变化时,告诉辅助服务器,但是此时系统默认不告诉它,因为没有变化)
在这里插入图片描述
下面更改serial值
在这里插入图片描述
重启后
在副dns上测试,发现同步成功
在这里插入图片描述

DNS的远程更新

副更新主同步
查看selinux的状态—>Disabled 状态
如果是Enforcing状态
getsebool -a | grep named —可以看到named_write_master_zones时off状态
setsebool -P named_write_master_zones on 开启
在这里插入图片描述
在这里插入图片描述

cp -p /var/named/any.com.zone /mnt/

在这里插入图片描述
在这里插入图片描述
systemctl restart named
在副DNS端更新
在这里插入图片描述
DNS主服务器中,测试远程更新成功
在这里插入图片描述
主DNS中 /var/named/ 可以查看到一个jnl结尾的数据,此时any.com.zone文件内容没有改变,不包含bbs.any.com的地址解析信息。但是重启后,会发现any.com.zone发生了变化。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
实验还原

cd /var/named/
rm -fr any.com.zone*
cp -p /mnt/any.com.zone .       ---将原来备份的数据拷贝回来
systemctl restart named         ---重启named服务,此时实验还原到更新之前

在这里插入图片描述

加密传输

rm -rf westos.com.zone*
cp -p /etc/rndc.key /etc/westos.key
cp -p /mnt/westos.com.zone /var/named/
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
vim /etc/westos.key
1 key “westos” {
2 algorithm hmac-md5;
3 secret “dUnXFNK5YcLJ2ZEyq6L3+w==”;
4 };

vim /etc/named.conf
43 include “/etc/westos.key”;
1

vim /etc/named.rfc1912.zones
25 zone “westos.com” IN {
26 type master;
27 file “westos.com.zone”;
28 allow-update { key westos; };
29 also-notify { 172.25.254.223; };
30 };

chmod g+w /var/named/
setsebool -P named_write_master_zones 1
在副DNS上更新
进入密码文件
[root@dns-slave mnt]# nsupdate -k Kwestos.+157+08988.private

server 172.25.254.123
update add devin.westos.com 86400 A 172.25.254.111
send
quit
update delete devin.westos.com
send
quit

测试:dig devin.westos.com
动态域名解析
rm -rf westos.com.zone*
cp -p /mnt/westos.com.zone /var/named/
systemctl restart named
服务主机安dhcpd
yum install dhcp.x86_64 -y
systemctl start dhcpd
firewall-cmd –permanent –add-service=dhcp
firewall-cmd –reload
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

 7 option domain-name "westos.com";
 8 option domain-name-servers 172.25.254.123;

14 ddns-update-style interim;

28 subnet 172.25.254.0 netmask 255.255.255.0 {
29 range 172.25.254.80 172.25.254.88;
30 option routers 172.25.254.123;
31 }
32
33 key westos {
34 algorithm hmac-md5;
35 secret 9FiqehIwbOLbTph8zEa/hg==;
36 }
37
38 zone westos.com. {
39 primary 172.25.254.123;
40 key westos;
41 }

systemctl restart dhcp
测试:另一台虚拟机,名称改为devin.westos.com
IP 选择为dhcp分配方式
systemctl restart network
ifconfg
dig devin.westos.com
DNS安装软件,虚拟机
主DNS服务器上
yum install system-config-kickstart -y
yum install httpd -y
system-config-kickstart
生成自动安装引导ks.cfg文件,存放在/var/www/html/下
vim /var/www/html/ks.cfg

展开阅读全文

没有更多推荐了,返回首页