zoukankan      html  css  js  c++  java
  • 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";
    }

    其余步骤不变,到这里完结。

  • 相关阅读:
    [C语言
    [C语言
    [C语言
    [C语言
    [C语言
    [C语言
    [iOS]超详细Apache服务器的配置(10.10系统)
    IOS优秀博客
    「C」 数组、字符串、指针
    103.Binary Tree Zigzag Level Order Traversal(层序遍历)
  • 原文地址:https://www.cnblogs.com/hh2737/p/9815072.html
Copyright © 2011-2022 走看看