虚拟机A
    1. 将防火墙状态设置为trusted
  2.SELinux当前修改为permissive
  3.SELinux永久状态修改为permissive
    4.清空Yum缓存,检查Yum是否可用

    虚拟机B
    1. 将防火墙状态设置为trusted
  2.SELinux当前修改为permissive
  3.SELinux永久状态修改为permissive
    4.清空Yum缓存,检查Yum是否可用

    /etc/selinux/config (永久状态配置文件)

########################################################

    完成虚拟机访问外网    

1.在真机实现,桥设备的创建(br0)
[root@room9pc14 /]# systemctl  status  NetworkManager(图形的)
[root@room9pc14 /]# systemctl  status  network (命令行)
[root@room9pc14 /]# systemctl  stop    NetworkManager(图形的)
[root@room9pc14 /]# systemctl  status  network (命令行)

    vim /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0              #设备名
    TYPE=Bridge             #设备类型
    BOOTPROTO=none          #手工配置IP地址    
    ONBOOT=yes              #开机自起动
    IPADDR=172.40.50.114
    NETMASK=255.255.255.0
    GATEWAY=172.40.50.1

2.让真机的enp2s0真实网卡,连接br0,追加写入
    vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
        BRIDGE=br0


3.重起network

4.虚拟机有一张网卡,选择br0桥设备

######################################################

 部署DHCP服务器

• Dynamic Host Configuration Protocol
   – 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理

• 主要分配以下入网参数
   –IP地址/子网掩码/广播地址
     – 默认网关地址、DNS服务器地址
 
• DHCP地址分配的四次会话
 – DISCOVERY --> OFFER --> REQUEST -->ACK
 

 前提,虚拟机不要桥接真实网络

虚拟机A:
 1.装软件包 dhcp
 2.配置文件 /etc/dhcp/dhcpd.conf
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf
     :r  /usr/share/doc/dhcp*/dhcpd.conf.example  #读入其他文件

  subnet  192.168.4.0 netmask 255.255.255.0  {    #分配的网段
    range 192.168.4.100  192.168.4.200;       #分配的IP地址范围
    option domain-name-servers  8.8.8.8;      #分配DNS
    option routers  192.168.4.254;            #分配网关
    default-lease-time 600;                #IP地址默认租用时间
    max-lease-time 7200;                   #IP地址租用最大时间
   }

 3.起服务 dhcpd
[root@svr7 /]# systemctl  restart   dhcpd
[root@svr7 /]# systemctl  enable   dhcpd


#####################################################
虚拟机A上:

 杀死KVM虚拟化中的dnsmasq,dnsmasq会提供DHCP服务,会有冲突

[root@svr7 /]# netstat -anptu | grep :67
 udp        0      0 0.0.0.0:67               0.0.0.0:*                           8051/dhcpd          
 udp        0      0 0.0.0.0:67              0.0.0.0:*                           2392/dnsmasq
       
[root@svr7 /]# killall dnsmasq
[root@svr7 /]# netstat -anptu | grep :67

########################################################
• PXE,Pre-boot eXecution Environment
  – 预启动执行环境,在操作系统之前运行
  – 可用于远程安装
• 工作模式
  – PXE client 集成在网卡的启动芯片中
    – 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行

#######################################################

  PXE网络装机服务器

一、构建DHCP服务

1.指定下一个服务器IP的地址

[root@svr7 /]# vim /etc/dhcp/dhcpd.conf

 subnet 192.168.4.0 netmask 255.255.255.0 {
   range 192.168.4.100 192.168.4.200;
   option domain-name-servers 8.8.8.8;
   option routers 192.168.4.254;
   default-lease-time 600;
   max-lease-time 7200;
   next-server 192.168.4.7;  #指定下一个服务器IP地址
   filename "pxelinux.0";   #指定网卡引导文件,文件名称
}

