linux系统DNS主从+密钥认证

服务端 duwers60  192.168.20.60 主DNS

服务端 duwers61  192.168.20.61 从DNS

客户端 duwers62  192.168.20.62

目标

给公司配置一个内网DNS服务器,可以解析域名 xuegod.cn为IP:192.168.20.60。另外,为保证服务器稳定,你还要把duwers61搭建成一个从DNS服务器。

测试:配置PC客户端的DNS服务器地址为:192.168.20.60和192.168.20.61. 当把192.168.20.60网卡关闭时,ping xuegod.cn  还可以通过duwers61正常解析。

 

一、服务端操作

1、配置主DNS

1)安装程序

[root@duwers60 ~]# yum install bindbind-chroot bind-utils   -y

2)启动服务

[root@duwers60 ~]# /etc/init.d/namedrestart
Stopping named:                               [  OK  ]
Generating /etc/rndc.key:                          [  OK  ]
Starting named:                               [  OK  ]
[root@duwers60 ~]#

3)查看挂载项

wKioL1ehqFPQvgE7AABmCnwd82A260.png

4)修改本地网络配置重启服务

[root@duwers60 ~]# service network restart
Shutting down interface eth0:                        [  OK  ]
Shutting down loopback interface:                     [  OK  ]
Bringing up loopback interface:                      [  OK  ]
Bringing up interface eth0:  Determining if ip address 192.168.20.60 isalready in use for device eth0...
                                                          [  OK  ]
[root@duwers60 ~]# grep DNS1/etc/sysconfig/network-scripts/ifcfg-eth0
#DNS1=114.114.114.114
DNS1=192.168.20.60
[root@duwers60 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search duwers.space
#nameserver 114.114.114.114
#nameserver 8.8.8.8
nameserver 192.168.20.60
[root@duwers60 ~]#


5)修改DNS配置文件(//注释在上方)

[root@duwers60 ~]# grep -v '^#'/var/named/chroot/etc/named.conf
options {
    listen-onport 53 { any; };            #监听来自所有网段的请求
    listen-on-v6port 53 { any; };         #监听来自所有网段的请求
    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; };              #监听来自所有网段的请求
    recursionyes;
//指向上层服务器
    forwardonly;
    forwarders{ 114.114.114.114;};
    /*Path to ISC DLV key */
    bindkeys-file"/etc/named.iscdlv.key";
 
    managed-keys-directory"/var/named/dynamic";
};
 
logging {
       channel default_debug {
                file"data/named.run";
                severity dynamic;
       };
};
 
zone "xuegod.cn." IN {
    typemaster;
    file"xuegod.cn.zone";
    allow-transfer{192.168.20.0/24;};        #限定从DNS网段
};
 
include"/etc/named.rfc1912.zones";
include "/etc/named.root.key";

6)重启服务

[root@duwers60 ~]# service named restart
Stopping named: .                                         [  OK  ]
Starting named:                                            [  OK  ]
[root@duwers60 ~]#

 

2、配置从DNS服务器

1)安装DNS服务

[root@duwers61 ~]# yum install bindbind-chroot bind-utils   -y

2)启动服务

[root@duwers61 ~]# service named start
Generating /etc/rndc.key:                                  [确定]
启动 named:                                              [确定]
[root@duwers61 ~]#

3)修改本地网络配置,重启网络服务

[root@duwers61 ~]# service network restart
正在关闭接口 eth0:                                        [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0:Determining if ip address 192.168.20.61 is already in use for device eth0...
                                                          [确定]
[root@duwers61 ~]# grep DNS1/etc/sysconfig/network-scripts/ifcfg-eth0
#DNS1=114.114.114.114
DNS1=192.168.20.61
[root@duwers61 ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 192.168.20.61
[root@duwers61 ~]#

4)修改DNS配置文件

[root@duwers61 ~]# grep -v '^#'/var/named/chroot/etc/named.conf
 
options {
    listen-onport 53 { any; };
    listen-on-v6port 53 { any; };
    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; };
    recursionyes;
 
 
    /*Path to ISC DLV key */
    bindkeys-file"/etc/named.iscdlv.key";
 
    managed-keys-directory"/var/named/dynamic";
};
 
logging {
       channel default_debug {
                file"data/named.run";
                severity dynamic;
       };
};
 
zone "xuegod.cn" IN {
    typeslave;
    file"slaves/xuegod.cn.zone.file";
    masters{ 192.168.20.60;};
};
 
include"/etc/named.rfc1912.zones";
include "/etc/named.root.key";
 
[root@duwers61 ~]#

5)重启DNS 服务

[root@duwers61 ~]# service named restart
停止 named:.                                              [确定]
启动 named:                                              [确定]
[root@duwers61 ~]#

6)查看生成的DNS记录文件

