實驗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 //把CD光牒挂載到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
- 用戶端測試