目录

1 大鹏一日同风起,扶摇直上九万里

2 环境准备

3 本地Yum仓库

4 自定义Yum仓库

5 自定义Yum仓库的更新:更新的顺序不能颠倒

6 网络Yum仓库

7 Web服务提供Yum仓库(了解内容)

8 DNS服务器构建

9 特殊解析

10 递归查询(递归解析)与迭代查询(迭代解析)

11 邮件服务器

12 NTP时间服务器

13 常见DNS工单要求


1 大鹏一日同风起,扶摇直上九万里

2 环境准备

所有虚拟机设置SELinux运行模式

    [root@server ~]# getenforce
    Enforcing
    [root@server ~]# setenforce 0  #当前设置
    [root@server ~]# getenforce
    Permissive
    [root@server ~]# vim   /etc/selinux/config
    SELINUX=permissive

所有虚拟机设置防火墙(停止防火墙服务)

    [root@server ~]# yum  -y  remove  firewalld
    [root@server ~]# rpm   -q  firewalld

3 本地Yum仓库

不使用任何网络服务,本机直接提供仓库内容,本机直接使用yum工具

yum使用思路:

yum运行----》仓库配置文件----》仓库位置

完整的仓库:1.众多的软件包 2.仓库数据文件(仓库清单)

4 自定义Yum仓库

•将自己下载的RPM包,构建为Yum仓库

•完整Yum仓库:1.众多的软件包 2.仓库数据文件(仓库清单)

•第一阶段 tools.tar.gz

真机传递数据到虚拟机

虚拟机A

    [root@server ~]# ls     /root
    [root@server ~]# tar -tf    /root/tools.tar.gz 
    [root@server ~]# tar  -xf    /root/tools.tar.gz   -C   /
    [root@server ~]# ls     /
    [root@server ~]# ls    /tools/        
    [root@server ~]# ls    /tools/other/

虚拟机A

    [root@server ~]# createrepo   /tools/other #生成仓库数据文件
    [root@server ~]# ls    /tools/other/   
    [root@server ~]# vim    /etc/yum.repos.d/mydvd.repo 
    ……此处省略一万字
    [myrpm]                            #唯一标识    
    baseurl=file:///tools/other   #指定Yum仓库的路径
    gpgcheck=0                                                           
    [root@server ~]# yum   repoinfo         
    [root@server ~]# yum  -y  install  sl       #测试软件安装
    [root@server ~]# yum  -y  install  cmatrix

5 自定义Yum仓库的更新:更新的顺序不能颠倒

1. 仓库数据文件的更新

2. Yum仓库缓存的更新(每台机器都要进行)

    虚拟机A:
    [root@server ~]# mv  /tools/other/sl-5.02-1.el7.x86_64.rpm   /root
    [root@server ~]# ls  /tools/other/
    [root@server ~]# createrepo  --update  /tools/other #更新仓库数据文件
    [root@server ~]# yum  makecache   #更新缓存数据
    [root@server ~]# yum   repoinfo

6 网络Yum仓库

•网络Yum仓库:(重点知识)

虚拟机A:提供仓库内容(构建网络服务,提供仓库内容)

虚拟机B:进行访问仓库内容

虚拟机B运行yum--->仓库配置文件--->访问虚拟机A的ftp服务提供仓库内容

虚拟机C运行yum--->仓库配置文件--->访问虚拟机A的ftp服务提供仓库内容

虚拟机A:提供仓库内容(FTP服务)

    1.构建FTP服务                                                
    [root@server ~]# yum  -y   install   vsftpd
    [root@server ~]# vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=YES   #开启无需密码验证功能
    [root@server ~]# systemctl  restart  vsftpd  #重启服务
    [root@server ~]# systemctl  enable   vsftpd  #设置开机自启
    Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
    2.通过FTP提供仓库内容
    [root@server ~]# cp  -r   /tools/other    /var/ftp/rpms

 虚拟机B:进行访问仓库内容

    [root@pc2 ~]# vim  /etc/yum.repos.d/mydvd.repo
    ……此处省略一万字
    [haha]
    baseurl=ftp://192.168.88.240/rpms
    gpgcheck=0
    [root@pc2 ~]# yum  clean  all    #清空Yum的缓存
    [root@pc2 ~]# yum  repoinfo   

