1、简述DNS服务器原理,并搭建主-辅服务器。
DNS工作原理:
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
搭建主从DNS服务器:
步骤一:DNS 的环境规划:正解、反解 zone 的预先定义案例说明
<1>. named.conf (主要配置文件)
<2>. named.abc.com (主要的abc.com的正解区域)
<3>. named.192.168.10 (主要的192.168.10.0/24的反解区域)
数据规划:
主DNS-192.168.10.3 master.abc.com (NS, A)
www.abc.com (A)
news.abc.com (CNAME)
ftp.abc.com (CNAME)
bbs.abc.com (CNAME)
www.abc.com (MX)
从DNS-192.168.10.4 slave.abc.com (NS, A)
client.abc.com(A)
192.168.10.5 测试机
配置主DNS主配置文件:
配置正反向区域:
配置正反解数据库:
主服务器验证解析是否存在问题
配置从服务器:/etc/named.rfc1912.zones
开启主从服务器named服务,查看从服务器 /var/named/slaves/目录下是否有更新过来的文件
测试机验证解析情况
2、搭建并实现智能DNS。
修改主配置文件:
编辑区域配置文件:
建立数据配置文件。
分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数相对应
[root@DNS-Server ~]# cd /var/named/
[root@DNS-Server named]# cp -a named.localhost luo.com.beijing
[root@DNS-Server named]# cp -a named.localhost luo.com.us
修改测试机网卡模式,配置IP为beijing网段,DNS指向该网段DNS服务器:
修改测试机网卡,IP为us网段,dns指向us的DNS服务器:
3、编译安装Mariadb,并启动后可以正常登录
安装编译需要的软件包:
[root@CentOS-7-2 ~]# 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
创建mysql用户:
[root@CentOS-7-2 ~]# useradd -r -s /sbin/nologin -d /data/mysql mysql
修改目录所属权限:
[root@CentOS-7-2 ~]# chown mysql.mysql /data/mysql
解压源码包:
[root@CentOS-7-2 ~]# tar xvf mariadb-10.2.25.tar.gz
执行编译:
cd mariadb-10.2.18/
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
安装:
make && make install
准备环境变量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
./etc/profile.d/mysql.sh
生成数据库文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
准备配置文件
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
准备启动脚本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
启动服务
chkconfig --add mysqld ;service mysqld start
验证mysql登陆: