加密原理简述、实现httpd自签证书访问、dns主、辅服务器搭建及智能dns服务

1、简述加密算法的原理

介于用户空间和内核空间之间有用于数据加密的协议,对来至用户空间的数据进行加密,并转交给内核空间发送至目标端,然后由目标端接收加密数据然后交付给加密协议解密后的数据显示给用户空间。当然数据也可不通过加密协议直接传送。

image

2、加密算法的分类:

  • 对称加密:数据保密(保密性)
  • 公钥加密:身份认证、密钥交换、数据加密(不常用,比对称要慢3个数量级)
  • 单向加密:保证数据的完整性。

3、对称加密的加密图示

发送端与接收端使用同一个密钥进行加密或解密,将原始数据分割成固定大小的块,通过加密协议逐个进行加密。而接收方使用密钥进行单个解密并组个固定数据块文件。

image

4、公钥加密:

加密和解密时使用的是一对密钥(即:公钥、私钥)私钥是通过工具创建的,属于用户私有,公钥是从私钥中提出产生的,向所有人公开,使用公钥加密的文件通过私钥可以直接解密反之亦然。相对于对称加密安全性更高,通常情况下仅作身份验证和交换密钥。对资源的占用也比较多。

![iagme]

5、单向加密

单向加密的原理是提取数据的指纹信息,进行加密并定长显示出来,一旦读取的指纹信息有丝毫偏差都会产生截然不容的结果,导致雪崩效应。

定长输出:

[root@localhost ~]# md5sum /etc/passwd /etc/issue
4b488ac773035573a6a838c0eed7253c  /etc/passwd
f078fe086dfc22f64b5dca2e1b95de2c  /etc/issue

[root@localhost ~]# sha224sum /etc/passwd /etc/issue
f7c56524f9ac472310abc2d17ccdca3740ce1d9ded251f2b30287dab  /etc/passwd
172dc10d5bac2a9551c4ef09eb81331cae4c30d07861a9a0f254082d  /etc/issue

雪崩效应:

[root@localhost ~]# echo "abc" | sha224sum
f5c93b6f06f7c56d7ea720c121e3b1fb6730e5cf5f18d776bf0f2d88  -

[root@localhost ~]# echo "Abc" | sha224sum
023a17e1746f568423ab4c294dca639177fea3afa2904202b4cd153e  -
[root@localhost ~]#

参考笔记: 马哥笔记 网络笔记

2、搭建apache并使用自签证书实现https访问,自签名证书的域名自拟

apache

后缀类型解释:

  • 证书:crt(签发的证书),pem(ca 服务器自签证书)
  • 私钥:key
  • 证书请求:csr

一、ca 服务器 (192.168.1.115):

1.使用命令:生成私钥。

[root@MiWiFi-R3-srv pki]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
Generating RSA private key, 4096 bit long modulus
.................................................................................................................................................................................................++
..........................++
e is 65537 (0x10001)

2.生成自签证书

