实验1:dhcp服务 DHCP端口号:UDP67 UDP68

[root@centos7 ~]#yum -y install dhcp [root@centos7 ~]#rpm -ql dhcp //此处简单列出dhcp包里文件 /etc/dhcp/dhcpd.conf //dhcp配置文件,默认为空 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example //dhcp配置样板文件

[root@centos7 ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷贝样板文件并重命名 [root@centos7 ~]#vim /etc/dhcp/dhcpd.conf //编辑配置文件 option domain-name "magedu.com";
option domain-name-servers 223.5.5.5, 223.6.6.6,8.8.8.8; //配置多个DNS服务器

#默认ip租赁时间, 默认客户端IP租约时间的最大值。单位:秒 default-lease-time 86400;
max-lease-time 172800;

#设置子网,子网掩码,dhcp分配的ip范围,及网关 subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.10 10.0.0.100; option routers 10.0.0.1; }

#把客户端主机mac和分配的ip绑定 host centos7 { hardware ethernet 00:0c:29:10:b6:f1; fixed-address 10.0.0.10;
}

[root@centos7 ~]#systemctl start dhcp //启动服务 [root@centos7 ~]#systemctl enable dhcp //设为开机启动 [root@centos7 ~]#ss -nul //查看UDP67 ,UDP68是否监听

实验2:实现tftp服务器 tftp端口号: UDP69

centos7上: [root@centos7 ~]#yum -y install tftp-server [root@centos7 ~]#systemctl start tftp [root@centos7 ~]#systemctl enable tftp [root@centos7 ~]#ss -nul //查看UDP69端口是否监听 [root@centos7 ~]#rpm -ql tftp-server /etc/xinetd.d/tftp /usr/lib/systemd/system/tftp.service /usr/lib/systemd/system/tftp.socket /usr/sbin/in.tftpd /var/lib/tftpboot centos6上: [root@centos6 ~]yum -y install tftp-server [root@centos6 ~]chkconfig tftp on [root@centos6 ~]service xinetd restart

实验3:PXE 、 kickstart网络自动化安装系统 实验环境: centos7 IP:10.0.0.200/24 ( dhcp,http,tftp服务器 ) prefix:24 gateway:10.0.0.1 subnet range 10.0.0.10 10.0.0.100 独立的非桥接的网段:vmnet6(仅主机模式)
虚拟网络编辑器:关闭dhcp
关闭selinux,防火墙

  1. 安装包:httpd、 dhcp、tftp-server和syslinux [root@centos7 ~]#yum -y install httpd dhcp tftp-server syslinux

  2. 准备http yum源 [root@centos7 ~]systemctl start httpd //启服务 [root@centos7 ~]systemctl enable httpd //开机启动

[root@centos7 ~]#mkdir /var/www/html/centos/6/os/x86_64 -pv [root@centos7 ~]#mkdir /var/www/html/centos/7/os/x86_64 -pv //在http服务/var/www/html下创建centos/7/os/x86_64 [root@centos7 ~]#mount /dev/sr0 /var/www/html/centos/7/os/x86_64 //把光盘挂载到centos/7/os/x86_64

打开虚拟机firefox浏览器测试成功: http://10.0.0.200/centos/6/os/x86_64/ http://10.0.0.200/centos/7/os/x86_64/

  1. ks文件 [root@centos7 ~]#system-config-kickstart //方法一:ks文件可以用此命令生成 [root@centos7 ~]#cat /root/anaconda-ks.cfg //方法二:可以参考root目录下的anacon-ks.cfg文件

[root@centos7 ~]#mkdir /var/www/html/ks/ //在/var/www/htmp目录下创建ks目录 [root@centos7 ~]#vim /var/www/html/ks/centos7-mini.cfg //按需要编辑cfg文件 备注: 实验时我有之前准备好的cfg文件 [root@centos7 ks]#ls centos6-mini.cfg centos7-mini.cfg ks7-mini.cfg

4.dhcp服务配置 [root@centos7 ~]#vim /etc/dhcp/dhcpd.conf //编辑dhcp服务配置文件 option domain-name "magedu.com"; option domain-name-servers 223.5.5.5, 223.6.6.6,8.8.8.8;

default-lease-time 86400; max-lease-time 172800; subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.10 10.0.0.100; option routers 10.0.0.1; next-server 10.0.0.200; filename "pxelinux.0"; }

[root@centos7 ~]#systemctl start dhcpd

  1. 准备tftpboot目录相关文件

[root@centos7 etc]#rpm -ql syslinux //查看syslinux包里文件 [root@centos7 isolinux]#cp /usr/share/syslinux/{menu.c32,pxelinux.0} /var/lib/tftpboot/ //menu.c32启动后菜单背景文件; pxelinux.0 拷贝到tftp工作目录下

[root@centos7 isolinux]#ls boot.cat boot.msg grub.conf initrd.img isolinux.bin isolinux.cfg memtest splash.png TRANS.TBL vesamenu.c32 vmlinuz [root@centos7 isolinux]#cp initrd.img vmlinuz /var/lib/tftpboot/ //把initrd.img和内核vmkinuz 拷贝到tftp工作目录下

[root@centos7 isolinux]#mkdir /var/lib/tftpboot/pxelinux.cfg/ //在tftp的/var/lib/tftpboot/路径下创建pxelinux.cfg目录 [root@centos7 isolinux]#cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //拷贝isolinux.cfg 文件到pxelinux.cfg下并改名为default

[root@centos7 ~]#tree /var/lib/tftpboot/ //tftp工作目录必须有的文件结构: /var/lib/tftpboot/ ├── initrd.img ├── menu.c32
├── pxelinux.0
├── pxelinux.cfg │ └── default └── vmlinuz

1 directory, 5 files

  1. 准备安装菜单

[root@centos7 ~]#vim /var/lib/tftpboot/pxelinux.cfg/default default menu.c32 #prompt 1 timeout 600

menu title Welcome to www.magedu.com

label mini menu label ^Install an Mini Centos7.5 system kernel vmlinuz append initrd=initrd.img ks=http://10.0.0.200/ks/centos7-mini.cfg

label local menu label Boot from ^local drive menu default //默认启动选项 localboot 0xffff

  1. 客户端测试

新创建一个虚拟机: 硬盘:200g 网卡:自定义 VMnet6(仅主机模式) 内存:1558Mb
挂centos7.5.iso镜像

开机选择:Install an Mini Centos7.5 system

成功安装系统!