linux练习题十三

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

        域名系统(Domain Name System)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;

 

DNS工作原理:

  第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

  第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该源纪录项,则本地的域名服务器就直接把查询的结果返回。

  第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。

  第四步:本地服务器再向上一步返度回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。知

  第五步:重复第四步,直到找道到正确的纪录。

  第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

 

主DNS服务器配置

1、 安装bind服务

yum install bind -y

2、 DNS基础配置

修改监听地址、允许查询主机列表

建议:修改为localhost表示所有ip(不建议用ip,防止主机修改ip时导致dns不可用)

vim /etc/named.conf
options {
    listen-on port 53 { localhost; };    #表示监听localhosts
    ...
    allow-query { any; };    #表示允许所有地址
    allow-transfer {192.168.44.17;};    #主服务器建议添加此配置仅允许从服务器抓取配置
}
或者可以直接注释掉    
注://单行注释,/*多行注释;C语言风格
options {
//    listen-on port 53 { 127.0.0.1; };    #表示监听localhosts
      ...
//    allow-query { localhost; };    #表示允许所有地址
}
#使配置生效
rndc reload 或 service named reload

3、 配置解析库文件

vim /var/named/yanwei.com.zone

$TTL    1D
@ IN SOA master.yanwei.com admin.yanwei.com (
                0    ; serial
                1D    ; refresh
                1H    ; retry
                1W    ; expire
                3H)    ; minimum
        NS        master
master    A        192.168.44.7
slave    A        192.168.44.17
ftp        A        1.1.1.1
db        A        2.2.2.2
www        CNAME    websrv
websrv    A        192.168.37.27

4、 配置主DNS服务器解析域

方法一、在dns配置中添加区域文件配置

vim /etc/named.conf

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

指明mage域是主dns服务器,区域数据库的文件是哪个。

方法二、一般建议区域配置放在专门的区域配置文件里面。

vim /etc/named.rfc1912.zones

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

5、检查配置文件和解析库文件语法

主配置文件语法检查:

    named-checkconf

解析库文件语法检查:

    named-checkzone "yanwei.com" /var/named/yanwei.com.zone

 

6、 重启服务 

systemctl start named

 

7、测试

host www.yanwei.com 192.168.44.7

从DNS服务器配置

1、安装bind服务

yum install bind -y

 

2、DNS基础配置

修改监听地址、允许查询主机列表

建议:修改为localhost表示所有ip(不建议用ip,防止主机修改ip时导致dns不可用)

vim /etc/named.conf

options {
    listen-on port 53 { localhost; };    #表示监听localhosts
    ...
    allow-query { any; };    #表示允许所有地址
    allow-transfer {none;};    #拒绝传送,从服务器建议添加此配置防止被抓取数据
}
#或者可以直接注释掉    
#注://单行注释,/*多行注释;C语言风格
options {
//    listen-on port 53 { 127.0.0.1; };    #表示监听localhosts
      ...
//    allow-query { localhost; };    #表示允许所有地址
    allow-transfer {none;};
}

#使配置生效
rndc reload 或 service named reload

3、配置从DNS服务器解析域

vim /etc/named.rfc1912.zones

zone "yanwei.com" {
    type slave;
    masters {192.168.44.7;};
    file "slaves/yanwei.com.zone.slave";                                     
};

4、检查配置文件和解析库文件语法

主配置文件语法检查:

    named-checkconf

解析库文件语法检查:

    named-checkzone "yanwei.com" /var/named/yanwei.com.zone

 

5、重启服务 

systemctl start named

重启服务后会自动从主服务器同步解析库文件,但是内容是加密的二进制数据。

 

6、测试

dig www.yanwei.com @192.168.44.7

dig www.yanwei.com @192.168.44.17

 

主从数据同步

1、主服务器区域文件严威.com.zone添加从节点(ns2记录)

2、版本号改为+1数字

$TTL    1D
@ IN SOA master.yanwei.com admin.yanwei.com (
                1   ; serial
                1D  ; refresh
                1H  ; retry
                1W  ; expire
                3H) ; minimum
        NS      master
master  A       192.168.44.7
slave   A       192.168.44.17
ftp     A       1.1.1.1
db      A       2.2.2.2
www     CNAME   websrv
websrv  A       192.168.44.27
websrv  A       192.168.44.37
mailsrv A       192.168.44.47

 

 

 

二、搭建并实现智能DNS。

 

1、DNS基础配置

vim /etc/named.conf

acl beijingnet {
    192.168.44.0/24;
};
acl shanghainet {
    172.16.0.0/16;
};
acl othernet {
    any;
};
options {
//    listen-on port 53 { 127.0.0.1; };    #表示监听localhosts
      ...
//    allow-query { localhost; };    #表示允许所有地址
}

#关联ACL和解析域配置文件
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.rfc1912.zones"

2、配置区域库文件

vim /var/named/yanwei.com.zone.bj 

$TTL 1D
@    IN    SOA    ns1    admin  ( 1 1H 1H 1D 3H)
    NS ns1
ns1    A    192.168.44.7
www    A    192.168.44.100
vim yanwei.com.zone.sh

$TTL 1D
@    IN    SOA    ns1    admin  ( 1 1H 1H 1D 3H)
    NS ns1
ns1    A    192.168.44.7
www    A    172.16.0.100
vim yanwei.com.zone.other

$TTL 1D
@    IN    SOA    ns1    admin  ( 1 1H 1H 1D 3H)
    NS ns1
ns1    A    192.168.44.7
www    A    8.8.8.8

3、配置解析域配置文件

vim /etc/named.rfc1912.zones.bj

zone "yanwei.com" {
    type master;
    file "yanwei.com.zone.bj";
};
vim /etc/named.rfc1912.zones.sh

zone "yanwei.com" {
    type master;
    file "yanwei.com.zone.sh";
};
vim /etc/named.rfc1912.zones

zone "yanwei.com" {
    type master;
    file "yanwei.com.zone";
};

#使配置生效

rndc reload 或 service named reload

#重启服务

systemctl restart named

 

4、检查配置文件和解析库文件语法

主配置文件语法检查:

    named-checkconf

解析库文件语法检查:

    named-checkzone "yanwei.com" /var/named/yanwei.com.zone

 

5、测试


 

 

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

#安装依赖包
    yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssldevel libevent-devel libaio-devel
#做准备用户和数据目录
    useradd –r –s /sbin/nologin –d /data/mysql/ mysql
    mkdir /data/mysql
    chown mysql.mysql /data/mysql
    tar xvf mariadb-10.2.18.tar.gz
#cmake 编译安装
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
#提示:如果出错,执行rm -f CMakeCache.txt
#准备环境变量
    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
#登录测试
[root@centos7 mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
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)]>

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值