[root@MiWiFi-R3-srv pki]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:shandong
Locality Name (eg, city) [Default City]:tengzhou
Organization Name (eg, company) [Default Company Ltd]:mageedu
Organizational Unit Name (eg, section) []:ops
Common Name (eg, your name or your server's hostname) []:ca.magedu.com
Email Address []:

3.创建CA所需要的目录及文件

[root@MiWiFi-R3-srv pki]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
mkdir: 已创建目录 "/etc/pki/CA/certs"
mkdir: 已创建目录 "/etc/pki/CA/crl"
mkdir: 已创建目录 "/etc/pki/CA/newcerts"
[root@MiWiFi-R3-srv pki]# touch /etc/pki/CA/{serial,index.txt}
[root@MiWiFi-R3-srv pki]# echo 01 > /etc/pki/CA/serial

二、客户端(191.168.1.131) 申请证书

1.创建目录

[root@localhost ~]# mkdir -pv /etc/httpd/ssl
mkdir: 已创建目录 "/etc/httpd"
mkdir: 已创建目录 "/etc/httpd/ssl"
[root@localhost ~]# cd /etc/httpd/ssl

2.用到证书的主机生成私钥

[root@localhost ssl]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
Generating RSA private key, 2048 bit long modulus
............................................+++
.........................................................................+++
e is 65537 (0x10001)

3.生成证书签署请求

[root@localhost ssl]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:shandong
Locality Name (eg, city) [Default City]:tengzhou
Organization Name (eg, company) [Default Company Ltd]:mageedu
Organizational Unit Name (eg, section) []:ops
Common Name (eg, your name or your server's hostname) []:www.magedu.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:a

将申请以可靠的方式发送给192.168.1.115 CA服务器

[root@localhost ssl]# scp httpd.csr root@192.168.1.101:/tmp/
root@192.168.1.101's password: 
httpd.csr                                                                                       100% 1066     1.0KB/s   00:00  

三、ca 服务器(192.168.1.115) 签发证书

[root@MiWiFi-R3-srv pki]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Apr 29 14:59:43 2018 GMT
            Not After : Apr 29 14:59:43 2019 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = shandong
            organizationName          = mageedu
            organizationalUnitName    = ops
            commonName                = www.magedu.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                52:45:76:06:A8:43:FC:2B:E4:71:D1:F1:F0:EF:C7:A3:AB:76:66:29
            X509v3 Authority Key Identifier: 
                keyid:39:B3:4B:48:C3:28:1A:4B:D0:6E:A1:4F:5E:1A:47:AD:CE:85:CC:00

Certificate is to be certified until Apr 29 14:59:43 2019 GMT (365 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

查看证书信息
[root@MiWiFi-R3-srv pki]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
serial=01
subject= /C=CN/ST=shandong/O=mageedu/OU=ops/CN=www.magedu.com
查看证书序列
[root@MiWiFi-R3-srv CA]# cat /etc/pki/CA/index.txt
V	190429145943Z		01	unknown	/C=CN/ST=shandong/O=mageedu/OU=ops/CN=www.magedu.com

3、简述DNS服务器原理,并搭建主-辅服务器

DNS服务器原理

DNS服务器是一种基于C/S架构,运行在应用层的一种协议.使用53号端口发送请求和响应请求,进行名称解析,解析的过程就是通过DNS服务器的数据库将名称解析成IP或IP解析成名称。

例如:www.magedu.com. ip为 101.200.188.230

其中magedu.com就是域,域还包括:

所有的FQNS和IP都存在于一个倒树结构的DNS服务器分支下.表示为最高级根.

DNS名称解析两种方式:
  • 正向解析
    • 名称 —> IP
  • 反向解析
    • IP —> 名称

而两种的解析却是完全不通的两套根。

DNS服务器类型也分为两种:
  • 一种负责解析的(主、辅服务器)
  • 另一种则是只缓存记录被解析过的服务器。
DNS的两种查询方式:
  • 递归式查询;
    • 递归式查询的DNS服务器必须回应给客户端一个具体的解析信息。图中客户端到客户单端DNS服务器
  • 迭代式查询;
    • 迭代式DNS服务器如果的结果则将此申请转发给其他DNS服务器进行查询,直至找到结果。图中根(.)到下一级查询

image

以查询pan.baidu.com. 为例解析DNS流程

image

  • 2.客户端DNS服务器如果没有,将直接查询根 (.)DNS服务器.
  • 3.根(.)DNS服务器没有则将查询的名称至右往左进行解析(.:代表根,com:代表区域,baidu:代表名称,pan:代表类型)转至其他DNS解析.直至解析到baiduDNS服务器.
  • 4.在baidu DNS服务器的数据库上,查询到结果依次返回至客户端 DNS服务器缓存一份然后将结果反回给客户端直接访问并也缓存一份至host文件。

主、辅 DNS 服务器

image

主、辅服务器的关系:
  • 主DNS服务器:是可以进行解析域数据库的服务器,也可以进行写入新的数据。
  • 辅DNS服务器:是主DNS服务器的解析库的实时备份,只能进行域解析操作不能写入新数据。
主、辅 DNS服务器备份条件:
  • 当主DNS服务器数据更新时,服务器的版本则会发生变化,此时则同时辅DNS服务器进行增量更新。
  • 辅DNS服务器也会固定间隔时间对主DNS服务器版本号进行查询,是否需要更新。
  • 当辅DNS服务器查询主DNS服务器时出错,便会等待一定的间隔重新场所连接。
  • 当多次重连依然无法联系到主DNS服务器后,将放弃从主DNS服务器更新,停止相应服务
  • 无法得到回应时间。

区域数据库文件:

资源记录类型:

  • NS:域名服务记录;一个区域解析库除了有一个主还有多个。
    • name:打枪区域的区域名称
    • value:单枪区域的某DNS服务器的名称(例如:ns.magedu.com)
  • A:address,地址记录
    • name:某主机名FQDN;
    • value:某IPv4地址;FQDN —> IPv4
  • AAAA:地址记录 FQDN—> IPv6;
    • name:FQDN
    • value:IPv6
  • CNAME:别名记录;
    • name:FQDN格式的别名;
    • value:FQND格式的正式名字
  • PTR: IP—>FQDN
    • name:IP地址,有特性格式,IP反过来写,而且加特定后缀,例如1.2.3.4的记录实际写为4.3.2.1.in-addr.arpa.:value:FQND
  • MX:邮件交换器;拥有优先级0-99;数字越小越高。
  • SOA:起始授权记录,每个区域只有一个SOA记录。
    • name:当前区域的名字;
    • value:有多部分组成。
      • 当前区域的区域名称;主机DNS服务器名称
      • 当前区域管理员的邮箱地址,地址中@必须用点代替。
      • 主机服务协调属性的定义以及否定答案的TTL。

注意的几点:

  • (1)TTL可以从全集继承;
  • (2)@表示当前区域的名称;
  • (3)相邻的两条记录某name相同时,后边的可省略;
  • (4)对于正向区域来说,各MX,NS等类型的记录的value为FQDN,此FQDN应该有一个A记录;

配置前准备:

关掉防火墙:

CentOS 6
# service iptables  stop
# chkconfig  iptables  off 
CentOS 7
# systemctl  stop  firewalld.service 
# systemctl  disable  firewalld.service

准备两台CentOS 主机

主 DNS服务器

系统版本:centos 7 主机地址:192.168.1.110

安装 bind

~]# yum -y install bind

正向解析库–配置

1、编辑默认配置文件添加域配置

1、添加本机地址;192.168.1.110;

2、停用

  • dnssec-enable no;
  • dnssec-validation no;

3、添加域解析文件目录

~]# vim /etc/named.conf

options {
        listen-on port 53 { 127.0.0.1; 192.168.1.110; };  添加本机地址
        listen-on-v6 port 53 { ::1; };
...
...
	//allow-query     { localhost; };   关闭
...
...
        dnssec-enable no;  关掉
        dnssec-validation no;  关掉
...
...
zone "magedu.com" IN {        添加这里
      type  master;
      file  "magedu.com.zone";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
2、新建指向的域配置文件。

1、新建域文件magedu.com.zone

[root@localhost named]#  vim /var/named/magedu.com.zone

内容如下:

$TTL 3600
$ORIGIN magedu.com.
@	IN	SOA	ns1.magedu.com.	dnsadmin.magedu.com. (
        2018051201
		1H
                10M
		3D
		1D )
	IN	    NS        ns1
	IN	    MX     10 mx1
        IN          MX     20 mx2
ns1		IN	  A 	     192.168.1.50
mx1		IN	  A          192.168.1.51
mx2		IN        A 	     192.168.1.52
www		IN	  A	     192.168.1.53
web		IN	  CNAME      www
bbs		IN	  A          192.168.1.54
bbs             IN        A          192.168.1.55

修改属组、语法检查及测试

1、修改属组权限为named

~]# chgrp named magedu.com.zone

2、修改权限,其他用户无权限

~]# chmod o= /var/named/magedu.com.zone

3、检查语法错误

~]# named-checkconf

