SERVICES部分笔记

SERVICES部分笔记

  • 一、KVM构建及管理
    • 10.1、KVM组件
    • 10.2、KVM管理命令
    • 10.3、KVM虚拟机的组成
    • 10.4、手动克隆KVM虚拟机
    • 10.5手动克隆kvm虚拟机(virsh edit 虚拟机名字)
    • 10.6、手动删除KVM虚拟机
    • 10.7、COW技术
    • 10.8、离线访问虚拟机
  • 二、Web服务(httpd)
    • 2.1、搭建独立WEB主机
    • 2.2、虚拟WEB主机
      • 2.2.1、创建虚拟主机
      • 2.2.2、基于端口的虚拟主机
  • 三、NFS共享服务
  • 四、触发挂载
  • 五、DNS
    • 5.1、搭建基本的DNS服务
    • 5.2、多区域的DNS服务器
    • 5.3、特殊解析记录
      • 5.3.1、DNS轮询
      • 5.3.2、泛域名解析
      • 5.3.2、解析记录的别名
    • 5.4、DNS子域授权
    • 5.5、DNS主从架构
    • 5.6、DNS主从数据的同步
    • 5.7、缓存DNS服务器
    • 5.8、DNS服务器分离解析
  • 六、邮件服务器
    • 6.1、构建DNS服务器,提供邮件交换解析记录
    • 6.2、构建邮件服务器
    • 6.3、测试
  • 七、WEB服务项目实战
    • 7.1、实验拓扑
    • 7.2、要求
    • 7.3、实验规划
    • 7.4、WEB服务配置
      • 7.4.1、web1
      • 7.4.2、web2
    • 7.5、DNS 服务配置
    • 7.6、客户端测试
  • 七、NTP时间同步
  • 八、PXE装机
    • 8.1、DHCP服务器
    • 8.2、TFTP服务器
    • 8.3、FTP服务器
    • 8.4、生成应答文件
    • 8.5、PXE引导安装虚拟机
  • 九、rsync同步操作

一、KVM构建及管理

10.1、KVM组件

]# yum -y install qemu-kvm						#提供底层仿真支持
]# yum -y install libvirt-daemon				#守护进程,管理虚拟机
]# yum -y install libvirt-client				#用户端软件,提供客户端管理命令
]# yum -y install libvirt-daemon-driver-qemu	#连接 qemu 的驱动
]# yum -y install virt-manager					#图形管理工具

10.2、KVM管理命令

  • 打开虚拟机图形管理工具
]# virt-manager		#打开虚拟机图形管理工具
  • 查看KVM节点(服务器)信息
]# virsh  nodeinfo
CPU 型号:        x86_64
CPU:               4
CPU 频率:        2591 MHz
CPU socket:        4
每个 socket 的内核数: 1
每个内核的线程数: 1
NUMA 单元:       1
内存大小:      8388020 KiB
  • 列出虚拟机
]# virsh  list  [--all]
[root@svr7 ~]# virsh list 
 Id    名称                         状态
----------------------------------------------------
 2     centos7.0                      running
  • 查看指定虚拟机的信息
]# virsh  dominfo  虚拟机名称
  • 运行|重启|关闭指定的虚拟机
]# virsh  start或reboot或shutdown  虚拟机名称
  • 强制关闭指定的虚拟机
]# virsh  destroy  虚拟机名称
  • 将指定的虚拟机设为开机自动运行
]# virsh  autostart  [--disable]  虚拟机名称

10.3、KVM虚拟机的组成

  • xml配置文件:

    • 定义虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置
    • 默认存放路径:/etc/libvirt/qemu/
    • 以 “ .xml ”结尾的文件
  • 磁盘镜像文件:

    • 保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义
    • 默认存放路径: /var/lib/libvirt/images/
    • 以 “ .qcow2 ”结尾的文件

10.4、手动克隆KVM虚拟机

  • 建立新的磁盘镜像文件
[root@svr7 ~]# virsh destroy centos7.0
[root@svr7 ~]# cd /var/lib/libvirt/images/
[root@svr7 images]# cp centos7.0.qcow2  nsd01.qcow2
[root@svr7 images]# ls
centos7.0.qcow2  nsd01.qcow2
  • 建立新的xml配置文件
[root@svr7 images]# cd /etc/libvirt/qemu/
[root@svr7 qemu]# cp centos7.0.xml nsd01.xml
[root@svr7 qemu]# ls 
centos7.0.xml  networks  nsd01.xml
[root@svr7 qemu]# vim nsd01.xml
<name>nsd01</name>				#修改xml文件中定义虚拟机名字的行
<source file='/var/lib/libvirt/images/nsd01.qcow2'/>#修改xml文件中定义虚拟机磁盘镜像文件的行
<uuid>6516.......</uuid>    #定义UUID的行全部删除
<mac address='5......:cf'/>   #定义Mac地址的行全部删除
  • 导入虚拟机xml配置文件信息
[root@svr7 ~]# virsh define /etc/libvirt/qemu/nsd01.xml 
定义域 nsd01(从 /etc/libvirt/qemu/nsd01.xml)
[root@svr7 ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7.0                      关闭
 -     nsd01                          关闭
[root@svr7 ~]# virsh start nsd01
域 nsd01 已开始
[root@svr7 ~]# virsh list 
 Id    名称                         状态
----------------------------------------------------
 3     nsd01                          running

10.5手动克隆kvm虚拟机(virsh edit 虚拟机名字)

  • 建立新的磁盘镜像文件
[root@svr7 ~]#  virsh destroy nsd01   #关闭虚拟机nsd01
[root@svr7 ~]# cd  /var/lib/libvirt/images/     #切换到磁盘文件路径
[root@svr7 images]# cp  nsd01.qcow2    stu05.qcow2
[root@svr7 images]# ls
  • 建立新的xml配置文件
[root@svr7 /]# virsh edit nsd01  #编辑并且导入
编辑了域 stu05 XML 配置。

1)虚拟机的名字:<name>stu05</name>

2)虚拟机的UUID:<uuid>6516.......</uuid>   #整行删除

3)修改虚拟机的磁盘镜像文件:
<source file='/var/lib/libvirt/images/stu05.qcow2'/>

4)虚拟机的网卡MAC地址:<mac address='5......:cf'/>  #整行删除

[root@svr7 /]# virsh list --all

10.6、手动删除KVM虚拟机

[root@svr7 ~]# virsh shutdown nsd01
域 nsd01 被关闭
[root@svr7 ~]# virsh undefine nsd01
域 nsd01 已经被取消定义
[root@svr7 ~]# virsh list --all
[root@svr7 ~]# rm -rf /var/lib/libvirt/images/nsd01.qcow2

10.7、COW技术

  • Copy On Write,写时复制

    • 前端盘直接映射原始盘(后端盘)的数据内容
    • 原始盘(后端盘)内容不变,并且不能修改原始盘内容,否则所有前端盘无法使用
    • 对前端盘的修改不回写到原始盘(后端盘)
  • 快速生成磁盘镜像文件

  • 命令格式:

    • qemu-img create -f qcow2 -b 后端盘 前端盘
      • -b 选项用来指定后端盘
