第十四周、DNS及MySQL

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

DNS的工作原理及过程分下面几个步骤:
  第一步:客户机提出域名解析请求,并将该请求送出给本地的域名办事器。
  第二步:当本地的域名办事器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名办事器就直接把查询的结果返回。
  第三步:如果本地的缓存中没有该纪录,则本地域名办事器就直接把请求发给根域名办事器,然后根域名办事器再返回给本地域名办事器一个所查询域(根的子域) 的主域名办事器的地址。
  第四步:本地办事器再向上一步返回的域名办事器送出请求,然后接受请求的办事器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名办事器的地址。
  第五步:重复第四步,直到找到正确的IP
  
主-辅服务器

##主服务器(192.168.8.7)
[root@matserA ~]# vim /etc/named.rfc1912.zones
zone "magedu.com" {
        type master;
        file "magedu.com.zone";
};
[root@matserA ~]# vim /etc/named.conf
options {   
//      listen-on port 53 { 127.0.0.1; };
        allow-query     { any; };                                 
        allow-transfer  {192.168.8.17;};          添加一行
[root@matserA ~]# vim /var/named/magedu.com.zone
$TTL  1D
@  IN  SOA master.magedu.com. admin(1 1D 1H 1W 2D)
        NS      ns1
        NS      ns2
ns1     A       192.168.8.7
ns2     A       192.168.8.17                                                                                                       
master  A       192.168.8.7
ftp     A       192.168.8.9                                                                                                                           
db      A       192.168.8.8
www     CNAME   websrv
websrv  A       2.2.2.3
websrv  A       2.2.2.4
[root@matserA ~]# systemctl start named


##从服务器(192.168.8.17)

[root@CentOS7 ~]# vim /etc/named.rfc1912.zones
zone "magedu.com" {
        type slave;
        masters {192.168.8.7;};
        file "slaves/magedu.com.zone.slave";
}; 
[root@CentOS7 ~]# vim /etc/named.conf
//      listen-on port 53 { 127.0.0.1; };
        allow-query     { any; };
        allow-transfer {none;};  

检测
[root@CentOS7 ~]# dig ftp.magedu.com @192.168.8.7
2、搭建并实现智能DNS

在这里插入图片描述

[root@CentOS7 /etc]# cat /etc/named.conf     #一
//	listen-on port 53 { 127.0.0.1; };
//	allow-query     { localhost; };
    allow-transfer  {none;};
    
	dnssec-enable no;
	dnssec-validation no;

acl     shanghainet {                       #最下面加
        172.16.6.0/24;
	    172.16.7.0/24;
};
acl     beijingnet {
        192.168.8.0/24;
        192.168.9.0/24;
};
acl     chengdunet {
        172.31.0.0/16;
        172.32.0.0/16;
};
acl     othernet {
        any;
};

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


view    view_shanghai {
        match-clients {shanghainet;};
	include "/etc/named.rfc1912.zones.sh";
};
view    view_beijing {
        match-clients {beijingnet;};
        include "/etc/named.rfc1912.zones.bj";
};
view    view_chengdu {
        match-clients {chengdunet;};
        include "/etc/named.rfc1912.zones.cd";
};
view    view_other {
        match-clients {othernet;};
        include "/etc/named.rfc1912.zones";
};

include "/etc/named.root.key";

#######################################
[root@CentOS7 ~]# vim /etc/named.rfc1912.zones
zone "magedu.com" {
        type master;
        file "magedu.com.zone.other";                                                                                                                 
};

[root@CentOS7 ~]# vim /etc/named.rfc1912.zones.sh   
zone "magedu.com" {
	type master;
	file "magedu.com.zone.sh";
};

[root@CentOS7 ~]# vim /etc/named.rfc1912.zones.bj
zone "magedu.com" {
	type master;
	file "magedu.com.zone.bj";
};

[root@CentOS7 ~]# vim /etc/named.rfc1912.zones.cd
zone "magedu.com" {
	type master;
	file "magedu.com.zone.cd";
};
[root@matserA /etc]# chgrp named /etc/named.rfc*
[root@matserA /etc]# chmod 640 /etc/named.rfc*

#####################################################
[root@CentOS7 /etc]# cat /var/named/magedu.com.zone.sh    
$TTL 1D 
@ IN SOA ns1 admin (1 1H 1H 1D 3H)
	NS ns1
ns1	A	192.168.8.17
www	CNAME	websrv
websrv	A	172.16.6.8
websrv	A	172.16.7.8
[root@CentOS7 /etc]# cat /var/named/magedu.com.zone.bj
$TTL 1D 
@ IN SOA ns1 admin (1 1H 1H 1D 3H)
	NS ns1
ns1	A	192.168.8.17
www	CNAME	websrv
websrv	A	192.168.8.8
websrv	A	192.168.9.8

[root@CentOS7 /etc]# cat /var/named/magedu.com.zone.cd
$TTL 1D 
@ IN SOA ns1 admin (1 1H 1H 1D 3H)
	NS ns1
ns1	A	192.168.8.17
www	CNAME	websrv
websrv	A	172.31.0.7
websrv	A	172.32.7.7

[root@CentOS7 /etc]# cat /var/named/magedu.com.zone.other 
$TTL 1D 
@ IN SOA ns1 admin (1 1H 1H 1D 3H)
	NS ns1
ns1	A	192.168.8.17
www	CNAME	websrv
websrv	A	8.8.8.8
websrv	A	9.9.9.9
[root@CentOS7 /etc]# chgrp named /var/named/magedu.com*

3、编译安装Mariadb,并启动后可以正常登录
#####做准备用户和数据目录#####
[root@CentOS7 ~]# yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel libdb4-cxx-devel         #安装环境
[root@CentOS7 ~]# useradd -r -s /sbin/nologin -d /data/mysql mysql
[root@CentOS7 ~]# mkdir /data/mysql
[root@CentOS7 ~]# chown mysql.mysql /data/mysql
[root@CentOS7 ~]# tar xvf mariadb-10.2.25.tar.gz
[root@CentOS7 ~]# cd mariadb-10.2.25/
#################################################编译开始
[root@CentOS7 ~/mariadb-10.2.25]#cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@CentOS7 ~/mariadb-10.2.25]# make -j 8 && make install
#############################################编译完成
[root@CentOS7 ~/mariadb-10.2.25]# cd /app/mysql/
[root@CentOS7 /app/mysql]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql   #生成数据库
[root@CentOS7 /app/mysql]# cp support-files/my-huge.cnf /etc/my.cnf         #准备配置文件
[root@CentOS7 /app/mysql]# cp support-files/mysql.server /etc/init.d/mysqld      #准备启动脚本
[root@CentOS7 /app/mysql]# chkconfig --add mysqld                     #启动服务
[root@CentOS7 /app/mysql]# service mysqld start
[root@CentOS7 /app/mysql]# echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh    #准备环境变量
[root@CentOS7 /app/mysql]# . /etc/profile.d/mysql.sh
[root@CentOS7 /app/mysql]# mysql                           #启动

猜你喜欢

转载自blog.csdn.net/wauzy/article/details/107376247