4、检查区域配置文件错误

~]# named-checkzone magedu.com /var/named/magedu.com.zone

重载区域配置及测试

1、重载区域

~]# rndc reload

2、测试

[root@localhost named]# dig -t A web.magedu.com @192.168.1.110



; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> -t A web.magedu.com @192.168.1.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9158
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;web.magedu.com.			IN	A

;; ANSWER SECTION:
web.magedu.com.		3600	IN	CNAME	www.magedu.com.
www.magedu.com.		3600	IN	A	192.168.1.53

;; AUTHORITY SECTION:
magedu.com.		3600	IN	NS	ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.		3600	IN	A	192.168.1.50

;; Query time: 0 msec
;; SERVER: 192.168.1.110#53(192.168.1.110)
;; WHEN:  5 11 21:37:44 EDT 2018
;; MSG SIZE  rcvd: 111

反向解析库-配置

主机地址:192.168.1.110

1、编辑反方向解析信息添加配置

[root@localhost named]# vim /etc/named.rfc1912.zones


...
...

zone "1.168.192.in-addr.arpa" IN {      添加
           type master;
           file "172.16.100.zone";
};

2、新建配置文件

~]# vim /var/named/192.168.1.zone

配置信息如下:

$TTL	3600
$ORIGIN	1.168.192.in-addr.arpa;
@	IN	SOA	ns1.magedu.com.	nsadmin.magedu.com. (
        2018051201
        1H
        10M
	3D
	12H )
  IN		NS	ns1.magedu.com.