[root@svr7 ~]# cd /var/lib/libvirt/images/
[root@svr7 images]# ls
centos7.0.qcow2
[root@svr7 images]# qemu-img create -f qcow2 -b centos7.0.qcow2  nsd01.qcow2
Formatting 'nsd01.qcow2', fmt=qcow2 size=21474836480 backing_file='centos7.0.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off 

[root@svr7 images]# du -sh nsd01.qcow2
196K	nsd01.qcow2
  • 查看前端盘
[root@svr7 images]# qemu-img info nsd01.qcow2
image: nsd01.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)	#虚拟大小
disk size: 196K							#实际占用磁盘空间
cluster_size: 65536
backing file: centos7.0.qcow2			#后端盘
Format specific information:
    compat: 1.1
    lazy refcounts: false
  • 建立新的xml配置文件
[root@svr7 qemu]# pwd
/etc/libvirt/qemu
[root@svr7 qemu]# ls
centos7.0.xml  networks
[root@svr7 qemu]# cp centos7.0.xml nsd01.xml
[root@svr7 qemu]# vim nsd01.xml
<name>nsd01</name>				#修改xml文件中定义虚拟机名字的行
<source file='/var/lib/libvirt/images/nsd01.qcow2'/>	#修改xml文件中定义虚拟机磁盘镜像文件的行
<uuid>6516.......</uuid>    #定义UUID的行全部删除
<mac address='5......:cf'/>   #定义Mac地址的行全部删除
  • 导入虚拟机xml配置文件信息
