N43-第十三周作业


 

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

DNS服务器原理:

参考:DNS原理及其解析过程

第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

第五步:重复第四步,直到找到正确的纪录。

第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

 

搭建主-辅服务器(CentOS8:192.168.9.105作为主DNS服务器,7:192.168.9.103作为从服务器,6测,并实现正反解析):

1️⃣安装DNS软件包bind和域名解析工具nslookup软件包bind-utils
yum install -y bind bind-utils
 
2️⃣修改DNS配置文件,允许本网段监听端口和允许任何网段访问DNS服务器
vim /etc/named.conf
 
主区域:
在这里插入图片描述 
从区域:
在这里插入图片描述
语法检查:named-checkconf
 
3️⃣修改区域配置文件
vim /etc/named.rfc1912.zones

主区域:
在这里插入图片描述
从区域:
在这里插入图片描述
 
4️⃣在主服务器上编辑正向和反向区域数据库文件
cd /var/named

复制模板:cp -p named.localhost abc.com.zone
vim abc.com.zone
 
正向区域数据库文件:
在这里插入图片描述

反向区域数据库文件:
在这里插入图片描述

数据配置文件检查:named-checkzone abc.com abc.com.zone

rndc reload后可同步到从服务器上,无须手动配置文件:
在这里插入图片描述

 
5️⃣更新加载数据文件,启动或重启服务,且查看服务监听状态,UDP:53
rndc reload
systemctl start namedsystemctl restart named
netstat -anput | grep named

在这里插入图片描述

 
6️⃣测试机上设置DNS服务器的IP地址
在这里插入图片描述

 
7️⃣测试

验证域名查询:
在这里插入图片描述

验证从DNS域名服务器查询主机地址信息:
在这里插入图片描述

验证正向解析:
在这里插入图片描述

验证反向解析:
在这里插入图片描述
在这里插入图片描述

 

💡主从同步方式:
推:修改主DNS服务器区域数据,添加从DNS服务器,且需修改版本号serial
在这里插入图片描述
拉:等待时间更新同步

 
 
 

2、搭建并实现智能DNS

1️⃣主配置文件上定义地址列表(假设三个区域分别为aqnet:192.168.9.0/24、sqnet:192.68.0.0/16、dqnet:any)
vim /etc/named.conf
在这里插入图片描述

 
2️⃣创建三个数据库

复制模板:
在这里插入图片描述

修改数据库:

aq:
在这里插入图片描述

sq:
在这里插入图片描述

dq:
在这里插入图片描述

 
3️⃣写zone文件
将/etc/named.conf下的zone放到/etc/named.rfc1912.zones下

在这里插入图片描述

参考下边做成三个/etc/named.rfc1912.zones数据
在这里插入图片描述
在这里插入图片描述
 
4️⃣创建view,vim /etc/named.conf
在这里插入图片描述

⚠测试
 

参考:💡基于Internet架构的DNS服务
实战案例:实现Internet的DNS服务架构_kingdom_xu的博客-CSDN博客

 
 
 

3、编译安装Mariadb,并启动后可以正常登录

二进制安装:

参考:Mariadb二进制安装

源码安装:

下载源码安装包:MariaDB 10.5.8 Stable - MariaDB
 
1️⃣环境准备

准备逻辑卷(可做可不做):
在这里插入图片描述

安装依赖包:yum install -y 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

 
2️⃣准备用户和数据目录
useradd -r -s /sbin/nologin -d /data/mysql/ mysql
chown mysql.mysql /data/mysql/
 
3️⃣解压包
tar xf mariadb-10.5.8.tar.gz
 
4️⃣进入目录下cd mariadb-10.5.8/

执行: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=/app/mysql/mysql.sock \
			-DDEFAULT_CHARSET=utf8 \
			-DDEFAULT_COLLATION=utf8_general_ci
		make -j 4 && make install

如果出错,执行rm -f CMakeCache.txt
 
5️⃣准备环境变量
echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mydql.sh
. /etc/profile.d/mysql.sh
 
6️⃣生成数据库文件
cd /apps/mysql
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
 
7️⃣准备配置文件
cp /apps/mysql/support-files/my-huge.cnf /etc/my.cnf
 
8️⃣准备启动脚本
cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
 
9️⃣添加服务并启动
chkconfig --add mysqld ; service mysqls start

 

💡指定字符集utf8mb4
mariaDB设置:
#vim /etc/my.conf
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
skip-character-set-client-handshake=true
在这里插入图片描述
mysql设置:
[client]
default-character-set= utf8mb4
[mysql]
default-character-se = utf8mb4
在这里插入图片描述

 
验证:
/etc/init.d/mariadb reload

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值