50	IN	PTR	ns1.magedu.com.
51	IN	PTR	mx1.magedu.com.
52	IN	PTR	mx2.magedu.com.
53	IN	PTR	bbs.magedu.com.
54	IN 	PTR	bbs.magedu.com.
55	IN	PTR	www.magedu.com.

注意序列号位数不可超出限定格式10个数值

修改属组、语法检查

1、修改文件属组

~]# chgrp named /var/named/192.168.1.zone 

2、取消其他用户权限

~]# chmod o= /var/named/192.168.1.zone

3、检查语法错误

~]# named-checkconf

重载区域配置及测试

1、重载区域

~]# rndc reload

2、测试

[root@localhost named]# dig -x 192.168.1.50 @192.168.1.110



; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> -x 192.168.1.50 @192.168.1.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62861
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;50.1.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
50.1.168.192.in-addr.arpa. 3600	IN	PTR	ns1.magedu.com.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.	3600	IN	NS	ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.		3600	IN	A	192.168.1.50

;; Query time: 0 msec
;; SERVER: 192.168.1.110#53(192.168.1.110)
;; WHEN:  5 12 01:43:07 EDT 2018
;; MSG SIZE  rcvd: 112

辅 DNS服务器

辅 dns服务器地址:192.168.1.147

安装 bind

~]# yum -y install bind

1、修改配置文件

[root@localhost ~]# vim /etc/named.conf

