原文链接:
Hello,大家好啊!今天给大家带来一篇关于在麒麟桌面操作系统上通过PXE网络安装来配置dnsmasq的文章。PXE(预启动执行环境)允许计算机通过网络启动和安装操作系统,而dnsmasq则是一个轻量级的DNS和DHCP服务器,常用于简化PXE服务器的配置。本文将详细介绍如何在麒麟桌面操作系统上安装和配置dnsmasq以实现PXE网络安装。欢迎大家分享转发,点个关注和在看吧!
什么是PXE网络安装?PXE(Preboot Execution Environment)是一种允许计算机通过网络启动和安装操作系统的协议。PXE网络安装非常适用于需要批量安装操作系统的环境,如学校、企业或数据中心。
什么是dnsmasq?dnsmasq是一个轻量级的DNS、DHCP和TFTP服务器,特别适合小型网络。它可以提供DNS解析、DHCP分配和TFTP服务,是配置PXE服务器的理想选择。
1.查看系统信息
通过命令查看当前操作系统的信息和内核版本。
pdsyw@pdsyw-pc:~/桌面$ cat /etc/os-release pdsyw@pdsyw-pc:~/桌面$ uname -a
2.安装dnsmasq及nfs
安装dnsmasq和NFS服务器。
pdsyw@pdsyw-pc:~/桌面$ sudo -iroot@pdsyw-pc:~# apt install dnsmasq nfs-kernel-server -y
3.配置ip地址
这一步通常涉及设置服务器的静态IP地址,以确保网络中的其他设备可以稳定地访问它。
4.查看网卡信息
查看当前系统的网络接口信息。
root@pdsyw-pc:~# ifconfig
5.编辑配置文件
root@pdsyw-pc:~# vim /etc/dnsmasq.conf root@pdsyw-pc:~# cat /etc/dnsmasq.conf resolv-file=/etc/resolv.confcache-size=1000conf-dir=/etc/dnsmasq.dinterface=ens33bind-interfaceslisten-address=192.168.100.2dhcp-range=192.168.100.3,192.168.100.254,255.255.255.0,8hdhcp-option=3,192.168.100.2dhcp-option=6,192.168.100.2dhcp-option=28,192.168.100.255dhcp-option=42,0.0.0.0enable-tftpdhcp-match=set:Intel_x86PC,option:client-arch,0dhcp-boot=tag:Intel_x86PC,x86_64-legacy/pxelinux.0dhcp-match=set:EFI_BC,option:client-arch,7dhcp-boot=tag:EFI_BC,x86_64-efi/netbootx64.efidhcp-match=set:EFI_x86_64,option:client-arch,9dhcp-boot=tag:EFI_x86_64,x86_64-efi/netbootx64.efidhcp-match=set:EFI_Arm64,option:client-arch,11dhcp-boot=tag:EFI_Arm64,arm64-efi/netbootaa64.efidhcp-match=set:Mips,option:client-arch,12dhcp-boot=tag:Mips,vmlinuztftp-root=/pxe/tftpbootroot@pdsyw-pc:~#
配置文件内容解释:
resolv-file=/etc/resolv.conf:指定DNS解析文件。cache-size=1000:设置DNS缓存大小。conf-dir=/etc/dnsmasq.d:加载其他配置文件。interface=ens33:指定监听的网络接口。bind-interfaces:绑定网络接口。listen-address=192.168.100.2:指定服务器监听的IP地址。dhcp-range=192.168.100.3,192.168.100.254,255.255.255.0,8h:配置DHCP分配范围和租期。enable-tftp:启用TFTP服务。tftp-root=/pxe/tftpboot:指定TFTP根目录。dhcp-boot:配置不同架构的PXE引导文件。6.编辑解析文件
root@pdsyw-pc:~# vim /etc/resolv.confroot@pdsyw-pc:~# root@pdsyw-pc:~# cat /etc/resolv.conf# This file is managed by man:systemd-resolved(8). Do not edit.## This is a dynamic resolv.conf file for connecting local clients directly to# all known uplink DNS servers. This file lists all configured search domains.## Third party programs must not access this file directly, but only through the# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,# replace this symlink by a static file or a different symlink.## See man:systemd-resolved.service(8) for details about the supported modes of# operation for /etc/resolv.conf.nameserver 192.168.100.2root@pdsyw-pc:~#
7.挂载iso文件
创建目录并挂载ISO文件,以便从中提取安装文件。
root@pdsyw-pc:~# mkdir /pxe/iso -proot@pdsyw-pc:~# cd /pxe/iso/root@pdsyw-pc:/pxe/iso# mkdir x86-2303root@pdsyw-pc:/pxe/iso# mount /home/pdsyw/Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.iso /mnt/root@pdsyw-pc:/pxe/iso# cp -ra /mnt/. x86-2303/
8.自定义安装镜像内容
编辑安装配置文件,设置主机名、密码、用户名等。
root@pdsyw-pc:/pxe/iso# cd x86-2303/root@pdsyw-pc:/pxe/iso/x86-2303# vim ky-installer.cfg root@pdsyw-pc:/pxe/iso/x86-2303# grep hostname ky-installer.cfg hostname=pdsyw1024root@pdsyw-pc:/pxe/iso/x86-2303# grep password ky-installer.cfg password=@ByteArray(1qaz@WSX)root@pdsyw-pc:/pxe/iso/x86-2303# grep username ky-installer.cfg username=pdsywroot@pdsyw-pc:/pxe/iso/x86-2303# grep devpath ky-installer.cfg devpath=
9.解压引导文件
创建TFTP根目录并解压引导文件。
root@pdsyw-pc:~# mkdir /pxe/tftpboot -proot@pdsyw-pc:~# cd /pxe/tftpboot/ root@pdsyw-pc:/pxe/tftpboot# cp /home/pdsyw/*.tar.gz ./root@pdsyw-pc:/pxe/tftpboot# tar zxf x86_64-efi.tar.gz root@pdsyw-pc:/pxe/tftpboot# cd x86_64-efi/
10.导入内核镜像
创建必要的目录并复制内核镜像和initrd文件。
root@pdsyw-pc:/pxe/tftpboot/x86_64-efi# mkdir x86-2303root@pdsyw-pc:/pxe/tftpboot/x86_64-efi# cd x86-2303/root@pdsyw-pc:/pxe/tftpboot/x86_64-efi/x86-2303# mkdir casperroot@pdsyw-pc:/pxe/tftpboot/x86_64-efi/x86-2303# cd casper/root@pdsyw-pc:/pxe/tftpboot/x86_64-efi/x86-2303/casper# cp /pxe/iso/x86-2303/casper/initrd.lz ./root@pdsyw-pc:/pxe/tftpboot/x86_64-efi/x86-2303/casper# cp /pxe/iso/x86-2303/casper/vmlinuz ./
11.进入grub目录
root@pdsyw-pc:~# cd /pxe/tftpboot/x86_64-efi/root@pdsyw-pc:/pxe/tftpboot/x86_64-efi# cd boot/root@pdsyw-pc:/pxe/tftpboot/x86_64-efi/boot# cd grub/
12.编辑grub文件
root@pdsyw-pc:~# cd /pxe/tftpboot/x86_64-efi/boot/grubroot@pdsyw-pc:/pxe/tftpboot/x86_64-efi/boot/grub# vim grub.cfg root@pdsyw-pc:/pxe/tftpboot/x86_64-efi/boot/grub# cat grub.cfg set default=0set timeout=3set color_normal=white/blackset color_highlight=black/light-graymenuentry "Install Kylin-Desktop" {linux ${root}/x86-2303/casper/vmlinuz boot=casper only-ubiquity locale=zh_CN quiet splash audit=0 netboot=nfs ip=dhcp nfsroot=192.168.100.2:/pxe/iso/x86-2303 security= automatic-ubiquity console=ttyinitrd ${root}/x86-2303/casper/initrd.lz}
set default=0:设置默认引导项。set timeout=3:设置引导菜单超时时间。menuentry:定义引导菜单项,指定内核和initrd文件及其参数。13.更新路径权限
设置/pxe目录的权限,以便所有用户都能访问。
root@pdsyw-pc:~# chmod 777 /pxe
14.配置nfs
允许所有网络主机访问/pxe/iso目录,并设置权限和同步选项。
root@pdsyw-pc:~# vim /etc/exportsroot@pdsyw-pc:~# tail -1 /etc/exports /pxe/iso *(rw,sync,no_root_squash,no_subtree_check)
15.启动nfs
重启并启用NFS服务器,检查服务状态和导出目录。
root@pdsyw-pc:~# systemctl restart nfs-kernel-server.serviceroot@pdsyw-pc:~# systemctl enable nfs-kernel-server.serviceroot@pdsyw-pc:~# systemctl status nfs-kernel-server.serviceroot@pdsyw-pc:~# showmount -e 192.168.100.2
16.启动dnsmasq
重启并启用dnsmasq服务,检查服务状态。
root@pdsyw-pc:~# systemctl restart dnsmasq.service root@pdsyw-pc:~# systemctl enable dnsmasq.service root@pdsyw-pc:~# systemctl status dnsmasq.service
17.客户端安装
通过PXE启动客户端设备,确保其从网络引导并安装操作系统。
18.安装完成
19.登录查看
常见问题解决
PXE启动失败:
检查客户机的BIOS设置,确保启用了PXE支持。
确认dnsmasq服务正在运行,并且防火墙已允许相关端口。
无法获取IP地址:
确认dnsmasq配置文件中DHCP范围设置正确。
检查网络连接,确保服务器和客户机在同一网络中。
无法加载PXE引导文件:
确认TFTP根目录中存在正确的引导文件(如pxelinux.0、vmlinuz、initrd.img)。
检查dnsmasq配置文件中的TFTP路径设置。
通过本文的介绍,您应该已经掌握了在麒麟桌面操作系统上通过PXE网络安装配置dnsmasq的方法。PXE网络安装可以极大简化操作系统的部署过程,特别适用于需要批量安装的环境。如果您觉得这篇文章有用,请分享和转发。同时,别忘了点个关注和在看,以便未来获取更多实用的技术信息和解决方案。感谢大家的阅读,我们下次再见!