一、简述DNS服务器原理,并搭建主务器。
DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS基于C/S架构,服务器端:53/udp, 53/tcp
DNS的工作原理如下图:
完整的查询请求经过的流程
Client -->hosts文件 --> Client DNS Service Local Cache --> DNS Server (recursion递归) --> DNS Server Cache -->DNS iteration(迭代) --> 根--> 顶级域名DNS-->二级域名
DNS…
搭建主-辅服务器的步骤
1、安装bind及bind-utils工具包
[root@centos7-3 ~]# yum -y install bind bind-utils
[root@centos8 ~]#cd /var/named
[root@centos8 /var/named]#ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
2、保留文件属性拷贝named.localhost文件并改名meng.org.zone
[root@centos8 /var/named]#cp -p named.localhost meng.org.zone
3、编写规则配置文件内容见图
[root@centos8 /var/named]#vim meng.org.zone
4、将规则文件写进配置文件里使系统可以找到规则文件,/etc/named.conf和/etc/named.rfc1912.zones都可以作为配置文件,尽量选择后者,文件内容见图。
[root@centos8 /var/named]#vim /etc/named.conf
[root@centos8 /var/named]#vim /etc/named.rfc1912.zones
5、对配置文件进行语法检擦
[root@centos8 /var/named]#named-checkconf
6、对规则文件进行语法检擦
[root@centos8 /var/named]#named-checkzone meng.org /var/named/meng.org.zone
zone meng.org/IN: loaded serial 20210408
OK
7、语法检擦都正常后重启服务
[root@centos8 /var/named]#rndc reload
server reload successful
二、搭建并实现智能DNS。
1、搭建环境
需要五台主机
DNS主服务器和web服务器1:192.168.8.8/24,172.16.0.8/16
web服务器2:192.168.8.7/24
web服务器3:172.16.0.7/16
DNS客户端1:192.168.8.6/24
DNS客户端2:172.16.0.6/16
关闭SElinux、关闭防火墙、时间同步
2、DNS 服务器的网卡配置
配置两个IP地址
eth0:192.168.8.8/24
eth1: 172.16.0.8/16
3、主DNS服务端配置文件实现view
yum install bind -y
vim /etc/named.conf
在文件最前面加下面行
acl beijingnet {
192.168.8.0/24;
};
acl shanghainet {
172.16.0.0/16;
};
acl othernet {
any;
};
注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
其它略
创建view
view beijingview {
match-clients { beijingnet;};
include "/etc/named.rfc1912.zones.bj";
};
view shanghaiview {
match-clients { shanghainet;};
include "/etc/named.rfc1912.zones.sh";
};
view otherview {
match-clients { othernet;};
include "/etc/named.rfc1912.zones.other";
};
include "/etc/named.root.key";
4、实现区域配置文件
vim /etc/named.rfc1912.zones.bj
zone "." IN {
type hint;
file "named.ca";
};
zone "magedu.org" {
type master;
file "magedu.org.zone.bj";
};
vim /etc/named.rfc1912.zones.sh
zone "." IN {
type hint;
file "named.ca";
};
zone "magedu.org" {
type master;
file "magedu.org.zone.sh";
};
vim /etc/named.rfc1912.zones.other
zone "." IN {
type hint;
file "named.ca";
};
zone "magedu.org" {
type master;
file "magedu.org.zone.other";
};
chgrp named /etc/named.rfc1912.zones.bj
chgrp named /etc/named.rfc1912.zones.sh
chgrp named /etc/named.rfc1912.zones.other
5、创建区域数据库文件
vim /var/named/magedu.org.zone.bj
TTL 1D
@ IN SOA master admin.magedu.org. (
2019042214 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.8.8
websrv A 172.16.0.7
www CNAME websrv
vim /var/named/magedu.org.zone.other
$TTL 1D
@ IN SOA master admin.magedu.org. (
2019042214 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.8.8
websrv A 127.0.0.1
www CNAME websrv
chgrp named /var/named/magedu.org.zone.bj
chgrp named /var/named/magedu.org.zone.sh
chgrp named /var/named/magedu.org.zone.other
systemctl start named 第一次启动服务
rndc reload 不是第一次启动服务
6、实现位于不同区域的三个WEB服务器
分别在三台主机上安装http服务
在web服务器1:192.168.8.8/24实现
yum install httpd
echo www.magedu.org in Other > /var/www/html/index.html
systemctl start httpd
在web服务器2:192.168.8.7/16
echo www.magedu.org in Beijing > /var/www/html/index.html
systemctl start httpd
在web服务器3:172.16.0.7/16
yum install httpd
echo www.magedu.org in Shanghai > /var/www/html/index.html
systemctl start httpd
7、客户端测试
分别在三台主机上访问
DNS客户端1:192.168.8.6/24 实现,确保DNS指向192.168.8.8
curl www.magedu.org
www.magedu.org in Beijing
DNS客户端2:172.16.0.6/16 实现,确保DNS指向172.16.0.8
curl www.magedu.org
www.magedu.org in Shanghai
DNS客户端3:192.168.8.8 实现,,确保DNS指向127.0.0.1
curl www.magedu.org
www.magedu.org in Other
三、通过编译、二进制安装MySQL5.7(基于centos7)
1、安装相关包
yum -y install libaio numactl-libs
2、创建用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql (false和nologin作用等价)
3、将下载好的压缩文件解压缩到/usr/local目录下
tar xf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz –C /usr/local
4、进入/usr/local目录
cd /usr/local/
5、给解压缩后的mysql文件创建软连接
ln -s mysql-5.7.29-linux-glibc2.12-x86_64/ mysql
6、指定mysql目录下的所有者、所属组
chown -R root.root /usr/local/mysql/
7、将变量写入环境配置文件并生效
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
8、主备配置文件
cp /etc/my.cnf{,.bak}
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql (数据库的位置)
skip_name_resolve=1
socket=/data/mysql/mysql.sock (socket文件位置)
log-error=/data/mysql/mysql.log (错误日志存放位置)
pid-file=/data/mysql/mysql.pid (pid文件存放位置)
[client]
socket=/data/mysql/mysql.sock (客户端socket文件位置)
9、生成数据库文件,并提取root密码
mysqld --initialize --user=mysql --datadir=/data/mysql
grep password /data/mysql/mysql.log (mysql.log文件里可以找到随机密码)
2019-12-26T13:31:30.458826Z 1 [Note] A temporary password is generated for
root@localhost: SFw%b%st_1b7
10、创建启动脚本拷贝到init.d下,再将其加入服务列表,并启动服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
11、修改口令(服务安装好后会生成随机密码,随机密码需尽快修改)
mysqladmin -uroot -p'SFw%b%st_1b7' password meng
12、登陆
mysql -uroot -pmeng