//
options {
	listen-on port 53 { 127.0.0.1;  192.168.1.147; }; 添加本机地址
...
...
	//allow-query     { localhost; };   关闭
...
...
	recursion no;    关掉

	dnssec-enable no;    关掉
	dnssec-validation no;    关掉
...

2、添加 域

[root@localhost ~]# vim /etc/named.rfc1912.zones

...
...
...
zone "magedu.com" IN {                添加正向解析域
      type slave;
      file "slaves/magedu.com.zone";
      masters { 192.168.1.110; };              添加主服务器地址
};

zone "1.168.192.in-addr.arpa" IN {     添加反向解析域
      type slave;
      file "slaves/192.168.1.zone";
      masters { 192.168.1.110; };        
};


3、测试

正向解析-测试
[root@localhost slaves]# dig -t A ftp.magedu.com @192.168.1.147

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -t A ftp.magedu.com @192.168.1.147
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52373
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ftp.magedu.com.			IN	A

;; ANSWER SECTION:
ftp.magedu.com.		3600	IN	A	192.168.1.56

;; AUTHORITY SECTION:
magedu.com.		3600	IN	NS	ns2.magedu.com.
magedu.com.		3600	IN	NS	ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.		3600	IN	A	192.168.1.50
ns2.magedu.com.		3600	IN	A	192.168.1.147

;; Query time: 0 msec
;; SERVER: 192.168.1.147#53(192.168.1.147)
;; WHEN:  5 19 03:26:56 EDT 2018
;; MSG SIZE  rcvd: 127
反向解析-测试
[root@localhost slaves]# dig -x 192.168.1.55 @192.168.1.147

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -x 192.168.1.55 @192.168.1.147
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35517
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;55.1.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
55.1.168.192.in-addr.arpa. 3600	IN	PTR	www.magedu.com.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.	3600	IN	NS	ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.		3600	IN	A	192.168.1.50

;; Query time: 0 msec
;; SERVER: 192.168.1.147#53(192.168.1.147)
;; WHEN:  5 19 03:27:21 EDT 2018
;; MSG SIZE  rcvd: 116

子域授权 区域转发和全局转发 安全控制 acl、

http://www.bubuko.com/infodetail-1043264.html

子域服务器

子域服务器:192.168.1.103

1、首先在父域主服务器(192.168.1.110)授权给子服务器

[root@localhost named]# vim /var/named/magedu.com.zone 


$TTL    3600
$ORIGIN magedu.com.
@       IN      SOA     ns1.magedu.com. dnsadmin.magedu.com. (
                2018051202   更新序列号
                1H
                10M
                3D
                1D )
        IN          NS        ns1
ops     IN          NS        ns1.ops   添加
        IN          MX     10 mx1
        IN          MX     20 mx2
ns1             IN        A          192.168.1.50
mx1             IN        A          192.168.1.51
mx2             IN        A          192.168.1.52
www             IN        A          192.168.1.53
web             IN        CNAME      www
bbs             IN        A          192.168.1.54
bbs             IN        A          192.168.1.55
ns1.ops         IN        A          192.168.1.103     添加

2、重启加载配置

[root@localhost named]# rndc reload
server reload successful

3、打开子域服务器(192.168.1.103)安装bind

[root@localhost named]# yum -y install bind

4、添加本机地址

[root@MiWiFi-R3-srv named]# vim /etc/named.conf


options {
	listen-on port 53 { 127.0.0.1; 192.168.1.103; };  添加子域ip地址
...
...
	//allow-query     { localhost; };
...
...
	dnssec-enable no;
	dnssec-validation no;

5、启动服务并查看运行状态

[root@MiWiFi-R3-srv named]# systemctl start named.service

[root@MiWiFi-R3-srv named]# systemctl status named.service


[root@MiWiFi-R3-srv named]# ss -tunl
Netid State      Recv-Q Send-Q                                 Local Address:Port                                   Peer Address:Port 
tcp   UNCONN     0      0                                      192.168.1.103:53     查看端口                                  *:*     
tcp   UNCONN     0      0                                          127.0.0.1:53     查看端口                                  *:* ```
6、定义子域信息
```bash
[root@MiWiFi-R3-srv named]# vim /etc/named.rfc1912.zones 

...
...
zone "ops.magedu.com" IN {       添加
        type master;
        file "ops.magedu.com.zone";
};

7、修改配置文件

[root@MiWiFi-R3-srv named]# cat /var/named/

[root@MiWiFi-R3-srv named]# vim ops.magedu.com.zone

$TTL    3600
$ORIGIN ops.magedu.com.
@       IN      SOA     ns1.ops.magedu.com.     nsadmin.ops.magedu.com. (
                2018052101
                1H
                10M
                1D
                1H )
        IN      NS      ns1
ns1     IN      A       192.168.1.103
www     IN      A       192.168.1.103

8、修改配置文件权限并检测语法错误

[root@MiWiFi-R3-srv named]# chgrp named ops.magedu.com

[root@MiWiFi-R3-srv named]# chmod o= ops.magedu.com

[root@MiWiFi-R3-srv named]# named-checkconf

9、子域测试

[root@MiWiFi-R3-srv named]# dig -t A www.ops.magedu.com @192.168.1.110

10、父域测试

[root@MiWiFi-R3-srv named]# dig -t A www.ops.magedu.com @192.168.1.103

子域-区域转发

1、编辑子域配置信息

[root@MiWiFi-R3-srv named]# vim /etc/named.rfc1912.zones 

...
...
zone "magedu.com" IN {
        type forward;
        forward only;
        forwarders { 192.168.1.110; 192.168.1.147; };
};

2、检测语法错误和重载配置

[root@MiWiFi-R3-srv named]# named-checkconf

[root@MiWiFi-R3-srv named]# rndc reload

3、测试

[root@MiWiFi-R3-srv named]# dig -t A www.magedu.com @192.168.1.103

子域-全局转发

1、定义配置文件

[root@MiWiFi-R3-srv named]# vim /etc/named.conf

options {
	listen-on port 53 { 127.0.0.1; 192.168.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";
    forward only;                              添加
	forwarders { 192.168.1.110; };             添加
	//allow-query     { localhost; };

2、检测语法错误并重载配置

[root@MiWiFi-R3-srv named]# named-checkconf

[root@MiWiFi-R3-srv named]# rndc reload

3、测试

[root@MiWiFi-R3-srv named]# dig -t A www.baidu.com @192.168.1.103

acl权限控制

acl:访问控制列表;把一个或多个地址并归为一个命名合集,随后通过此名称即可对手机全内的所有主机实现统一调用。

注意修改不同的配置文件会有不同的效果:

  • /etc/named.conf 全局生效
  • /etc/named.rfc1912.zones 仅对域生效

使用格式:

acl acl_name {
    ip;
    net/prelen;
};

bind有四个内置的acl权限:

  • none:没有一个主机;
  • any:任意主机;
  • local:本机;
  • loaclnet:本机所在的ip所属的网络;

访问控制指令:

  • allow-query {}:允许查询的主机;白名单;
  • allow-transger {}:允许向哪些主机做区域传送;默认为所有主机;
  • allow-recursion {}:允许哪些主机向当前DNS服务器发起递归查询请求;
  • allow-update {} ;适用于DDNS,允许动态更新区域数据库文件中内容;

操作示例 : allow-transger {};

主服务器:192.168.1.110

从服务器:192.168.1.147

子域服务器:192.168.1.103

分别在三台dns服务器上执行

[root@MiWiFi-R3-srv ~]# dig -t axfr magedu.com @192.168.1.110

执行结果都是可执行

1、我们打开主服务器编辑配置文件;

[root@localhost ~]# vim /etc/named.conf


acl slaves {
        192.168.1.103;
};                             添加访问白名单;

options {
        listen-on port 53 { 127.0.0.1; 192.168.1.110; };
...
...

zone "magedu.com" IN {
        type master;
        file "magedu.com.zone";
        allow-transfer { slaves; };     添加访问权限
};

测试结果

[root@MiWiFi-R3-srv ~]# dig -t axfr magedu.com @192.168.1.110

主服务器 无效
从服务器 无效
子域服务器 有效

操作示例 : allow-recursion {};

[root@localhost ~]# vim /etc/named.conf

...
...
acl mynet {
        192.168.1.147;   添加主机
};

options {
        listen-on port 53 { 127.0.0.1; 192.168.1.110; };
...
...
        recursion yes;  删掉更换成  allow-recursion { mynet; };

测试结果

[root@localhost ~]# dig -t A www.baidu.com @192.168.1.110 无效

[root@MiWiFi-R3-srv ~]# dig -t A www.baidu.com @192.168.1.147 有效

[root@MiWiFi-R3-srv ~]# dig -t A www.baidu.com @192.168.1.103 无效

操作示例 : allow-update {};

编辑从服务器;


[root@MiWiFi-R3-srv ~]# vim /etc/named.rfc1912.zones
...
...
zone "magedu.com" IN {
        type slave;
        file "slaves/magedu.com.zone";
        masters { 192.168.1.110; };
        allow-update { none; };       添加限制权限;
}; 

测试

[root@MiWiFi-R3-srv ~]# dig -t axfr magedu.com @192.168.1.103  被添加了访问权限 无效

[root@MiWiFi-R3-srv ~]# dig -t axfr ops.magedu.com @192.168.1.103  没有添加访问权限 有效

4、搭建并实现智能DNS

bind view(视图) 实现智能DNS服务器

所谓智能dns服务器;其实就是使用bind的acl功能将访问者分类,根据不同的分类给与反馈。

操作前还是三台主机:

  • 主机:192.168.1.110
  • 测试:192.168.1.147
  • 测试:192.168.1.103

配置前准备:

  • 1.关闭防火墙;
  • 2.安装bind;

1、主机(192.168.1.110)配置信息

设置缓存成缓存服务器并且将测试机器按组添加。

[root@localhost named]# vim /etc/named.conf


acl a {                     添加组 a
        192.168.1.147;
};
 
acl b {                     添加组 b
        192.168.1.103;
};

options {
        listen-on port 53 { 127.0.0.1; 192.168.1.110; };设置缓存服务器
...
...
        recursion yes;  允许递归

        dnssec-enable no;   关闭
        dnssec-validation no;  关闭

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

//zone "." IN {                     屏蔽掉
//      type hint;                  屏蔽掉
//      file "named.ca";            屏蔽掉
//};                                屏蔽掉
        
//include "/etc/named.rfc1912.zones";     屏蔽掉
//include "/etc/named.root.key";          屏蔽掉

view a {
        match-clients { a; };
        zone "magedu.com" IN {
                type master;
                file "magedu.com.zone.a";
        };
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/named.rfc1912.zones";
        include "/etc/named.root.key";
};

view b {
        match-clients { b;};
        zone "magedu.com" IN {
                type master;
                file "magedu.com.zone.b";
        };
        zone "." IN {
                type hint;
                file "named.ca";
        };
        include "/etc/named.rfc1912.zones";
        include "/etc/named.root.key";
};

2-1、编辑分组文件 a 的配置文件

[root@localhost named]# vim /var/named/magedu.com.zone.a

$TTL    3600
$ORIGIN magedu.com.
@       IN      SOA     ns.magedu.com.  ns.admin.com. (
                2018052501
                1H
                2H
                3H
                4H )
        IN      NS      ns
ns      IN      A       192.168.1.11
www     IN      A       192.168.1.112
ftp     IN      A       192.168.1.113
web     IN      CNAME   www

检查语法错误
[root@localhost named]# named-checkzone magedu.com magedu.com.zone.a 
zone magedu.com/IN: loaded serial 2018052501
OK

2-2、编辑分组文件 b 的配置文件

[root@localhost named]# vim /var/named/magedu.com.zone.b 

$TTL    3600
$ORIGIN magedu.com.
@       IN      SOA     ns.magedu.com.  ns.admin.com. (
                2018052501
                1H
                2H
                3H
                4H )
        IN      NS      ns
ns      IN      A       192.168.1.22
www     IN      A       192.168.1.222
ftp     IN      A       192.168.1.223
web     IN      CNAME   www

检查语法错误
[root@localhost named]# named-checkzone magedu.com magedu.com.zone.b 
zone magedu.com/IN: loaded serial 2018052501
OK

3-1、测试机(192.168.1.147)


[root@localhost ~]# nslookup
> server 192.168.1.110
Default server: 192.168.1.110
Address: 192.168.1.110#53
> set q=A
> www.magedu.com
Server:		192.168.1.110
Address:	192.168.1.110#53

Name:	www.magedu.com
Address: 192.168.1.112
> web.magedu.com
Server:		192.168.1.110
Address:	192.168.1.110#53

web.magedu.com	canonical name = www.magedu.com.
Name:	www.magedu.com
Address: 192.168.1.112
> 

3-2、测试机 (192.168.1.103)

[root@localhost ~]# nslookup
> server 192.168.1.110
Default server: 192.168.1.110
Address: 192.168.1.110#53
> set q=A
> www.magedu.com
Server:		192.168.1.110
Address:	192.168.1.110#53

Name:	www.magedu.com
Address: 192.168.1.222
> web.magedu.com
Server:		192.168.1.110
Address:	192.168.1.110#53

web.magedu.com	canonical name = www.magedu.com.
Name:	www.magedu.com
Address: 192.168.1.222

参考: 马哥笔记; 网络笔记1

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99322

(2)
上一篇 2018-05-25 16:27
下一篇 2018-05-25 17:35

相关推荐

  • Linux用户和组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    Linux笔记 2018-07-13
  • Linux软件管理

      **rpm** 查寻rpm -q httpd //精确查找已安装的包的全名rpm -qa |grep httpd //查找所有以httpd开头的rpm包rpm -ql httpd //查寻安装httpd包进生成的文件 rpm -f :查看置顶的文件由哪个程序包安装生成 rpm -p rpm file :针对尚未安装的程序包文件做查询操作 rpm…

    Linux笔记 2018-05-13
  • Linux系统启动相关

    Linux系统启动相关

    2018-04-13
  • memcached

    数据结构模型: 结构化数据:关系型数据库;mysql、mariadb、oracledb 半结构化数据:xml、json、nosql 非结构化数据:文件系统; 缓存系统的种类: 代理式缓存; 旁路式缓存; memcached的特性: k/v缓存:可序列化数据;存储项:key/value,标志,过期时间; 功能的实现一半依赖于服务端,一半依赖客户端; 分布式缓存…

    2018-07-14
  • 手把手系列(三)教你自制简单Linux系统

    CentOS启动相关最重要的几个文件有:内核vmlinuz文件、虚拟文件系统initramfs文件、grub文件以

    及init启动程序,围绕这几个文件,我们来制作一个能够简单启动的自制Linux系统

    2018-05-14
  • 文本处理工具

    文本处理小工具 tr tr [选项]…SET1 [SET2] 从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。 ​ -c:取字符集的补集 ​ -d:删除所有属于第一字符集的字符 ​ -s:把连续重复的字符以单独一个字符表示(压缩) ​ -t:将第一个字符集对应字符转化为第二字符集对应的字符 #echo ‘tank zhang’ |tr a-z A…

    Linux笔记 2018-05-10