▲就业班和全程班的小伙伴看这里:(学习老王视频的作业第25-26节)
1、简述DNS服务器原理,并搭建主-辅服务器。
1.1 DNS服务
1.1.1 DNS简介
DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制。其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。
1.1.2 DNS解析过程
用户使用浏览器输入网址时域名解析过程:
(1)客户访问时,先查自己的hosts文件,有则返回
(2)客户hosts中没有就去查自己的缓存,有则返回
(3)客户缓存没有就去找dns服务器
(4)dns服务器先找根服务器获得顶级域服务器地址
(5)dns服务器在找顶级域服务器去获得二级域服务器地址
(6)dns服务器从二级域服务器获得最终的IP地址
(7)客户端从dns服务器中得到IP地址
1.1.3 DNS区域数据库文件
资源记录(Resource Record)的类型有以下几个:
(1)SOA:起始授权记录,只能有一个,必须放在第一条
(2)NS:域名服务记录,其中一个为主,可以有多个
(3)A:IPv4地址记录
(4)AAAA:IPv6地址记录
(5)CNAME:别名记录
(6)PTR:反向解析记录
(7)MX:邮件
1.2 搭建DNS主-辅服务器
l 实验环境:基于magedu.com 的主从DNS服务器搭建
① 主DNS:192.168.37.7
② 从DNS:192.168.37.17
③ WEBSRV:192.168.37.127
④ WEBSRV:192.168.37.137
⑤ MAILSRV :192.168.37.147
⑥ 泛域名SRV:192.168.37.157
l 实验过程
(一)主服务器正向DNS
1.0、软件安装及配置
#yum install bind -y
#systemctl start named
#vim /etc/named.conf
listen-on prot 53 { localhost; };
allow-query { any; };
:wq
#systemctl start named
1.1、正向区域数据库
#cd /var/named
#cp named.localhost magedu.com.zone -p
#vim /var/named/magedu.com.zone
$TTL 1D
@ IN SOA ns1.magedu.com. admin.magedu.com. ( 1 1D 1H 1W 2D )
NS ns1
ns1 A 192.168.37.7
@ MX 10 mailsrv
mailsrv A 192.168.37.147
www CNAME websrv
websrv A 192.168.37.127
websrv A 192.168.37.137
:wq
1.2、正向区域配置文件生效
#vim /etc/named.rfc1912.zones
// named.rfc1912.zones:
zone "magedu.com" {
type master;
file "magedu.com.zone";
};
:wq
#named-checkconf
#named-checkzone magedu.com /var/named/magedu.com.zone
#rndc reload
(二)主DNS反向区域
2.1、反向区域数据库
# vim /var/named/192.168.37.zone
$TTL 1D
@ IN SOA ns1.magedu.com. admin ( 1 1D 1H 1W 2D )
NS ns1
ns1 A 192.168.37.7
127 PTR websrv.magedu.com.
7 PTR ns1.magedu.com.
147 PTR mailsrv.magedu.com.
:wq
2.2、反向区域配置文件生效
#vim /etc/named.rfc1912.zones
zone "37.168.192.in-addr.arpa" {
type master;
file "192.168.37.zone";
};
:wq
#systemctl start named
(三)从服务器实现
3.0、软件安装及配置
#yum install bind -y
#vim /etc/named.conf
listen-on prot 53 { localhost; };
allow-query { any; };
:wq
3.1、配置从属配置文件
#vim /etc/named.rfc1912.zones
zone "magedu.com" {
type slave;
masters {192.168.37.7;};
file "slaves/magedu.com.zone.slave";
};
:wq
#systemctl restart named
(四)安全加固
4.1、在主服务器
#vim /etc/named.conf
allow-transfer {192.168.37.17;};
:wq
#vim /var/named/magedu.com.zone
@ IN SOA ns1 admin ( 3 3H 10M 12H 1H )
NS ns1
NS ns2
ns1 A 192.168.37.7
ns2 A 192.168.37.17
:wq
#rndc reload
4.2、在从服务器上
#vim /etc/named.conf
allow-transfer {none;};
:wq
#rndc reload
2、搭建并实现智能DNS。
l 实验环境:192.168.37.7
l 实验过程:
1、全局配置文件
# vim /etc/named.conf
//listen-on prot 53 { localhost; };
//allow-query { any; };
dnssec-enable no;
dnssec-validation no;
//acl 策略配置
acl beijingnet {
192.168.37.0/24;
192.168.38.0/24;
};
acl shanghainet{
172.16.0.0/16;
172.18.0.0/16;
};
acl othernet {
any;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//配置VIEW
view view_beijing {
match-clients { beijingnet;};
include "/etc/named.rfc1912.zones.bj";
};
view view_shanghai {
match-clients { shanghainet;};
include "/etc/named.rfc1912.zones.sh";
};
view view_other {
match-clients { othernet;};
include "/etc/named.rfc1912.zones";
};
include "/etc/named.root.key";
:wq
2、创建区域数据库文件生效配置
# vim /etc/named.rfc1912.zones.bj
zone "magedu.com" {
type master;
file "magedu.com.zone.bj";
};
:wq
#vim /etc/named.rfc1912.zones.sh
zone "magedu.com" {
type master;
file "magedu.com.zone.sh";
};
:wq
#vim /etc/named.rfc1912.zones
zone "magedu.com" {
type master;
file "magedu.com.zone.other";
};
:wq
#chgrp named /etc/named.rfc1912.zones.*
3、创建区域数据库文件
#vim /var/named/magedu.com.zone.bj
$TTL 1D
@ IN SOA ns1 admin ( 1 1H 1H 1D 3H)
NS ns1
ns1 A 192.168.37.7
www A 192.168.37.100
;wq
#vim /var/named/magedu.com.zone.sh
$TTL 1D
@ IN SOA ns1 admin ( 1 1H 1H 1D 3H)
NS ns1
ns1 A 192.168.37.7
www A 172.16.0.100
:wq
#vim /var/named/magedu.com.zone.other
$TTL 1D
@ IN SOA ns1 admin ( 1 1H 1H 1D 3H)
NS ns1
ns1 A 192.168.37.7
www A 8.8.8.8
:wq
#chgrp /var/named/named magedu.com.zone.*
#systemctl restart named
3、编译安装Mariadb,并启动后可以正常登录
0 准备
下载mariadb源码包并解压到指定目录
1 安装依赖的包
#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 libdb-cxx-devel
2 创建 mysql 用户
#useradd -r -s /sbin/nologin -d /data/mysql mysql
3 建立数据库文件夹并调整属性
#mkdir /data/mysql ;chown mysql.mysql /data/mysql
4 编译配置文件
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
5 安装编译
#make
#make install
6 准备环境变量
#echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
#. /etc/profile.d/mysql.sh
7 生成数据库文件
#cd /app/mysql/
#scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
8 准备配置文件
#cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
9 准备启动脚本
#cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
10 启动服务
#chkconfig --add mysqld
#service mysqld start
11 登录
#mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 10.2.25-MariaDB-log Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>