实验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,防火墙
-
安装包:httpd、 dhcp、tftp-server和syslinux
[root@centos7 ~]#yum -y install httpd dhcp tftp-server syslinux
-
准备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/
-
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;
next-server 10.0.0.200;
filename "pxelinux.0";
[root@centos7 ~]#systemctl start dhcpd
- 准备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
- 准备安装菜单
[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
- 客户端测试