虚拟机A:提供仓库内容(FTP服务)

    [root@server ~]# mkdir    /var/ftp/dvd
    [root@server ~]# mount   /dev/cdrom    /var/ftp/dvd
    [root@server ~]# curl    ftp://192.168.88.240/dvd/
    [root@server /]# vim   /etc/fstab     #修改配置
    /dev/cdrom   /var/ftp/dvd   iso9660   defaults  0  0
    [root@server /]# umount    /var/ftp/dvd
    [root@server /]# ls     /var/ftp/dvd
    [root@server /]# mount    -a
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@server /]# ls    /var/ftp/dvd 
    ........
    [root@server /]# vim   /etc/yum.repos.d/mydvd.repo
    [aa]
    baseurl=ftp://192.168.88.240/dvd/AppStream
    gpgcheck=0
    [bb]
    baseurl=ftp://192.168.88.240/dvd/BaseOS
    gpgcheck=0
    [myrpm]
    baseurl=ftp://192.168.88.240/rpms
    gpgcheck=0
    [root@server ~]# yum  clean  all    #清空Yum的缓存
    [root@server ~]# yum  repoinfo

 虚拟机B:进行访问仓库内容

    [root@pc2 ~]# vim   /etc/yum.repos.d/mydvd.repo
    [aa]
    baseurl=ftp://192.168.88.240/dvd/AppStream
    gpgcheck=0
    [bb]
    baseurl=ftp://192.168.88.240/dvd/BaseOS
    gpgcheck=0
    [myrpm]
    baseurl=ftp://192.168.88.240/rpms
    gpgcheck=0
    [root@pc2 ~]# yum  clean  all    #清空Yum的缓存
    [root@pc2 ~]# yum  repoinfo  

拍摄快照:虚拟机A关闭机器拍摄快照,快照名字为"网络Yum仓库完成"

7 Web服务提供Yum仓库(了解内容)

虚拟机A:提供仓库内容(Web服务)

    1.构建Web服务
    [root@server ~]# yum  -y   install   httpd
    [root@server ~]# systemctl  restart  httpd
    [root@server ~]# systemctl  enable   httpd
    2.通过Web提供仓库内容
    [root@server ~]# mkdir    /var/www/html/dvd
    [root@server ~]# mount  /dev/cdrom   /var/www/html/dvd

 虚拟机B:进行访问仓库内容

[root@pc2 ~]# vim   /etc/yum.repos.d/mydvd.repo
[aa]
baseurl=http://192.168.88.240/dvd/AppStream
gpgcheck=0
[bb]
baseurl=http://192.168.88.240/dvd/BaseOS
gpgcheck=0
[root@pc2 ~]# yum   repoinfo

 虚拟Web主机:

    [root@server ~]# vim   /etc/httpd/conf.d/nsd01.conf
    <VirtualHost  *:80>
      ServerName  www.qq.com
      DocumentRoot  /var/www/qq
    </VirtualHost>
    <VirtualHost  *:80>
      ServerName  www.baidu.com
      DocumentRoot  /var/www/baidu
    </VirtualHost>
    <Directory   "/var/www/qq">
          Options Indexes FollowSymLinks    #显示目录内容
    </Directory>
    [root@server ~]# mkdir /var/www/qq  /var/www/baidu
    [root@server ~]# echo wo shi QQ >  /var/www/qq/index.html
    [root@server ~]# echo wo shi baidu >  /var/www/baidu/index.html
    [root@server ~]# systemctl restart httpd
    [root@server ~]# mkdir  /var/www/qq/dvd
    [root@server ~]# mount  /dev/cdrom   /var/www/qq/dvd

8 DNS服务器构建

DNS服务器的功能

正向解析:根据注册的域名查找其对应的IP地址

DNS服务器分类:

根域名服务器、一级DNS服务器、二级DNS服务器、三级DNS服务器

域名系统: 所有的域名都必须要以点作为结尾,树型结构

www.qq.com www.qq.com.

根域名 : .

一级域名 .cn .us .tw .hk .jp .kr ……….

二级域名: .com.cn .org.cn .net.cn ………

三级域名: haha.com.cn xixi.com.cn .nb.com.cn …..

Full Qualified Domain Name

FQDN(完全合格的域名):站点名+注册的域名

例子: haha.com 首页:www.haha.com

邮件:mail.haha.com

会员:vip.haha.com

•BIND(Berkeley Internet Name Daemon)

–伯克利 Internet 域名服务

–官方站点:https://www.isc.org/