[root@duwers61 ~]# ls/var/named/chroot/var/named/slaves/
xuegod.cn.zone.file
[root@duwers61 ~]# cat!$xuegod.cn.zone.file
cat/var/named/chroot/var/named/slaves/xuegod.cn.zone.file
$ORIGIN .
$TTL 86400 ;1 day
xuegod.cn     INSOA dns.xuegod.cn. root.xuegod.cn. (
              0          ; serial
              86400      ; refresh (1 day)
              3600       ; retry (1 hour)
              604800     ; expire (1 week)
              10800      ; minimum (3 hours)
              )
           NS  dns.xuegod.cn.
$ORIGIN xuegod.cn.
dns        A   192.168.20.60
www        A   192.168.20.60
www3          CNAME  www.xuegod.cn
[root@duwers61 ~]#

 

3、配置主从DNS密钥同步

1)从DNS主服务器60同步时间【忘记说之前已经在60机器上搭建了ntpd服务】

[root@duwers61 ~]# ntpdate 192.168.20.60
 2Aug 05:54:37 ntpdate[2829]: step time server 192.168.20.60 offset -3.443702 sec


2)主DNS服务器生成密钥

[root@duwers61 ~]# dnssec-keygen -ahmac-md5 -b 128 -n HOST abc
Kabc.+157+47348

查看密钥文件

[root@duwers61 ~]# ls | grep Kabc
Kabc.+157+47348.key
Kabc.+157+47348.private
[root@duwers61 ~]#

3)查看密钥

[root@duwers61 ~]# catKabc.+157+47348.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: mjENlU7Ef9ggUwBuSQfTKw==
Bits: AAA=
Created: 20160801215638
Publish: 20160801215638
Activate: 20160801215638
[root@duwers61 ~]#

4)主DNS配置

取消下三项注释

       dnssec-enable yes;

       dnssec-validation yes;

       dnssec-lookaside auto;

另外增加

wKioL1ehqhWxWOkeAAAbWweCCiE092.png


5)从DNS配置

        dnssec-enable yes;

       dnssec-validation yes;

       dnssec-lookaside auto;

wKiom1ehqkDSM375AAAe9J-j8KY731.png


6)主从DNS重启服务

[root@duwers60 ~]# service named restart
Stopping named:                                           [  OK  ]
Starting named:                                           [  OK  ]
[root@duwers60 ~]#

[root@duwers61 ~]# service named restart
停止 named:.                                              [确定]
启动 named:                                              [确定]
[root@duwers61 ~]#

7)再次查看zone文件【在61机器上喔】

[root@duwers61 ~]# cat/var/named/chroot/var/named/slaves/xuegod.cn.zone.file
$ORIGIN .
$TTL 86400 ;1 day
xuegod.cn     INSOA dns.xuegod.cn. root.xuegod.cn. (
              0          ; serial
              86400      ; refresh (1 day)
              3600       ; retry (1 hour)
              604800     ; expire (1 week)
              10800      ; minimum (3 hours)
               )
           NS  dns.xuegod.cn.
$ORIGIN xuegod.cn.
dns        A   192.168.20.60
www        A   192.168.20.60
www3          CNAME  www.xuegod.cn
[root@duwers61 ~]#

 

ok,同步成功

4、【测试】

目的:关闭主DNS服务器后,由从DNS负责解析DNS请求

1) 客户端PC配置:

[root@duwers ~]# ifconfig eth0
eth0     Link encap:Ethernet  HWaddr00:0C:29:33:6A:98 
         inetaddr:192.168.20.62  Bcast:192.168.20.255  Mask:255.255.255.0
         inet6 addr: fe80::20c:29ff:fe33:6a98/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:480 errors:0 dropped:0 overruns:0 frame:0
         TX packets:312 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:41830 (40.8 KiB)  TXbytes:39348 (38.4 KiB)
 
[root@duwers ~]# grep DNS/etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.20.60
DNS2=192.168.20.61
[root@duwers ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search duwers.space
nameserver 192.168.20.60
nameserver 192.168.20.61
[root@duwers ~]#

2)关闭主DNS网卡

wKioL1ehqtWRFT0MAACKzhbRmvo480.png

3)在客户端PC上验证

wKiom1ehqvazPLQxAAAqzpVZVOc481.png


The End

