一、简述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
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
指定数据库路径
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
指定数据库路径
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