2020-10-25第十三周技术作业

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

1.dns服务器原理

第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

2.搭建主-辅服务器,实现智能DNS。
一.安装

1.安装
yum install -y bind

2.查看
1)查看介绍
rpm -qi bind
2)查看安装出的文件
rpm -ql bind

3.启动服务
systemctl restart named

4.查看启动情况,对应端口53
ss -ntlu 

二.修改dns服务器配置文件

1.修改配置文件
vim /etc/named.conf
2.测试
host www.baidu.com
如果能获得ip就是证明dns服务没有问题,假如ping不同,就证明网关问题

三.建立数据库文件,解析对应的地址

cd /var/named/
格式:name [TTL] IN rr_type value
name:网站名字
TTL:缓存有效期默认以秒为单位
IN:固定写法
rr_type:区分是正向解析还是反向解析,是ipv4的还是ipv6的
    1)A:将名字翻译成ipv4地址
    2)AAAA:将名字翻译成ipv6地址
    3)ptr:将ip转换成名字
    
1.复制模版
cd /var/named/

cp -p named.localhost magedu.com.zone

vim magedu.com.zone

四.告知数据库,mage域的文件存放位置

vim /etc/named.rfc1912.zones

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

五.重启,测试

1.语法检查
1)检查配置文件
named-checkconf
2)检查数据库文件
named-checkzone magedu.com /var/named/magedu.com.zone
#命令 + 域名 + 文件路径
2.重启
rndc reload
也可以说使用
systemctl restart named
3.测试
在另外一个主机上使用
host 域名
看看能否获取ip

六.设置反向解析

1.vim /etc/named.rfc1912.zones
#添加
zone "1.168.192.in-addr.arpa{
        type master;
        file "192.168.1.zone";
};"
2.vim /var/named/192.168.1.zone
3.rndc reload
4.测试
dig -x 192.168.1.8

七.设置从节点

1.安装软件包
yum install -y bind
2.修改配置文件
vim /etc/named.conf
3.修改指定文件
vim /etc/named.rfc1912.zones
4.重启服务
systemctl restart named
5.查看从节点是否生成文件
6.主节点添加从节点地址
vim magedu.com.zone
rndc reload

7.测试
dig www.magedu.com @192.168.1.17
解析:
@ip:指定解析的服务器地址

8.主服务器修改文件要想给从服务器同步,则需要修改主服务器的版本号

9.添加安全设置
在主服务器上
vim /etc/named.conf
在从节点上
vim /etc/named.conf
10.重启服务
rndc reload
11.测试
在第三台机器上
dig -t axfr magedu.com @192.168.1.7

八.设置子域

1.设置子域的库
cp /var/named/magedu.com.zone  beijing.magedu.com.zone

vim beijing.magedu.com.zone
2.将库写入配置文件
vim /etc/named.rfc1912.zones

九.建立真正独立的子域

1.指定子域库
vim /var/named/magedu.com.zone
2.将库写入配置文件
vim /etc/named.rfc1912.zones
3.编写库文件
vim /var/named/zhengzhou.magedu.com.zone
4.关闭安全加密
vim /etc/named.conf

三、编译安装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
mkdir -p /data/mysql
chown mysql.mysql /data/mysql
3.解压安装包并编译安装
cd /lgx
tar xvf mariadb-10.2.25.tar.gz
cd mariadb-10.2.25

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/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
# make && make install
cmake

make install
4.生成数据库文件
cd /usr/local/mysql
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
5.准备配置文件
cp -p support-files/my-huge.cnf /etc/my.cnf
修改生成的配置文件
vim /etc/mysql/my.cnf
添加
datadir=/data/mysql
指定数据库路径
image.png
6.拷贝启动服务脚本
cp support-files/mysql.server /etc/init.d/mysqld
刷新,查看
chkconfig --add mysqld
chkconfig --list
启动
service mysqld start
查看端口
 ss -ntl | grep 3306
7.安全初始化
cd /usr/local/mysql/bin
mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):   #输入root密码
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n   #是否更改root密码

 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y   #是否移除匿名用户
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n  #是否允许root用户远程登录
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y  #是否移除test数据库
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y  #重新加载权限
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
7.登录数据库
mysql -uroot -p

二进制安装

1.创建用户账号
useradd -r -s /sbin/nologin -m -d /data/mysql mysql

-m:创建系统用户时,一并创建家目录
-r:创建系统用户

rm -rf /data/mysql/*    #删除不必要的文件
2.解压缩文件
tar xvf mariadb-10.2.25-linux-x86_64.tar.gz -C /usr/local/
3.创建对应的软链接
cd /usr/local/
ln -s mariadb-10.2.25-linux-x86_64/ mysql
4.修改软链接的所属组和所有者
chown -R root.root mysql/    #软链接修改必须在后面加'/',否则会失败
5.生成数据库文件
cd /usr/local/mysql/
scripts/mysql_install_db  --datadir=/data/mysql --user=mysql
指定在哪个目录生成数据库,并指定拥有者
必须在/usr/local/mysql,否则会失败

6.生成配置文件
mkdir /etc/mysql
cp support-files/my-huge.cnf /etc/mysql/my.cnf

修改生成的配置文件
vim /etc/mysql/my.cnf
添加
datadir=/data/mysql
指定数据库路径
image.png
7.拷贝启动服务脚本
cp support-files/mysql.server /etc/init.d/mysqld
刷新,查看
chkconfig --add mysqld
chkconfig --list
启动
service mysqld start
查看端口
 ss -ntl | grep 3306
8.添加环境变量
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353