本文出自 “duwers” 博客,请务必保留此出处http://duwers.blog.51cto.com/7376225/1834007

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
先装好rhel6.5 配置好实验环境 关掉NetworkManager,并停止掉开机自启动 [root@duwensql~]#serviceNetworkManagerstop[root@duwensql~]#chkconfig--listNetworkManager[root@duwensql~]#chkconfigNetworkManageroff 关掉iptables [root@duwensql~]#iptables-F[root@duwensql~]#serviceiptablessaveipt
之前写过一篇源码安装zabbix2.2.9版本,server端安装文档; http://mofansheng.blog.51cto.com/8792265/1679728 下面分享一下zabbix分布式监控proxy安装过程: 环境说明:centos6.6 64位系统;LAMP环境; 前提是zabbix server端已经安装完毕,server IP为192.168.20.10,proxy本机 IP 为192.168.20.11 ;agent IP为192.168.20.12; 1、编译安装zabbix
备份前言 即使企业中部署了数据库可用性租,常规的数据库备份和恢复还是管理员应该掌握的基本技能。 WSB对exchange进行备份和恢复,这种操作建议在小规模的Exchange环境中使用,大、中型Exchange环境建议使用Microsoft System Center Data Protection Manager或者第三方工具,比如NBU。 备份注意事项 非DAG环境 非DAG环境使用WSB备份时,注意以下事项: 无需禁用Exchange服务器中的VSS Writer 使用VSS完整备份 第一次备份时建
最近在尝试基于Ubuntu 16.04.1 LTS server 部署openstack ,在部署的过程中遇到mariadb 无法正常链接。 问题 参照openstack 官方文档 安装mariadb,安装后遇到无法在本地登录的问题 $mysql-uroot-p$mysql-hlocalhost-uroot-p 报错如下 mysql(mariadb)ERROR1698(28000):Accessdeniedforuser'root'@'localhost' 但使用如下方式却可以登录 $sudomysql-
在做网站尤其是以内容为主的过程中,常常会遇到一张图片各种地方都要引用,且每个引用的地方要求的图片尺寸都不一样的。对于小网站来说,这种需求通常是人工进行裁剪,然后在代码上分别引用。然而当网站图片越来越多的时候,这种办法的效率问题就凸显出来了,所以一般中大型的网站都会对这一类的图片做自动裁剪功能。 本文介绍在 centos6 操作系统上,采用 nginx 、 lua 和 GraphicsMagick 工具简单实现图片的自动裁剪功能。其中 nginx 负责展示图片和调度 lua 脚本, GraphicsMagi
Office管理模板提供了对Office各版本的自定义工作,那么对于Outlook客户端在企业应用中会有很多的需求比如: 统一配置Outlook安全发件人和收件人; 定义Outlook OST和PST默认存放路径; 配置允许和禁用自动下载图片; 日历设置、邮件格式配置、Exchange缓存模式配置…… 下载Office管理模板,对应的模板下载链接如下: Office2010 管理模板 https://www.microsoft.com/en-us/download/details.aspx?id=1896

MySQL误操作后的数据恢复 - 2016-08-01 18:08:15

一、开启binlog。 首先查看binlog是否开启 mysqlshowvariableslike"log_bin";+---------------+-------+|Variable_name|Value+---------------+-------+|log_binOFF+---------------+-------+1rowinset(0.00sec) 值为OFF,需开启,开启binlog方式如下: #vim /etc/my.cnf 在 [mysqld]中加入 log-bin=mysql-bi
写在前面: 作者最近这几天写了一个shell脚本准备进行出售,由于单独出售利润不大,决定将脚本按照IP进行授权,出售授权,这样可以增加利润。 授权原理: 客户端运行shell脚本时,首先会利用curl从服务器获取两个数据,进行比对,如果两个数据相同,则表明此IP没有被授权,否则则授权成功。 这里说下为什么要这样写呢,其实起初我也想过很多方案,但后来都被我否决,主要原因就是有偶然性。在某种情况下(比如断网)会触发一些意外结果。而此方案当断网是返回的应该是相同值,间接避免了bug的产生。 服务端(验证端的编写

任意代码执行漏洞 - 2016-08-01 18:08:04

0x00 什么是任意代码执行 当应用在调用一些能将字符串转化成代码的函数(如PHP重的eval)时,没有考虑用户是否能控制这个字符串,将造成代码注入漏洞。狭义的代码注入通常指将可执行代码注入到当前页面中,如PHP的eval函数,可以将字符串代表的代码作为PHP代码执行,当用户能够控制这段字符串时,将产生代码注入漏洞(也称命令执行)。广义上的代码注入,可以覆盖大半安全漏洞的分类。 0x01 为什么存在任意代码执行 几种常用函数语言,都有将字符串转化成代码去执行的相关函数。 PHP === eval( ),a
===LyncServer安装时报错总结 Lync Server 由于安装方式和其他服务器不太一样,总结一些安装时容易出错的地方 1)首先权限必须给到位,Domain Admin,Schema Admin,Enterprise Admin,最后如果要打开Lnc控制面板时还需要CSAdministrator(这个管理员权限可以管理Lync Server 所有相关配置) 2)接着来说发布拓扑时容易出现的错误,确定Lyncadmin对共享文件夹拥有完全控制的权限,用其他服务器访问共享文件夹是否可以正常访问,以下