• 第十三周运维作业


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

     答:

    DNS工作原理:
      第一步:客户机提出域名du解析请求,并将该请求发送给本zhi地的域名服务器dao。
      第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
      第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
      第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
      第五步:重复第四步,直到找到正确的纪录。
      第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

    搭建DNS主服务器 一台服务器 192.168.47.50 一台从服务端 192.168.47.70  一台客户端 192.168.47.154

    [root@centos7 ~]# yum install bind 

    编辑/etc/named.conf 配置文件

    options {
    listen-on port 53 { localhost; };
    listen-on-v6 port 53 { ::1; };
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursing-file "/var/named/data/named.recursing";
    secroots-file "/var/named/data/named.secroots";
    allow-query { any; };

    allow-transfer {192.168.47.70;};   安全策略配置

    [root@centos7 ~]#systemctl start named

    [root@centos7 ~]#systemctl enable named

    [root@centos7 named]# cp -p named.localhost jingyun.com.zone

    [root@centos7 named]# vim jingyun.com.zone

    $TTL 1D
    @ IN SOA master.jingyun.com. admin.jingyun.com. (
                         0 ; serial
                         1D ; refresh
                         1H ; retry
                         1W ; expire
                         3H ) ; minimum
                NS master1  

       NS  master2

    master1    A    192.168.47.50

    master2  A    192.168.47.70
    ftp           A     2.2.2.2
    DB          A     3.3.3.3

    www      CNAME   websrv

    websrv    A     192.168.47.154

    保存退出

    [root@centos7 named]# vim /etc/named.rfc1912.zones

    zone "jingyun.com" IN {
           type master;
           file "jingyun.com.zone";
    };

     在以上文件中添加“jingyun”区域内容并保存退出

    [root@centos7 named]# rndc reload
    server reload successful

    登录客户端 192.168.47.154

    [root@centos7 ~]# host www.jingyun.com
    www.jingyun.com is an alias for websrv.jingyun.com.
    websrv.jingyun.com has address 192.168.47.154

    [root@centos7 ~]# host db.jingyun.com
    db.jingyun.com has address 3.3.3.3
    [root@centos7 ~]# host ftp.jingyun.com
    ftp.jingyun.com has address 2.2.2.2

    搭建DNS从服务器  192.168.47.70

    [root@centos7 ~]# yum install bind     安装bing服务程序

    修改配置文件 named.conf

    vim /etc/named.conf

    options {
    listen-on port 53 { localhost; };
    listen-on-v6 port 53 { ::1; };
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursing-file "/var/named/data/named.recursing";
    secroots-file "/var/named/data/named.secroots";
    allow-query { any; };

    allow-transfer { none;};   安全配置策略

    [root@centos7 named]# vim /etc/named.rfc1912.zones    在此配置文件中添加区域

     保存退出

    [root@centos7 named]# rndc reload
    server reload successful

    在主DNS服务器配置文件目录中 

    [root@centos7 ~]# cd /var/named

    [root@centos7 named]# vim jingyun.com.zone  

    $TTL 1D
    @ IN SOA master.jingyun.com. admin.jingyun.com. (
                            2 ; serial
                           1D ; refresh
                           1H ; retry
                          1W ; expire
                           3H ) ; minimum
                    NS          master1
                    NS     master2
    master1    A    192.168.47.50
    master2    A         192.168.47.70
    ftp        A    2.2.2.2
    DB       A    3.3.3.3
    www       CNAME   websrv
    websrv   A    192.168.47.154

    @    MX  10      4.4.4.4

     添加邮件地址并修改版本号 2:serial

    [root@centos7 named]# rndc reload
    server reload successful

    启动客户端 192.168.47.154

    [root@centos7 ~]# dig -t mx jingyun.com @192.168.47.70  从DNS

    [root@centos7 ~]# dig -t mx jingyun.com @192.168.47.50  主DNS

     客户端在网络配置文件中中添加2个DNS服务器如下所示:

    [root@centos7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

    BOOTPROTO=static
    NAME=ens33
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.47.154
    FREFIX=24
    GATEWAY=192.168.47.254
    DNS1=192.168.47.50
    DNS2=192.168.47.70

    [root@centos7 ~]# systemctl restart network

    [root@centos7 ~]# dig -t mx jingyun.com

     DNS服务down机,再次执行以上命令

    [root@centos7 ~]# dig -t mx jingyun.com

    [root@centos7 ~]# systemctl stop named

    2、搭建并实现智能DNS。环境一台装有bind服务软件的服务器192.168.47.70,一台客户端192.168.47.154

    第一步:在centos7.6版本中安装bind服务软件并在主配置文件中进行相关配置 。注意:关闭防火墙、selinux服务并搭建epel源

    [root@centos7 ~]# yum install bind  

    [root@centos7 named]# cd /var/named/   在/var/named/目录下创建不同区域beijing、shanghai 的数据库

    [root@centos7 named]# ll

    -rw-r----- 1 root named 113 Sep 19 02:58 jingyun.com.zone.beijing
    -rw-r----- 1 root named 111 Sep 19 02:59 jingyun.com.zone.shanghai

    [root@centos7 named]# cat jingyun.com.zone.beijing
    $TTL 1D
    @ IN SOA ns1 admin ( 0 1D 1H 1W 3H)
    NS ns1
    ns1 A 192.168.47.70
    wwww A 172.16.47.100

    [root@centos7 named]# cat jingyun.com.zone.shanghai
    $TTL 1D
    @ IN SOA ns1 admin ( 1 1D 1H 1W 3H)
    NS ns1
    ns1 A 192.168.47.70
    www A 192.168.47.200

    [root@centos7 named]# vim /etc/named.rfc1912.zones.shanghai   定义zone的文件

     

    zone "jingyun.com" {
    type master;
    file "jingyun.com.zone.shanghai";
    };

    zone "." IN {
    type hint;
    file "named.ca";
    };

    [root@centos7 named]# vim /etc/named.rfc1912.zones.beijing   定义zone的文件

    zone "jingyun.com" {
    type master;
    file "jingyun.com.zone.beijing";
    };

    zone "." IN {
    type hint;
    file "named.ca";
    };

     [root@centos7 ~]# vim /etc/named.conf  配置主配置文件

    手动添加 如下信息并注释掉 listen-on port 53 { 127.0.0.1; };和 allow-query  {localhost; };

    acl beijingnet { 172.16.0.0/16;};    定义不同地方的用户列表和添加不通区域的数据库
    acl shanghainet { 192.168.47.0/24;};   

    view view_beijing {
    match-clients { beijingnet;};
    include "/etc/named.rfc1912.zones.beijing";
    };
    view view_shanghai {
    match-clients { shanghainet;};
    include "/etc/named.rfc1912.zones.shanghai";
    };

    保存退出并重启服务

    [root@centos7 named]# systemctl restart named
    [root@centos7 named]# rndc reload
    server reload successful

    [root@centos7 named]# named-checkconf   对配置文件进行验证

    root@centos7 named]# named-checkzone jingyun.com /var/named/jingyun.com.zone.beijing   对数据库进行验证
    zone jingyun.com/IN: loaded serial 0
    OK
    [root@centos7 named]# named-checkzone jingyun.com /var/named/jingyun.com.zone.shanghai
    zone jingyun.com/IN: loaded serial 1
    OK

     测试 启动客户端 ip地址为192.168.47.154

    [root@centos7 ~]# dig www.jingyun.com @192.168.47.70

     

    3、编译安装Mariadb,并启动后可以正常登录

     答:在centos7.6中通过yum安装 Mariadb-server  ,配置好yum源

    [root@centos7 ~]# yum install mariadb-server.x86_64

    [root@centos7 ~]# systemctl start mariadb

    [root@centos7 ~]# ss -nult

    [root@centos7 ~]# mysql
    Welcome to the MariaDB monitor. Commands end with ; or g.
    Your MariaDB connection id is 3
    Server version: 5.5.60-MariaDB MariaDB Server

    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)]>status

     

     二进制安装过程

    实验:MYSQL二进制安装过程 ,环境centos 7.6系统,firewalld、iptables、selinux关闭

    下载mysql 版本mariadb-10.2.25-linux-x86_64.tar.gz

    [root@centos7 data]# rpm -q mariadb-server  系统没有安装过mysql记录

    第一步:创建用户账号

    [root@centos7 data]# getent passwd mysql  确定是否有mysql账户

    [root@centos7 data]# useradd -r -s /sbin/nologin -d /data/mysql mysql  系统账号默认不会创建对应的家目录,如想强制创建加 –m 项该目录会自动生成一些.bashac 的文件

    [root@centos7 ~]# mkdir /data/mysql   创建存放数据的目录

    [root@centos7 local]# tar xvf mariadb-10.2.25-linux-x86_64.tar.gz  -C /usr/local

    [root@centos7 local]# du -sh mariadb-10.2.25-linux-x86_64/  看文件大小

    [root@centos7 local]# ln -s mariadb-10.2.25-linux-x86_64/ mysql  

    [root@centos7 local]# chown -R root.root mariadb-10.2.25-linux-x86_64/  更改mysql目录下的所有组和所有者,如下图

    [root@centos7 local]# chown -R root.root mysql/ 也可以指定软连接。

    第二步:生成数据在mysql目录中,会用到scripts和support-files文件

    [root@centos7 mysql]# ls scripts/ 该脚本作用就是创建数据库相关的文件,初始化用的。

    mysql_install_db

    [root@centos7 scripts]# ./mysql_install_db --datadir=/data/mysql --user=mysql  执行此脚本指定目录并指定以谁的身份。

     [root@centos7 mysql]# ll bin/

    如想运行此的脚本必须在mysql目录下执行。

    [root@centos7 mysql]# scripts/mysql_install_db --datadir=/data/mysql --user=mysql

    Installing MariaDB/MySQL system tables in '/data/mysql' ...

    OK

    [root@centos7 mysql]# ll /data/mysql

     

    系统默认存在/etc/my.cnf 配置文件但此配置文件不是二进制安装自带的所以不合适。

    [root@centos7 mysql]# ls support-files/  适合二进制安装的配置文件,如下图适于不同环境

     

    [root@centos7 mysql]# mkdir /etc/mysql  为了避免和原有的冲突自定义创建文件夹

    [root@centos7 mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf

    [root@centos7 mysql]# vim /etc/mysql/my.cnf  更改配置文件 添加数据路径

     

    启动服务 用脚本启动服务

    [root@centos7 mysql]# vim support-files/mysql.server  是启动脚本服务端

    [root@centos7 mysql]# cp support-files/mysql.server /etc/init.d/mysqld  随时启动

    [root@centos7 mysql]# chkconfig –list  启动查询

    [root@centos7 mysql]# chkconfig --add mysqld   增加启动服务端

    [root@centos7 mysql]# systemctl start mysqld  ss –nult 查看服务端端口号 3306

    客户端所在路径

    [root@centos7 ~]#  ls /usr/local/mysql/bin/mysql

    [root@centos7 ~]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh 变更客户端路径

    [root@centos7 ~]# . /etc/profile.d/mysql.sh  生效 或者source

    [root@centos7 ~]# mysql  创建成功

    MariaDB [(none)]> show databases;

    mysql安全加固

    [root@centos7 ~]# mysql_secure_installation 

    [root@centos7 ~]# mysql –p  输入口令

    实验:MYSQL源码编译安装

    系统环境设置关闭firewalld,selinux.时间同步,搭建yum源

    [root@centos7 ~]# useradd -r -s /sbin/nologin -d /data/mysql mysql 创建用户

    [root@centos7 ~]#mkdir /data/mysql

    [root@centos7 ~]#chown –R mysql:mysq. /data/mysql

    [root@centos7 ~]# tar -zxvf /usr/local/mariadb-10.2.25.tar.gz

    [root@centos7 ~]# 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  安装包

    [root@centos7 ~]# cmake .    编译安装 换行

    > -DCMAKE_INSTALL_PREFIX=/app/mysql

    > -DMYSQL_DATADIR=/data/mysql/ f

    > -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

    [root@centos7 ~]# make -j 16 && make install

     [root@centos7 mysql]# echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

    [root@centos7 ~]# . /etc/profile.d/mysql.sh

    [root@centos7 ~]# cd /app/mysql/

    [root@centos7 mysql]# scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql

    [root@centos7 ~]# cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf

    [root@centos7 ~]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

    [root@centos7 ~]#chkconfig –add mysqld

    [root@centos7 ~]#service mysqld start

    [root@centos7 ~]# mysql

    MariaDB [(none)]>

    [root@centos7 ~]# mysql_secure_installation  安全加固

  • 相关阅读:
    vs code快捷键
    封装一个运动函数
    关于数组操作方式的总结
    学习html/css基础的重点笔记
    web新手——新闻列表这样写不容易出错
    AppCan——生成Web/微信App版,调用微信JSAPI支付方式,提示WeixinJSBridge内置对象undefined
    vue slot 占位符
    vue /deep/ css 不用1级1级找了
    vue 双向绑定 2个{{}}
    axios 请求接口 f12可以返回值 但是控制台打印报错
  • 原文地址:https://www.cnblogs.com/jing-yun/p/13668752.html
Copyright © 2020-2023  润新知