Dnsmasq 配置PXE批量安裝系統


以下測試都是基於centos 7下的環境

需要安裝的軟件為

nginx 用來下載ks.cfg和系統鏡像文件用的,也可以用ftp服務器來代替

dnsmasq 提供dhcp服務和tftp服務,也可以單獨去安裝

syslinux 提供pxe的啟動文件pxelinux.0

執行以下命令安裝

yum install dnsmasq syslinux  -y

然后創建tftp的目錄

mkdir /var/lib/tftp

拷貝pxe的啟動文件pxelinux.0

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftp/

掛載centos系統鏡像,Pxe安裝系統需要原系統鏡像中的vmlinuz(引導程序) initrd.img(RAM的Linux) 兩個支持網絡安裝的文件

從iso中拷貝內核鏡像和文件系統鏡像

我們掛載鏡像在 /var/ftp/pub/ 這個目錄下面,啟動需要的文件在鏡像的images目錄下面

cp /var/ftp/pub/images/pxeboot/initrd.img /var/tftp/

cp /var/ftp/pub/images/pxeboot/vmlinuz    /var/tftp/

准備默認的菜單配置文件

mkdir /var/lib/tftp/pxelinux.cfg/

vim /var/lib/tftp/pxelinux.cfg/default

內容如下

default linux
prompt 1
timeout 60
display boot.msg
label linux
kernel vmlinuz
append initrd=initrd.img text ks=http://172.17.3.10/ks.cfg ###指定ks.cfg文件下載路徑###

后續需要生成ks.cfg

我們還需要配置下dnsmasq

vim /etc/dnsmasq.conf

配置如下

listen-address=172.17.3.10,127.0.0.1 ##指定監聽IP
domain=house.com  ##域名
dhcp-range=172.17.3.220,172.17.3.230,1h ##IP地址分配范圍##
dhcp-option=3,172.17.3.254 ##網關
dhcp-boot=pxelinux.0 ##配置啟動接口
enable-tftp ##打開tftp功能##
tftp-root=/var/lib/tftp ##指定tftp目錄##
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig

以上配置可參考如下圖片,圖片來自網絡

 

最后我們把ks.cfg也就是kickstart文件放到nginx的目錄下就可以了

最后啟動dnsmasq就可以了。

其實dnsmasq也可以用tftp和dhcp這2個服務來代替

使用tftp和dhcp的方法如下

安裝tftp和dhcp

yum install tftp-server  dhcp -y

配置tftp-server

vim /etc/xinetd.d/tftp

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

配置DHCP

vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 172.17.3.0 netmask 255.255.255.0 {
        option routers                  172.17.3.254;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      172.17.3.254;
        option time-offset              -18000; # Eastern Standard Time  
        range dynamic-bootp 172.17.3.80 172.17.3.88;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 172.17.3.10;
        filename "pxelinux.0";
}

其余步驟不變,到這里完結。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM