第十六周作业

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

DNS服务器原理:用户访问指定域名时,先查看本机dns缓存看是否存在域名对应的ip地址,没有的话向DNS服务器发起请求,如果存在相关记录则直接返回ip地址给用户,没有的话继续发送给系统设置的根域名服务器,根域名服务器再按照域名的信息,把请求转发给相关的一级,二级等域名服务器,直到找到用户需要的域名对应的IP地址,再把找到的ip地址,再从原路一级一级返回到用户机,用户通过获取到的ip地址进行访问。

#安装bind
[root@centos8 ~]# yum install bind -y

#主DNS服务器
[root@centos8 ~]# vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query     { localhost; };
#只允许从服务器进行区域传输
allow-transfer { 10.0.0.18;};

[root@centos8 ~]# vim /etc/named.rfc1912.zones
#添加这段
zone "yyang.org" IN {
        type master;
        file "yyang.org.zone";
};

[root@centos8 ~]# vim /var/named/yyang.org.zone
$TTL 1D
@ IN SOA master admin.yyang.org. ( 1 1D 1H 1W 3D )
           NS master
           NS slave
master       A    10.0.0.8
slave       A    10.0.0.18
www          IN   CNAME  websrv
websrv        IN A    10.0.0.8
websrv        IN  A    10.0.0.18   

[root@centos8 ~]# chgrp named /var/named/yyang.org.zone
[root@centos8 ~]# systemctl start named
[root@centos8 ~]# rndc reload

#从DNS服务器
[root@centos8 ~]# yum install bind -y
[root@centos8 ~]# vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query     { localhost; };
#不允许其它主机进行区域传输
allow-transfer { none;};

[root@centos8 ~]# vim /etc/named.rfc1912.zones
zone "yyang.org" {
   type slave;
   masters { 10.0.0.8;};  

   file "slaves/yyang.org.slave";
};
[root@centos8 ~]# systemctl start named
[root@centos8 ~]# rndc reload
server reload successful
[root@centos8 ~]# ls /var/named/slaves/
yyang.org.slave

2、搭建并实现智能DNS。

#主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";

#实现区域配置文件
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

# 创建区域数据库文件
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   192.168.8.7                          
www       CNAME websrv

vim /var/named/magedu.org.zone.sh
$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                   #不是第一次启动服务

#实现位于不同区域的三个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   

3、通过编译、二进制安装MySQL5.7

脚本二进制安装5.7.31
#!/bin/bash
#
#*****************************************************************************
. /etc/init.d/functions

MYSQL=mysql-5.7.31-linux-glibc2.12-x86_64
DATADIR=/data/mysql
MYSQL_ROOT_PASSWORD=yyang
COLOR='\E[1;31m'
END='\E[0m'


check (){
    if [ $UID -ne 0 ];then
        action "当前用户不是ROOT账号,安装失败" false
        exit 1;
    fi
    
    if [ -d /data/mysql ];then 
        action "数据库已经存在" false
    else
        return
    fi
}

install_mysql (){
    echo -e "$COLOR开始安装SQL..........$END"
    yum  -y -q install libaio ncurses-c++-libs ncurses-compat-libs
    tar zxf $MYSQL.tar.gz -C /usr/local
    cd /usr/local
    ln -s $MYSQL mysql
    chown -R root.root mysql/
    groupadd -r -g 306 mysql
    useradd -r -g 306 -u 306 -d $DATADIR -s /sbin/nologin mysql
    mkdir $DATADIR -p
    chown -R mysql.mysql $DATADIR
    cat > /etc/my.cnf <<-EOF
    [mysqld]
server-id=1
log-bin

datadir=/data/mysql
socket=/data/mysql/mysql.sock                                                                               
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
EOF

    echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
    source /etc/profile.d/mysql.sh
    mysqld --initialize --user=mysql --datadir=$DATADIR &> /dev/null
    awk '/A temporary password/{print $NF}' $DATADIR/mysql.log > ~/tmp.log
    cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chown root.mysql /etc/init.d/mysqld
    echo "/etc/init.d/mysqld start" >> /etc/rc.local
    chmod +x /etc/rc.local
    
#   chkconfig --add mysqld
#   chkconfig mysqld on
    service mysqld start
    
    if [ $? -ne 0 ];then
    action "SQL 安装失败,退出" false
    exit 100
    else
    action "SQL 安装成功" true
    fi
    
    MYSQL_OLDPASSWORD=`awk '/A temporary password/{print $NF}' /data/mysql/mysql.log`
    mysqladmin  -uroot -p$MYSQL_OLDPASSWORD password $MYSQL_ROOT_PASSWORD &>/dev/null
}


check
install_mysql



#源码编译安装
#安装相关依赖包
yum -y 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  

#做准备用户和数据目录
useradd -r -s /sbin/nologin -d /data/mysql mysql
#准备数据库目录
mkdir   /data/mysql
chown mysql.mysql /data/mysql

#下载并解压缩源码包
tar xvf   mysql-5.7.31-linux-glibc2.12-x86_64
cd  mysql-5.7.31/
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_secure_installation


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • 1、搭建DHCP服务,为局域网内用户提供10.1.1.0/24网段的IP,且租约期默认为48小时 dhcp的介绍 ...
    卫清华阅读 262评论 0 0
  • 1、详细叙述ansible的工作原理 预先定义好主机清单 host inventory 将写好的命令或者play...
    ritch阅读 209评论 0 0
  • 一、简述DNS服务器原理,并搭建主-辅服务器. 域名系统(Domain Name System)是因特网的一项核...
    一叶知秋_1347阅读 116评论 0 0
  • 一、简述DNS服务器原理,并搭建主-辅服务器1、DNS服务器原理第一步:客户机提出域名解析请求,并将该请求发送给本...
    L星Y阅读 105评论 0 0
  • DAY27 一、知识点回顾 1、网络? 1、 传输介质 2、 硬件 2、两台主机之间进行通信? 3、交换网...
    chloepang阅读 453评论 0 0