[root@svr7 ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7.0                      关闭

[root@svr7 ~]# virsh define /etc/libvirt/qemu/nsd01.xml 
定义域 nsd01(从 /etc/libvirt/qemu/nsd01.xml)

[root@svr7 ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7.0                      关闭
 -     nsd01                          关闭

10.8、离线访问虚拟机

  • 使用 guestmount 工具

    • 支持离线挂载 raw、qcow2 格式虚拟机磁盘

    • 可以在虚拟机关机的情况下,直接修改磁盘中的文档

    • 方便对虚拟机定制、修复、脚本维护

    • 命令格式:

      • guestmount -a 虚拟机磁盘路径 -i /挂载点

        • -a 检测客户机磁盘文件
        • -i 自动检测客户机磁盘文件,并挂载
        • -o nonempty 挂载点非空(里面有东西)
[root@svr7 ~]# yum -y install libguestfs-tools-c

[root@svr7 ~]# guestmount -a /var/lib/libvirt/images/nsd01.qcow2  -i /mnt/
[root@svr7 ~]# guestmount -o nonempty -a /var/lib/libvirt/images/nsd01.qcow2  -i  /mnt

[root@svr7 ~]# ls /mnt/
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

二、Web服务(httpd)

  • Web服务:提供页面内容

  • Web服务器:提供页面内容的机器

  • HTML : 超文本标记语言(书写网页的语言)

  • http协议:超文本传输协议

    • http协议默认端口:80
  • https协议:安全的超文本传输协议

  • 可以提供Web服务功能的软件(httpd、Nginx、Tomcat)

  • 默认的网页根目录 : /var/www/html

  • 首页文件名 : index.html

  • 默认的监听端口 : 80

  • URL 统一资源定位器

    • Uniform Resource Locator

2.1、搭建独立WEB主机

  • 虚拟机A:服务端
    • 防火墙默认区域修改为trusted
    • selinux修改为宽松模式
[root@svr7 ~]# yum -y install httpd		#安装提供服务的软件
[root@svr7 ~]# systemctl start httpd	#启动hhtpd服务
[root@svr7 ~]# systemctl enable httpd	#设置开机自启
[root@svr7 ~]# vim /var/www/html/index.html		#默认存放网页文件的路径
[root@svr7 ~]# cat /var/www/html/index.html
人在塔在

[root@pc207 ~]# curl   http://192.168.4.7		#curl为非图形的浏览器
人在塔在
  • 修改网页根目录(存放网页文件路径)
[root@svr7 ~]# mkdir /var/www/myweb			#创建新的网页根目录
[root@svr7 ~]# echo "wo shi myweb" > /var/www/myweb/index.html
[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf	#修改httpd主配置文件
119 DocumentRoot "/var/www/myweb"
[root@svr7 ~]# systemctl restart httpd

[root@pc207 ~]# curl   http://192.168.4.7		#客户端测试
wo shi myweb
  • httpd服务访问控制:针对存放网页文件路径
    • 子目录的访问控制,会继承父目录的访问控制
    • 除非针对子目录有单独的访问控制
<Directory  存放网页文件路径>
    Require all denied			#拒绝所有客户端访问
</Directory>

<Directory  "/var/www">   #针对/var/www实行访问控制
    Require all granted     #允许所有客户端访问
</Directory>

  • 指定新的网页文件目录
[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf 
130 DocumentRoot "/webroot"		#指定新的网页文件目录
131 
132 <Directory "/webroot">		#针对/webroot实行访问控制
133     Require all granted		#允许所有客户端访问
134 </Directory>

[root@svr7 ~]# mkdir /webroot
[root@svr7 ~]# echo wo shi webroot > /webroot/index.html
[root@svr7 ~]# systemctl restart httpd

[root@pc207 ~]# curl   http://192.168.4.7
wo shi webroot
  • 修改httpd监听的端口号
    • http协议默认端口:80
[root@svr7 ~]# vim /etc/httpd/conf/httpd.conf 
42 Listen 8000
[root@svr7 ~]# systemctl restart httpd

[root@pc207 ~]# curl   http://192.168.4.7:8000
wo shi webroot

2.2、虚拟WEB主机

  • 由同一台服务器提供多个不同的Web站点

  • 虚拟Web主机一旦启用,所有的站点都必须要用虚拟Web主机功能呈现

  • 配置文件路径

    • /etc/httpd/conf/httpd.conf #主配置文件
    • /etc/httpd/conf.d/*.conf #调用配置文件

2.2.1、创建虚拟主机

  1. 建立一个新的调用配置文件
[root@svr7 ~]# vim /etc/httpd/conf.d/nsd01.conf
[root@svr7 ~]# cat /etc/httpd/conf.d/nsd01.conf
<VirtualHost    *:80>     #在本机的所有IP地址都监听80端口
  ServerName   www.qq.com    #指定网站名称
  DocumentRoot   /var/www/qq   #指定存放网页路径
</VirtualHost>

<VirtualHost    *:80>
  ServerName   www.baidu.com
  DocumentRoot   /var/www/baidu
</VirtualHost>
  1. 创建网页
[root@svr7 ~]# mkdir /var/www/qq  /var/www/baidu
[root@svr7 ~]# echo "wo shi qq" > /var/www/qq/index.html
[root@svr7 ~]# echo "wo shi baidu" > /var/www/baidu/index.html
[root@svr7 ~]# systemctl restart httpd
  1. 测试访问
[root@pc207 ~]# vim /etc/hosts
192.168.4.7 www.qq.com www.baidu.com		#只能为本机提供域名解析
[root@pc207 ~]# curl http://www.baidu.com
wo shi baidu
[root@pc207 ~]# curl http://www.qq.com
wo shi QQ

2.2.2、基于端口的虚拟主机

  1. 修改调用配置文件
[root@svr7 ~]# vim /etc/httpd/conf.d/nsd01.conf 
[root@svr7 ~]# cat /etc/httpd/conf.d/nsd01.conf
listen 8000
<VirtualHost    *:8000>    
  ServerName   www.qq.com  
  DocumentRoot   /var/www/qq
</VirtualHost>
listen 9000
<VirtualHost    *:9000>
  ServerName   www.baidu.com
  DocumentRoot   /var/www/baidu
</VirtualHost>
[root@svr7 ~]# systemctl restart httpd
  1. 测试
[root@pc207 ~]# curl http://www.baidu.com:9000
wo shi baidu
[root@pc207 ~]# curl http://www.qq.com:8000
wo shi QQ

三、NFS共享服务

  • Network File System 网络文件系统

    • 用途:为客户机提供共享使用的文件夹

    • 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)

    • 所需软件包:nfs-utils

    • 系统服务:nfs-server

  • 检查系统中是否安装了nfs-utils

[root@svr7 ~]# yum -y install nfs-utils
[root@svr7 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64
  • 创建共享目录
[root@svr7 ~]# mkdir /public
[root@svr7 ~]# echo 123 > /public/1.txt
[root@svr7 ~]# ls /public
1.txt
  • 修改配置文件
[root@svr7 ~]# vim /etc/exports
/public           *(ro)		 #允许所有客户端以只读方式进行访问 
  • 重启服务
[root@svr7 ~]# systemctl restart rpcbind	#必须优先启动rpcbind服务
[root@svr7 ~]# systemctl restart nfs-server
  • 挂载使用
[root@pc207 ~]# mkdir /mnt/nfsmount 
[root@pc207 ~]# mount 192.168.4.7:/public /mnt/nfsmount
[root@pc207 ~]# ls /mnt/nfsmount
1.txt

[root@pc207 ~]# vim /etc/fstab
192.168.4.7:/public     /mnt/nfsmount     nfs     defaults,_netdev    0   0
[root@pc207 ~]# mount -a

四、触发挂载

  • 由 autofs 服务提供的“按需访问”机制

    • 只要访问挂载点,就会触发响应,自动挂载指定设备
    • 闲置超过时限(默认5分钟)后,会自动卸载
    • 触发挂载需要两级目录:
      • 第一级目录为监控目录,第二级目录为挂载点
  • 主配置文件 /etc/auto.master

    • 监控点目录 挂载配置文件的路径
  • 默认挂载配置文件, /etc/auto.misc

    • 触发点子目录 -挂载参数 :设备名
  • 提供服务的软件包 autofs

  • 安装软件

[root@pc207 ~]# yum -y install autofs
[root@pc207 ~]# systemctl restart autofs
  • 触发挂载
[root@pc207 ~]# ls /misc/
[root@pc207 ~]# ls /misc/cd
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

[root@pc207 ~]# cat /etc/auto.misc
#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd		-fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

# the following entries are samples to pique your imagination
#linux		-ro,soft,intr		ftp.example.org:/pub/linux
#boot		-fstype=ext2		:/dev/hda1
#floppy		-fstype=auto		:/dev/fd0
#floppy		-fstype=ext2		:/dev/fd0
#e2floppy	-fstype=ext2		:/dev/fd0
#jaz		-fstype=ext2		:/dev/sdc1
#removable	-fstype=ext2		:/dev/hdd
  1. 手动创建监控目录
[root@pc207 ~]# mkdir /nsd
  1. 修改主配置文件
[root@pc207 ~]# cat /etc/auto.master
/nsd /opt/nsd.txt
  1. 建立挂载配置文件
[root@pc207 ~]# cp /etc/auto.misc /opt/nsd.txt
[root@pc207 ~]# vim /opt/nsd.txt
[root@pc207 ~]# cat /opt/nsd.txt
dc      		-fstype=iso9660      :/dev/cdrom
tc				-fstyoe=nfs	     	 192.168.4.7:/public
挂载点目录      设备的文件系统类型       挂载的设备
[root@pc207 ~]# systemctl restart autofs
  1. 测试
[root@pc207 ~]# ls /nsd/tc
1.txt
[root@pc207 ~]# ls /nsd/dc
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@pc207 ~]# ls /nsd/
dc  tc

五、DNS

  • 域名系统(服务)协议

  • DNS服务器的功能(互联网中的导航员)

    • 正向解析:根据注册的域名查找其对应的IP地址
    • 反向解析:根据IP地址查找对应的注册域名,不常用
  • 根域名: . (一个点)

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

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

    三级域名: dc.com.cn tc.com.cn nb.com.cn …

  • DNS服务器的分类

    • 根域名服务器、一级DNS服务器、 二级DNS服务器、 三级DNS服务器
  • Full Qualified Domain Name

    • 完全的合格的主机名(FQDN):站点名+注册的域名
    • www.dc.com.cn vip.dc.com.cn ftp.dc.com.cn
  • DNS服务器资源解析记录的类型

    • NS解析记录:声明DNS服务器

    • A解析记录:正向解析记录

    • CNAME解析记录:解析记录别名

5.1、搭建基本的DNS服务

  • BIND(Berkeley Internet Name Daemon)

    • 伯克利 Internet 域名服务
    • bind-chroot(提供虚拟根支持,牢笼政策)
      • https://blog.csdn.net/zhu_tianwei/article/details/45049795
    • bind(域名服务主程序包)
  • BIND服务器端程序

    • 主要执行程序:/usr/sbin/named
    • 系统服务:named
    • 默认端口:DNS协议的端口 53
    • 运行时的虚拟根环境:/var/named/chroot/
  • 主配置文件:/etc/named.conf #设置负责解析的域名

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

虚拟机A

  • 安装软件包
[root@svr7 ~]# yum -y install bind-chroot   bind
  • 修改主配置文件
[root@svr7 ~]# cp   /etc/named.conf    /root
[root@svr7 ~]# vim   /etc/named.conf
options {
        directory       "/var/named";       #指定地址库文件存放目录
};
zone "tedu.cn" IN {          				#指定本机负责解析的域名
        type master;             			#指定本机为权威主服务器
        file "tedu.cn.zone";   				#地址库文件名字
};
  • 建立地址库文件
    • 保证named用户对地址库文件有读权限
    • 地址库文件所有的域名都要以点作为结尾
    • 地址库文件如果不以点作为结尾,默认补全本地址库文件负责的域名
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp  -p   named.localhost      tedu.cn.zone   #-p保持权限不变
[root@svr7 named]# ls -l tedu.cn.zone
[root@svr7 named]# vim   tedu.cn.zone
 .......此处省略一万字
tedu.cn.    	NS     svr7    			#NAMESERVER  声明DNS服务器
svr7          	A      192.168.4.7		#代表了正向解析记录
www         	A      1.1.1.1
ftp             A      2.2.2.2
vip            	A      3.3.3.3
  • 重启服务
[root@svr7 named]# systemctl restart named

虚拟机B

  • 指定DNS地址
[root@pc207 ~]# echo nameserver 192.168.4.7  >  /etc/resolv.conf
  • 测试结果
[root@pc207 ~]# nslookup  www.tedu.cn 
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.tedu.cn
Address: 1.1.1.1
[root@pc207 ~]# nslookup  ftp.tedu.cn 
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	ftp.tedu.cn
Address: 2.2.2.2
[root@pc207 ~]# nslookup  vip.tedu.cn 
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	vip.tedu.cn
Address: 3.3.3.3

5.2、多区域的DNS服务器

虚拟机A

  • 修改主配置文件
[root@svr7 ~]# vim /etc/named.conf 
[root@svr7 ~]# cat /etc/named.conf
options {
	directory 	"/var/named";
};
zone "tedu.cn" IN {
	type master;
	file "tedu.cn.zone";
};
zone "qq.com" IN {         
        type master;              
        file "qq.com.zone";     
};
  • 建立地址库文件
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp -p named.localhost qq.com.zone
[root@svr7 named]# vim qq.com.zone
[root@svr7 named]# cat qq.com.zone
.......此处省略一万字
qq.com.    		NS     svr7    
svr7          	A      192.168.4.7
www         	A      5.5.5.5
[root@svr7 named]# systemctl restart named
  • 测试
[root@pc207 ~]# nslookup  www.qq.com
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.qq.com
Address: 5.5.5.5

5.3、特殊解析记录

5.3.1、DNS轮询

  • **DNS****轮询:基于DNS的站点负载均衡

    • 一个域名 —> 多个不同IP地址
    • 每个IP提供镜像服务内容
  • 以www.qq.com为例

[root@svr7 /]# vim   /var/named/qq.com.zone 
 .......此处省略一万字

qq.com.  	NS       svr7
svr7        A        192.168.4.7
www       	A        192.168.4.10
www       	A        192.168.4.20
www       	A        192.168.4.30
[root@svr7 /]# systemctl  restart  named

[root@pc207 ~]# ping  www.qq.com   #测试

5.3.2、泛域名解析

[root@svr7 /]# vim   /var/named/qq.com.zone 

 .......此处省略一万字

qq.com.    	NS      svr7
svr7        A       192.168.4.7
www         A       192.168.4.10
www         A       192.168.4.20
www         A       192.168.4.30
\*                A       6.6.6.6
qq.com.    A        7.7.7.7

[root@svr7 /]# systemctl  restart  named

[root@pc207 ~]# nslookup wwww.qq.com      #测试
[root@pc207 ~]# nslookup qq.com                  #测试

5.3.2、解析记录的别名

[root@svr7 /]# vim   /var/named/qq.com.zone 
 .......此处省略一万字
qq.com.   	NS            svr7
svr7        A             192.168.4.7
www         A             192.168.4.10 
www         A             192.168.4.20
www         A             192.168.4.30
\*          A             6.6.6.6
qq.com.     A             7.7.7.7
vip         A             8.8.8.8
mail        CNAME    	  vip

[root@svr7 /]# systemctl  restart  named

[root@pc207 ~]# nslookup  mail.qq.com
Server:  192.168.4.7
Address: 192.168.4.7#53

mail.qq.com canonical name = vip.qq.com.	#mail.qq.com规范名称= vip.qq.com.
Name: vip.qq.com
Address: 8.8.8.8

5.4、DNS子域授权

  • 适用于同一个DNS组织

    • 父/子域的解析工作由不同的DNS服务器负责
    • 父DNS服务器应该有为子域迭代的能力
  • 递归解析:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交互,最终将解析结果带回来过程

  • 迭代解析:客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个服务器的IP地址

  • 虚拟机B:负责域名bj.tedu.cn(子域)

  1. 安装软件包
[root@pc207 ~]# yum -y install bind-chroot   bind
  1. 修改主配置文件
[root@pc207 ~]# cp   /etc/named.conf    /root
[root@pc207 ~]# vim   /etc/named.conf
options {
        directory       "/var/named";
};

zone "bj.tedu.cn" IN {
        type master;
        file   "bj.tedu.cn.zone";
};
  1. 建立地址库文件
[root@pc207 ~]# cd /var/named/
[root@pc207 named]# cp  -p   named.localhost      bj.tedu.cn.zone
[root@pc207 named]# vim   bj.tedu.cn.zone
[root@pc207 named]# cat bj.tedu.cn.zone
$TTL 1D
@	IN SOA	@ rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
bj.tedu.cn.    NS   pc207
pc207          A    192.168.4.207
www            A    9.9.9.9

[root@pc207 named]# systemctl restart named
  • 虚拟机A:负责域名tedu.cn(父域)
    • 子域授权,告知虚拟机A,虚拟机B是专门维护bj.tedu.cn的DNS服务器
[root@svr7 /]# vim   /var/named/tedu.cn.zone 
 .......此处省略一万字
tedu.cn.       NS    svr7
bj.tedu.cn.    NS    pc207
svr7           A     192.168.4.7
pc207          A     192.168.4.207
www            A     1.1.1.1
ftp            A     2.2.2.2
vip            A     3.3.3.3

[root@svr7 /]# systemctl restart named
  • 虚拟机B:进行测试
[root@pc207 /]# nslookup www.bj.tedu.cn 192.168.4.7
Server:  192.168.4.7
Address:         192.168.4.7#53

Non-authoritative answer:     #非权威解答
Name: www.bj.tedu.cn
Address: 9.9.9.9
  • 虚拟机A:禁止递归查询
[root@svr7 /]# vim  /etc/named.conf 
options {
        directory       "/var/named";
        recursion no;       #禁止DNS递归查询
};
zone "tedu.cn" IN {
        type master;
        file "tedu.cn.zone";
};
zone "qq.com" IN {
        type master;
        file "qq.com.zone";
};

[root@svr7 /]# systemctl restart named
  • 虚拟机B测试
[root@pc207 /]# nslookup   www.bj.tedu.cn   192.168.4.7
Server:  192.168.4.7
Address: 192.168.4.7#53
 
Non-authoritative answer:
*** Can't find www.bj.tedu.cn: No answer

[root@pc207 /]# dig  www.bj.tedu.cn  192.168.4.7 #专门用于DNS查询过程的命令dig

5.5、DNS主从架构

  • 作用:可靠性的提升,从DNS服务器备份,主DNS服务器数据

虚拟机A:主DNS服务器,以tedu.cn域名为例

虚拟机B:从DNS服务器,以tedu.cn域名为例

  • 虚拟机A:主DNS服务器
  1. 授权从服务器
[root@svr7 /]# man   named.conf      #参考man帮助
 /allow
[root@svr7 /]# vim   /etc/named.conf 
options {
     directory       "/var/named";
     allow-transfer   {     192.168.4.207;    };    #指定从服务器地址
};
 .......此处省略一万字
  1. 修改地址库文件
[root@svr7 /]# vim  /var/named/tedu.cn.zone
 .......此处省略一万字
tedu.cn.      NS    svr7
tedu.cn.      NS    pc207
svr7          A     192.168.4.7
pc207         A     192.168.4.207
www           A     1.1.1.1
ftp           A     2.2.2.2
vip           A     3.3.3.3

[root@svr7 /]# systemctl  restart  named
  • 虚拟机B:从DNS服务器
  1. 安装软件包.
[root@pc207 /]# yum -y install  bind   bind-chroot
  1. 修改主配置文件
[root@pc207 /]# ls -ld /var/named/slaves/

[root@pc207 /]# vim   /etc/named.conf
options {
        directory       "/var/named";
};
zone "tedu.cn" IN {                      
        type slave;
        file  "/var/named/slaves/tedu.cn.slave";
        masters   {   192.168.4.7;    };      #指定主DNS服务器IP地址
 
          #保证named用户对目录有写入权限
};


[root@pc207 /]# ls /var/named/slaves/
[root@pc207 /]# systemctl restart named
[root@pc207 /]# ls /var/named/slaves/
tedu.cn.slave

5.6、DNS主从数据的同步

数据的版本号:由管理员进行编写,由10个数字组成。越大版本越新

虚拟机A:

1.修改地址库文件

[root@svr7 /]# vim   /var/named/tedu.cn.zone 

$TTL 1D
@      IN SOA  @ rname.invalid. (
                                2020061601     ; serial     #数据的版本号
                                1D      ; refresh   #每个1天时间,主从自动交接一次
                                1H      ; retry          #重试时间间隔1小时
                                1W      ; expire       #失效时间1周
                                3H )    ; minimum    #失效记录的记忆时间3小时
tedu.cn.     NS    svr7
tedu.cn.     NS    pc207
svr7         A     192.168.4.7
pc207        A     192.168.4.207
www          A     10.10.10.10
ftp          A     2.2.2.2
vip          A     3.3.3.3

[root@svr7 /]# systemctl restart named
  • 测试
[root@pc207 /]# nslookup www.tedu.cn 192.168.4.7
[root@pc207 /]# nslookup www.tedu.cn 192.168.4.207

5.7、缓存DNS服务器

  • 作用:缓存解析结果,加快解析效率

  • 一般应用于企业内网中。

SERVICES部分笔记_第1张图片

  • 虚拟机A:真正的DNS服务器
[root@svr7 ~]#  vim  /etc/named.conf
options {
        directory       "/var/named";
};
zone "dc.com" IN {
        type master;
        file "dc.com.zone";
};

[root@svr7 named]# vim dc.com.zone
........此处省略一万字
dc.com.  NS svr7
svr7   A 192.168.4.7
www        A       1.2.3.4
[root@svr7 named]# systemctl   restart   named
[root@svr7 named]# nslookup   www.dc.com   192.168.4.7
  • 虚拟机B:缓存DNS服务器
[root@pc207 ~]# vim /etc/named.conf
options {
        directory       "/var/named";
        forwarders  {  192.168.4.7;    };    #转发给真正的DNS服务器
};
  • 测试
[root@pc207 ~]# systemctl restart named
[root@pc207 ~]#  nslookup   www.dc.com   192.168.4.207
Server:  192.168.4.207
Address: 192.168.4.207#53

Non-authoritative answer:
Name: www.dc.com
Address: 1.2.3.4

5.8、DNS服务器分离解析

  • 当收到客户机的DNS查询请求的时候

    • 能够区分客户机的来源地址
    • 为不同类别的客户机提供不同的解析结果(IP地址)
    • 为客户端提供最近服务器的IP地址(就近原则)
  • 根据源地址集合将客户机分类

    • 不同客户机获得不同结果(待遇有差别)
    • 分类要合理,所有的客户端都要找到自己的分类
    • 由上到下依次匹配类别,匹配即停止
    • 所以的zone必须写在view中
  • 虚拟机A

[root@svr7 ~]# vim /etc/named.conf
options {
        directory       "/var/named";
};
view   "nsd"    {                                              #分类的名称
 match-clients   {   192.168.4.207;    };      #匹配客户端来源地址
 zone  "tedu.cn"   IN   {
      type  master;
      file  "tedu.cn.zone";
   };
};
view   "other"   {
 match-clients {   any;    };
 zone  "tedu.cn"  IN  {
      type  master;
      file  "tedu.cn.other";
   };
};

[root@svr7 ~]# cd /var/named/                             
[root@svr7 named]#  cp -p named.localhost tedu.cn.zone
[root@svr7 named]# vim tedu.cn.zone
.......此处省略一万字
tedu.cn.    NS     svr7
svr7        A      192.168.4.7
www       	A      192.168.4.100
[root@svr7 named]# cp -p tedu.cn.zone   tedu.cn.other
[root@svr7 named]# vim   tedu.cn.other
.......此处省略一万字
tedu.cn.    NS     svr7
svr7        A      192.168.4.7
www       	A      1.2.3.4

[root@svr7 named]# systemctl  restart 
  • 测试
虚拟机A:测试
[root@svr7 named]# nslookup www.tedu.cn 192.168.4.7
Server:  192.168.4.7
Address: 192.168.4.7#53

Name: www.tedu.cn
Address: 1.2.3.4

虚拟机B:测试
[root@pc207 ~]# nslookup www.tedu.cn 192.168.4.7
Server:  192.168.4.7
Address: 192.168.4.7#53

Name: www.tedu.cn
Address: 192.168.4.100
  • **acl地址列表:**为大批量的客户机地址建立列表(了解内容)
[root@svr7 /]# vim   /etc/named.conf
······························
acl test {  192.168.4.207;  192.168.4.1;  192.168.4.2; 192.168.4.3;   };
view "nsd" {  
  match-clients  {   test;   };
································

六、邮件服务器

  • 电子邮件服务器的基本功能
    • 为用户提供电子邮箱存储空间(用户名@邮件域名)
    • 处理用户发出的邮件 —— 传递给收件服务器
    • 处理用户收到的邮件 —— 投递到邮箱

6.1、构建DNS服务器,提供邮件交换解析记录

  • 虚拟机A:构建DNS服务器

    • 修改主配置文件
    [root@svr7 /]# vim   /etc/named.conf 
    options {
            directory       "/var/named";
    };
    
    zone  "qq.com"  IN  {
          type  master;
          file  "qq.com.zone";  
    };
    
    • 建立地址库文件
    [root@svr7 /]# cd /var/named/
    [root@svr7 named]# cp  -p  named.localhost    qq.com.zone
    [root@svr7 named]# vim   qq.com.zone
    .......此处省略一万字
    qq.com.  	NS     	 svr7
    svr7        A        192.168.4.7
    www       	A        1.2.3.4
    
    • 添加邮件交换解析记录
    [root@svr7 /]# vim /var/named/qq.com.zone
    .......此处省略一万字
    qq.com.   NS       svr7
    qq.com.   MX  10   mail               #声明邮件解析记录,优先级为10,数字越小越优先
    svr7      A        192.168.4.7
    mail      A        192.168.4.7        #解析邮件服务器地址为192.168.4.7
    www       A        1.2.3.4
    
    [root@svr7 /]# systemctl restart named
    
    • 测试邮件交换记录
    [root@svr7 /]# host -t MX qq.com           #测试邮件交换记录,qq.com域名的邮件服务器
    qq.com mail is handled by 10 mail.qq.com.
    [root@svr7 /]# nslookup mail.qq.com
    

6.2、构建邮件服务器

  • 虚拟机A:
  • 安装软件包
[root@svr7 /]# yum  -y  install   postfix
  • 修改主配置文件
 [root@svr7 /]# vim   /etc/postfix/main.cf 
 在末行模式   : set   nu   开启行号功能
 99  myorigin   =   qq.com        #默认补全的域名后缀
 116 inet_interfaces = all         #在本机所有网卡的IP地址,提供邮件功能
 164 mydestination = qq.com        #判断为本域邮件的依据
  • 重启服务
[root@svr7 /]# systemctl  restart  postfix

6.3、测试

    • mail 发信操作:mail -s ‘邮件标题’ -r 发件人 收件人
[root@svr7 /]# useradd   yg
[root@svr7 /]# useradd   xln
[root@svr7 /]# mail -s  'test01'  -r  yg   xln         #交互式发邮件
hahaxixihehelele
.                    #只有一个点,代表发送
EOT
[root@svr7 /]# echo  hahaxixi    |   mail   -s    '九阴真经'   -r   yg     xln       #非交互式发邮件
  • mail 收信操作:mail [-u 用户名]
[root@svr7 /]# mail -u xln           #以root的身份查看xln的邮件
\>N  1 [email protected]             Wed Jun 17 16:44  18/508   "test01"
& 1   #输入邮件编号1
& quit

七、WEB服务项目实战

7.1、实验拓扑

SERVICES部分笔记_第2张图片

7.2、要求

  1. 在Web1机器上构建Web服务,实现基于域名的虚拟Web主机,提供www.163.com与www.qq.com两个网站
  2. 在Web2机器上构建Web服务,实现基于域名的虚拟Web主机,提供www.163.com与www.qq.com两个网站
  3. 客户端192.168.4.207访问www.163.com与www.qq.com两个网站,由Web1服务器提供
  4. 客户端192.168.4.208访问www.163.com与www.qq.com两个网站,由Web2服务器提供
  5. 在192.168.4.7上实现DNS服务器分离解析

7.3、实验规划

IP地址 主机名 角色
192.168.4.7 dns1.tedu.cn DNS服务器
192.168.4.10 web1.tedu.cn Web服务器
192.168.4.20 web2.tedu.cn Web服务器
192.168.4.207 client1.tedu.cn 客户端1
192.168.4.208 client2.tedu.cn 客户端2
  • DNS服务器
[root@dns1 ~]# hostname
dns1.tedu.cn
[root@dns1 ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.7  netmask 255.255.255.0  broadcast 192.168.4.255
[root@dns1 ~]# firewall-cmd --set-default-zone=trusted
success
[root@dns1 ~]# setenforce 0
  • WEB1 服务器
[root@web1 ~]# hostname
web1.tedu.cn
[root@web1 ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.10  netmask 255.255.255.0  broadcast 192.168.4.255
[root@web1 ~]# firewall-cmd --set-default-zone=trusted 
success
[root@web1 ~]# setenforce 0
[root@web1 ~]# getenforce 
Permissive
  • WEB2 服务器
[root@web2 ~]# hostname
web2.tedu.cn
[root@web2 ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.20  netmask 255.255.255.0  broadcast 192.168.4.255
[root@web2 ~]# firewall-cmd --set-default-zone=trusted
success
[root@web2 ~]# setenforce 0
  • 客户端1
[root@client1 ~]# hostname
client1.tedu.cn
[root@client1 ~]# ifconfig |head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.207  netmask 255.255.255.0  broadcast 192.168.4.255
[root@client1 ~]# firewall-cmd --set-default-zone=trusted 
success
[root@client1 ~]# setenforce 0
  • 客户端2
[root@client2 ~]# hostname
client2.tedu.cn
[root@client2 ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.4.208  netmask 255.255.255.0  broadcast 192.168.4.255
[root@client2 ~]# firewall-cmd --set-default-zone=trusted
success
[root@client2 ~]# setenforce 0

7.4、WEB服务配置

7.4.1、web1

[root@web1 ~]# yum -y install httpd
[root@web1 ~]# vim /etc/httpd/conf.d/web1.conf
[root@web1 ~]# cat /etc/httpd/conf.d/web1.conf
<VirtualHost *:80>
  ServerName  www.163.com
  DocumentRoot  /var/www/163
</VirtualHost>

<VirtualHost *:80>
  ServerName  www.qq.com
  DocumentRoot  /var/www/qq
</VirtualHost>
[root@web1 ~]# mkdir /var/www/163 /var/www/qq
[root@web1 ~]# echo "wo shi web1 163" > /var/www/163/index.html
[root@web1 ~]# echo "wo shi web1 qq" > /var/www/qq/index.html 
[root@web1 ~]# systemctl restart httpd
[root@web1 ~]# systemctl enable httpd
  • 客户端client1测试
[root@client1 ~]# vim /etc/hosts		#临时添加,测试完成后删除
[root@client1 ~]# tail -1 /etc/hosts
192.168.4.10 www.163.com www.qq.com
[root@client1 ~]# curl http://www.163.com
wo shi web1 163
[root@client1 ~]# curl http://www.qq.com
wo shi web1 qq

7.4.2、web2

[root@web2 ~]# yum -y install httpd
[root@web2 ~]# vim /etc/httpd/conf.d/web2.conf
[root@web2 ~]# cat /etc/httpd/conf.d/web2.conf
<VirtualHost *:80>
  ServerName  www.163.com
  DocumentRoot  /var/www/163
</VirtualHost>

<VirtualHost *:80>
  ServerName  www.qq.com
  DocumentRoot  /var/www/qq
</VirtualHost>
[root@web2 ~]# mkdir /var/www/163 /var/www/qq
[root@web2 ~]# echo "wo shi web2 163" > /var/www/163/index.html
[root@web2 ~]# echo "wo shi web2 qq" > /var/www/qq/index.html
[root@web2 ~]# systemctl restart httpd
[root@web2 ~]# systemctl enable httpd
  • 客户端2测试
[root@client2 ~]# vim /etc/hosts		#临时添加,测试完成后删除
[root@client2 ~]# tail -1 /etc/hosts
192.168.4.20 www.163.com  www.qq.com

[root@client2 ~]# curl http://www.163.com
wo shi web2 163
[root@client2 ~]# curl http://www.qq.com
wo shi web2 qq

7.5、DNS 服务配置

[root@dns1 ~]# yum -y install bind bind-chroot
[root@dns1 ~]# vim /etc/named.conf 
[root@dns1 ~]# cat /etc/named.conf
options {
	directory 	"/var/named";
};
view "web1" {
 match-clients { 192.168.4.207; };
 zone "163.com" IN {
	type master;
	file "163.com.zone";
 };
 zone "qq.com" IN  {
	type master;
	file "qq.com.zone";
 };
};

view "web2" {
 match-clients { 192.168.4.208; };
 zone "163.com" IN {
	type master;
	file "163.com.other";
 };
 zone "qq.com" IN  {
	type master;
	file "qq.com.other";
 };
};


[root@dns1 ~]# cp /etc/named.conf /root/
[root@dns1 ~]# cd /var/named/
[root@dns1 named]# cp -p named.localhost 163.com.zone
[root@dns1 named]# vim 163.com.zone 
[root@dns1 named]# cat 163.com.zone
···································省略一万字
163.com.	NS	dns1
dns1		A	192.168.4.7
www			A	192.168.4.10

[root@dns1 named]# cp -p named.localhost qq.com.zone
[root@dns1 named]# vim qq.com.zone 
[root@dns1 named]# cat qq.com.zone
···································省略一万字
qq.com.		NS	dns1
dns1		A	192.168.4.7
www			A	192.168.4.10

[root@dns1 named]# cp -p 163.com.zone 163.com.other
[root@dns1 named]# vim 163.com.other
[root@dns1 named]# cat 163.com.other
163.com.	NS	dns1
dns1		A	192.168.4.7
www			A	192.168.4.20

[root@dns1 named]# cp -p qq.com.zone qq.com.other
[root@dns1 named]# vim qq.com.other 
[root@dns1 named]# cat qq.com.other
qq.com.		NS	dns1
dns1		A	192.168.4.7
www			A	192.168.4.20

[root@dns1 named]# systemctl restart named
[root@dns1 ~]# systemctl enable named
  • 所有主机指定DNS服务器地址为192.168.4.7
[root@dns1 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@web1 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@web2 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@client1 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@client2 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf

7.6、客户端测试

  • 客户端1
[root@client1 ~]# nslookup www.qq.com
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.qq.com
Address: 192.168.4.10

[root@client1 ~]# nslookup www.163.com
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.163.com
Address: 192.168.4.10

[root@client1 ~]# curl http://www.163.com
wo shi web1 163
[root@client1 ~]# curl http://www.qq.com
wo shi web1 qq
  • 客户端2
[root@client2 ~]# nslookup www.163.com
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.163.com
Address: 192.168.4.20

[root@client2 ~]# nslookup www.qq.com
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	www.qq.com
Address: 192.168.4.20

[root@client2 ~]# curl http://www.163.com
wo shi web2 163
[root@client2 ~]# curl http://www.qq.com
wo shi web2 qq

七、NTP时间同步

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

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

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

  • 虚拟机A:构建时间服务器

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

[root@svr7 /]# vim   /etc/chrony.conf
allow  all      	  #允许所有客户端同步时间
local stratum 10      #本机为时间服务器第10层

[root@svr7 /]# systemctl restart chronyd
  • 虚拟机B:NTP客户端
[root@pc207 ~]# yum -y install chrony
[root@pc207 ~]# vim /etc/chrony.conf
server   192.168.4.7   iburst            #指定与192.168.4.7进行同步时间
[root@pc207 ~]# systemctl restart chronyd

[root@pc207 ~]#  chronyc  sources  -v    #查看时间同步信息的命令

八、PXE装机

  • 网络装机的优势

    • 规模化:同时装配多台主机

    • 自动化:装系统、配置各种服务

    • 远程实现:不需要光盘、U盘等物理安装介质

  • PXE,Pre-boot eXecution Environment

    • 预启动执行环境,在操作系统之前运行

    • 可用于远程安装

  • 工作模式

    • PXE client 集成在网卡的启动芯片中

    • 当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行

  • PXE服务端需要哪些服务组件?

    • DHCP服务,分配IP地址、定位引导程序

      • 动态主机配置协议,由 IETF(Internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理
    • TFTP服务,提供引导程序下载

      • (Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议
    • HTTP服务(或FTP/NFS),提供yum安装源

      • HTTP:HyperText Transfer Protocol,超文本传输协议
        • 主要是用于传输超文本的;
        • 超文本:指的是带有超级链接的文本;
        • 超链接:基于此种链接能够在文档间实现跳转。
      • FTP:(File Transfer Protocol,文件传输协议)
      • NFS:网络文件系统,英文Network File System(NFS)

SERVICES部分笔记_第3张图片

8.1、DHCP服务器

  • Dynamic Host Configuration Protocol

    • 动态主机配置协议,由 IETF(Internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理
  • 主要分配以下入网参数

    • IP地址/子网掩码/广播地址

    • 默认网关地址、DNS服务器地址

  • DHCP地址分配的四次会话(以广播进行,先到先得)

    • DISCOVERY --> OFFER --> REQUEST -->ACK
    • 发现 --》 报告 --》 请求 --》 确认
    • 一个网络中只能有一台DHCP服务器
  • 服务端基本概念

    • 租期:允许客户机租用IP地址的时间期限,单位为秒

    • 作用域:分配给客户机的IP地址所在的网段

    • 地址池:用来动态分配的IP地址的范围

  • 构建DHCP服务器

    • 提供DHCP服务的软件包:dhcp
    • DHCP服务名:dhcpd
    • DHCP服务的配置文件:/etc/dhcp/dhcpd.conf
[root@localhost ~]# yum  -y  install dhcp	#安装DHCP
[root@localhost ~]# vim   /etc/dhcp/dhcpd.conf			#编辑配置文件
:r  /usr/share/doc/dhcp*/dhcpd.conf.example 			#末行模式读入模板文件
·································省略一万字

subnet 192.168.4.0 netmask 255.255.255.0 {		#指定分配IP地址的网段
  range 192.168.4.100 192.168.4.200;			#分配的IP地址范围
  option domain-name-servers 192.168.4.7;		#指定DNS服务器地址
  option routers 192.168.4.254;					#指定网关地址
  default-lease-time 600;						#默认的租赁时间,600秒
  max-lease-time 7200;							#最大租赁时间
  next-server   192.168.4.7;     				#指定下一个服务器地址
  filename   "pxelinux.0";         				#指定网卡引导文件名称
}
[root@localhost ~]# systemctl restart dhcpd		#重启DHCP服务

8.2、TFTP服务器

  • TFTP:简单的文件传输协议 默认端口:69

    • tftp服务默认共享数据的路径:/var/lib/tftpboot
  • 安装TFTP服务

[root@localhost ~]#  yum -y install tftp-server    
[root@localhost ~]#  systemctl restart tftp
  • 部署pxelinux.0文件
    • pxelinux.0:网卡引导文件(安装说明书),二进制文件
[root@localhost ~]# yum  provides  */pxelinux.0   #查询仓库中那个软件包产生该文件
[root@localhost ~]# yum -y install syslinux
[root@localhost ~]#  rpm -ql syslinux   |   grep pxelinux.0 
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/
[root@localhost ~]# ls /var/lib/tftpboot/
pxelinux.0
  • 部署default菜单文件
[root@localhost ~]# mkdir   /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# mount   /dev/cdrom   /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]#  ls  /mnt/isolinux
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
[root@localhost ~]# cp /mnt/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# ls -R /var/lib/tftpboot/
/var/lib/tftpboot/:
pxelinux.0  pxelinux.cfg

/var/lib/tftpboot/pxelinux.cfg:
default
  • 部署图形模块与背景图片
[root@localhost ~]# cp /mnt/isolinux/splash.png /mnt/isolinux/vesamenu.c32  /var/lib/tftpboot/
[root@localhost ~]# ls /var/lib/tftpboot/
pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32
  • 部署启动内核与驱动程序
[root@localhost ~]# cp  /mnt/isolinux/vmlinuz   /mnt/isolinux/initrd.img   /var/lib/tftpboot/
[root@localhost ~]# ls /var/lib/tftpboot/
initrd.img  pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32  vmlinuz
  • 修改菜单文件
[root@localhost ~]# vim   /var/lib/tftpboot/pxelinux.cfg/default 
  1 default vesamenu.c32					#默认加载图形的模块
  2 timeout 600								#读秒时间,60秒
 10 menu background splash.png				#背景图片
 11 menu title NSD2005 PXE Server			#菜单界面的标题
 61 label linux								#Linux标签
 62   menu label ^Install CentOS 7			#选项的内容
 63   menu default							#读秒结束默认选择
 64   kernel vmlinuz 						#运行内核		
 65   append initrd=initrd.img				#运行驱动程序
#66行以下全部删除

8.3、FTP服务器

  • FTP:文件传输协议 默认端口 21

    • FTP默认共享数据的路径:/var/ftp
  • 搭建FTP服务

[root@localhost ~]# yum  -y install  vsftpd 	#安装vsftpd软件包
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# mkdir  /var/ftp/centos		#创建一个目录
[root@localhost ~]# mount  /dev/cdrom  /var/ftp/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# curl  ftp://192.168.4.7/centos/

8.4、生成应答文件

  • 利用图形软件system-config-kickstart,进行生成应答文件
[root@localhost ~]# vim /etc/yum.repos.d/mydvd.repo   	#必须要求Yum仓库的标识为[development]
[root@localhost ~]# cat /etc/yum.repos.d/mydvd.repo
[development]
name = mydvd
baseurl = file:///mydvd
enabled = 1 
gpgcheck = 0 
[root@localhost ~]# yum -y install system-config-kickstart
[root@localhost ~]# system-config-kickstart				#运行它

SERVICES部分笔记_第4张图片

SERVICES部分笔记_第5张图片

SERVICES部分笔记_第6张图片

SERVICES部分笔记_第7张图片

SERVICES部分笔记_第8张图片

SERVICES部分笔记_第9张图片

SERVICES部分笔记_第10张图片

SERVICES部分笔记_第11张图片

SERVICES部分笔记_第12张图片

SERVICES部分笔记_第13张图片

SERVICES部分笔记_第14张图片

SERVICES部分笔记_第15张图片

SERVICES部分笔记_第16张图片

  • 利用FTP共享给客户端
[root@localhost ~]# cp /root/ks.cfg /var/ftp/
[root@localhost ~]# ls /var/ftp/
centos  ks.cfg  pub
  • 利用菜单文件指定应答文件获取方式
[root@localhost ~]#  vim /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# tail -1 /var/lib/tftpboot/pxelinux.cfg/default
  append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg

8.5、PXE引导安装虚拟机

  • 内存给两个G 一切默认
  • 网卡与DHCP服务器使用同一个,避免不同网络间无法通信的问题
  • 然后开机
  • 这一套操作下来应该不会有什么问题
  • 一般报错提醒,都很直观

SERVICES部分笔记_第17张图片

九、rsync同步操作

  • 命令用法

    • rsync [选项…] 源目录 目标目录
    • 常用选项
      • -n:测试同步过程,不做实际修改
      • –delete:删除目标文件夹内多余的文档
      • -a:归档模式,相当于-rlptgoD
      • -v:显示详细操作信息
      • -z:传输过程中启用压缩/解压
  • 同步与复制的差异

    • 复制:完全拷贝源到目标
    • 同步:增量拷贝,只传输变化过的数据
  • 本地目录间的数据同步

[root@svr7 ~]# mkdir /mydir /todir
[root@svr7 ~]# cp /etc/passwd /etc/fstab /mydir/
[root@svr7 ~]# ls /mydir/
fstab  passwd
[root@svr7 ~]# rsync -av /mydir/ /todir/
sending incremental file list
./
fstab
passwd

sent 2,839 bytes  received 57 bytes  5,792.00 bytes/sec
total size is 2,669  speedup is 0.92
[root@svr7 ~]# ls /todir/
fstab  passwd

[root@svr7 ~]# ls -l /todir/
总用量 8
-rw-r--r--. 1 root root  477 6月  20 10:32 fstab
-rw-r--r--. 1 root root 2192 6月  20 10:32 passwd
[root@svr7 ~]# touch /mydir/1.txt
[root@svr7 ~]# rsync -av /mydir/ /todir/
sending incremental file list
./
1.txt

sent 147 bytes  received 38 bytes  370.00 bytes/sec
total size is 2,669  speedup is 14.43
[root@svr7 ~]# ls -l /todir/
总用量 8
-rw-r--r--. 1 root root    0 6月  20 10:34 1.txt
-rw-r--r--. 1 root root  477 6月  20 10:32 fstab
-rw-r--r--. 1 root root 2192 6月  20 10:32 passwd

  • 同步过程中删除多余的数据
[root@svr7 ~]# touch /todir/2.txt 
[root@svr7 ~]# ls /todir/
1.txt  2.txt  fstab  passwd
[root@svr7 ~]# ls /mydir 
1.txt  fstab  passwd
[root@svr7 ~]# rsync -av --delete /mydir/ /todir/
sending incremental file list
deleting 2.txt
./

sent 108 bytes  received 28 bytes  272.00 bytes/sec
total size is 2,669  speedup is 19.62

[root@svr7 ~]# ls /todir/
1.txt  fstab  passwd
  • 远程同步
    • rsync+SSH同步
[root@svr7 ~]# rsync -av --delete   /mydir/   [email protected]:/opt
[root@pc207 ~]# ls /opt/
1.txt  fstab  passwd
  • 实时同步

你可能感兴趣的:(达内学员笔记)