• BIND服务器端程序

–主要执行程序:/usr/sbin/named

–系统服务:named

–DNS协议默认端口:53

–运行时的虚拟根环境:/var/named/chroot

•主配置文件:/etc/named.conf #设置负责解析的域名

•地址库文件:/var/named #完全合格的域名与IP地址对应关系

例如: www.haha.com 192.168.1.1

mail.haha.com 192.168.44.1

dnf.haha.com 192.168.55.2

•修改示例

•主配置文件:/etc/named.conf

options {

listen-on port 53 { any; }; #监听本机所有地址的53端口

listen-on-v6 port 53 { ::1; }; #必须删除,关于IPv6地址

……此处省略一万字

allow-query { any; }; #允许所有客户端进行DNS查询

……此处省略一万字

recursion yes; #支持递归查询

zone "." IN {

type hint;

file "named.ca";

};

zone "tedu.cn" IN {

type master;

file "tedu.cn.zone";

};

……此处省略一万字

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

•地址库文件: 完整示例

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

tedu.cn. NS server.tedu.cn.

server.tedu.cn. A 192.168.88.240

www.tedu.cn. A 1.1.1.1

ftp.tedu.cn. A 2.2.2.2

虚拟机A:构建DNS服务器

1.安装软件包

    [root@server ~]# yum  -y  install   bind    bind-chroot
    bind(主程序)
    bind-chroot(提供牢笼政策)

 2.修改主配置文件

    [root@server ~]# cp -p /etc/named.conf  /root #备份数据
    [root@server ~]# ls  -l    /root/named.conf
    [root@server ~]# vim  /etc/named.conf    #大致浏览内容
    [root@server ~]# vim   /etc/named.conf
    options  {                  
            directory     "/var/named";   #定义地址库文件存放路径
    };
    zone "tedu.cn"  IN {       #定义负责的解析tedu.cn域名
            type  master;        #权威主DNS服务器
            file   "tedu.cn.zone";     #地址库文件名称
    };

3.建立地址库文件

保证named用户对地址库文件有读取权限

如果没有以点作为结尾,那么默认补全本地库文件负责的域名

    [root@server ~]# cd    /var/named/      
    [root@server ~]# cp  -p  named.localhost  tedu.cn.zone   #保持权限不变
    [root@server ~]# ls   -l   tedu.cn.zone   
    [root@server ~]# vim     tedu.cn.zone 
    ……此处省略一万字
    NS   server      #声明DNS服务器为server
    server   A   192.168.88.240    #server解析结果为192.168.88.240
    www      A   1.1.1.1
    ftp      A   2.2.2.2
    [root@server named]# systemctl   restart    named

虚拟机B:测试DNS服务器

1.指定DNS服务器地址

    [root@server ~]# echo nameserver  192.168.88.240  >  /etc/resolv.conf
    [root@server ~]# cat  /etc/resolv.conf

2.命令测试域名解析

    [root@server ~]# nslookup    www.tedu.cn  
    [root@server ~]# host    ftp.tedu.cn  

/etc/hosts文件与/etc/resolv.conf文件

    1./etc/hosts文件域名解析最高优先级
    2./etc/resolv.conf文件指定DNS服务器地址

9 特殊解析

•DNS的泛域名解析

虚拟机A:

    [root@server /]# vim   /var/named/tedu.cn.zone
    ……此处省略一万字
                      NS    server                       
    server            A      192.168.88.240
    www              A      1.1.1.1
    ftp            A      2.2.2.2
    *               A      6.6.6.6
    tedu.cn.       A      7.7.7.7
    [root@server /]# systemctl   restart    named

虚拟机B测试:

    [root@pc2 /]#  nslookup    wwwwww.tedu.cn
    [root@pc2 /]#  nslookup     tedu.cn

•DNS有规律的泛域名解析

stu1.tedu.cn-------->192.168.1.1

stu2.tedu.cn-------->192.168.1.2

stu3.tedu.cn-------->192.168.1.3

stu4.tedu.cn-------->192.168.1.4

.........

stu50.tedu.cn-------->192.168.1.50

内置函数:$GENERATE 制造连续的数字

虚拟机A:

    [root@server /]# vim   /var/named/tedu.cn.zone
    ……此处省略一万字
                     NS    server                       
    server           A      192.168.88.240
    www              A      1.1.1.1
    $GENERATE  1-50   stu$    A      192.168.1.$
    [root@server /]# systemctl   restart    named

虚拟机B测试:

    [root@pc2 /]#  nslookup    stu1.tedu.cn
    [root@pc2 /]#  nslookup     stu23.tedu.cn

•DNS的解析记录的别名

虚拟机A:

    [root@server /]# vim    /var/named/tedu.cn.zone
    ……此处省略一万字
              NS     server
    server    A      192.168.88.240
    www          A      192.168.4.20
    ftp       A      2.2.2.2
    vip       CNAME    ftp      #vip解析结果与ftp解析结果一致
    [root@server /]# systemctl   restart    named

虚拟机B:测试

    [root@pc2 ~]# nslookup    vip.tedu.cn

DNS服务器资源解析记录的类型:

NS:DNS服务器声明记录

A:正向解析记录

CNAME:解析记录的别名

10 递归查询(递归解析)与迭代查询(迭代解析)

递归查询:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交流,最终将解析结果带回来过程

迭代查询: 客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址

11 邮件服务器

•电子邮件服务器的基本功能

为用户提供电子邮箱存储空间(用户名@邮件域名)

处理用户发出的邮件 —— 传递给收件服务器

处理用户收到的邮件 —— 投递到邮箱

    [root@server /]# yum -y  install  postfix
    [root@server /]# rpm  -q  postfix  #提供邮件功能的软件
    postfix-2.10.1-9.el7.x86_64
    [root@server /]# systemctl status postfix 
    [root@server /]# useradd   yg
    [root@server /]# useradd   xln

mail 发信操作: mail -s '邮件标题' -r 发件人 收件人

    [root@server /]# yum  -y   install  mailx #提供mail命令软件
    [root@server /]# mail   -s  'test01'   -r   yg    xln
    hahaxixiehehelele
    .                #一行只有一个点表示提交   
    EOT   

 mail 收信操作: mail [-u 用户名]

    [root@server /]# mail   -u    xln
    >N  1  yg@server.tedu.cn    Fri Sep 18 17:24  18/510
    &  1            #输入邮件编号
    &  quit       #退出       

12 NTP时间服务器

作用:提供标准时间

•Network Time Protocol(网络时间协议)

•它用来同步网络中各个计算机的时间的协议

•210.72.145.39 (国家授时中心服务器IP地址)

•Stratum(分层设计)

•Stratum层的总数限制在15以内(包括15)

虚拟机A:时间服务器

1.安装软件包chrony

    [root@server /]# yum  -y  install   chrony
    [root@server /]# rpm  -q  chrony

2.修改配置文件

    [root@server /]# vim  /etc/chrony.conf      
    #pool 2.pool.ntp.org iburst  #与谁同步时间,iburst表示快速同步
    allow   all    #开头的#去掉,修改为允许所有客户端
    local  stratum  10   #开头的#去掉,本机为第10层的时间服务器

 3.重启时间服务

    [root@server /]# systemctl    restart    chronyd

虚拟机B:客户端

1.安装软件包chrony

    [root@pc2 /]# yum  -y  install   chrony

2.修改配置文件

    [root@pc2 /]# vim   /etc/chrony.conf      
    server  192.168.88.240   iburst   #与192.168.88.240同步时间

 3.重启时间服务

    [root@pc2 /]# systemctl   restart   chronyd

虚拟机B:

    4.测试:  
    [root@pc2 /]# date   -s   "2008-1-1"      
    [root@pc2 /]# date
    [root@pc2 /]# systemctl   restart   chronyd 
    [root@pc2 /]# date
    [root@pc2 /]# date

13 常见DNS工单要求

DNS服务器搭建要求:

实现DNS服务器,在192.168.88.240上构建

负责域名为sina.com,实现站点名www的解析

实现www.sina.com解析结果为192.188.16.17

    虚拟机A      
    1.安装软件包bind与bind-chroot
    2.修改主配置文件
    [root@server /]# vim         /etc/named.conf
    ........此处省略一万字
    zone    "sina.com"    IN     {
            type    master;
            file    "sina.com.zone";
    };
    3.建立地址库文件
    [root@server ~]# cd     /var/named/
    [root@server ~]# cp  -p    named.localhost     sina.com.zone
    [root@server ~]# vim    sina.com.zone
    ........此处省略一万字
                   NS      server
    server         A       192.168.88.240
    www            A       192.188.16.17
    [root@server /]# systemctl    restart    named

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