2.重起dhcpd服务
 

   pxelinux.0(网卡引导文件):安装说明书,二进制文件
   
      安装一个软件,就可以生成pxelinux.0
#####################################################
二、搭建TFTP服务

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

           服务端程序:tftp-server

           服务名:tftp
           默认共享路径: /var/lib/tftpboot

  1.安装tftp-server
  2.启动tftp服务,并设置为开机自起
 
  3.部署pxelinux.0文件
  # yum   provides  */pxelinux.0    #查询仓库中哪一个包产生该文件
  # yum  -y install syslinux

  # rpm -ql syslinux                #查询软件包,安装清单

  # rpm -ql syslinux | grep pxelinux.0

  # cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/

  # ls /var/lib/tftpboot/
########################################################
  pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default

  4.部署default默认的菜单文件
  # mkdir  /var/lib/tftpboot/pxelinux.cfg

  # mount /dev/cdrom /mnt/

  # cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

  # ls -l /var/lib/tftpboot/pxelinux.cfg/default

  # chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

  # ls -l /var/lib/tftpboot/pxelinux.cfg/default

  5.部署 图形的模块 vesamenu.c32
  # ls /mnt/isolinux/

  # cp /mnt/isolinux/vesamenu.c32  /var/lib/tftpboot/

  # ls /var/lib/tftpboot/

   6.修改菜单文件/var/lib/tftpboot/pxelinux.cfg/default

  # vim  /var/lib/tftpboot/pxelinux.cfg/default
   ......
  11  menu title NSD1709 PXE Server !
   ......
  61  label linux
  62    menu label Install RHEL7
  63    kernel vmlinuz
  64    append initrd=initrd.img

   7.部署启动内核与驱动程序
  #cp /mnt/isolinux/initrd.img  /mnt/isolinux/vmlinuz  /var/lib/tftpboot/

  # ls /var/lib/tftpboot/

  initrd.img  pxelinux.cfg  vmlinuz
  pxelinux.0  vesamenu.c32

########################################################
    pxelinux.0-------》/var/lib/tftpboot/pxelinux.cfg/default
    default------》vesamenu.c32-----》vmlinuz、initrd.img
########################################################

 三、FTP服务,传输RPM包

  1.搭建vsftpd服务,共享光盘所有内容
  2.安装vsftpd软件
  3.设置vsftpd服务启动,设置为开机自起动
  4.共享光盘所有内容
 [root@svr7 /]# mkdir /var/ftp/rhel7
 [root@svr7 /]# mount /dev/cdrom   /var/ftp/rhel7

 [root@svr7 /]# ls /var/ftp/rhel7

 [root@svr7 /]# firefox  ftp://192.168.4.7/rhel7

##################################################
 四、无人值守安装,生成应答文件

    1.图形生成应答文件程序:system-config-kickstart

    2.运行图形程序:system-config-kickstart

    读取本地Yum仓库信息,要求Yum仓库客户端配置文件,仓库标识为

       [development]  
       

    3.运行图形程序:system-config-kickstart

  [root@svr7 /]# ls  /root/ks.cfg
  [root@svr7 /]# vim  /root/ks.cfg

     4.搭建vsftpd服务,共享应答文件

   [root@svr7 /]# cp /root/ks.cfg  /var/ftp/
   [root@svr7 /]# ls /var/ftp/

####################################################
  五、通过菜单指定ks.cfg应答文件

[root@svr7 /]# vim  /var/lib/tftpboot/pxelinux.cfg/default

 61 label linux
 62   menu label Install RHEL7
 63   kernel vmlinuz
 64   append initrd=initrd.img  ks=ftp://192.168.4.7/ks.cfg


#######################################################
 总结:
       DHCP------>IP地址、next-server、filename
       tftp------>pxelinux.0、default
       default---->vesamenu.c32、vmlinuz、initrd.img、ks.cfg
       ks.cfg----> url="ftp://192.168.4.7/rhel7"

########################################################