• 用Linux 搭建 PXE 网络引导环境


    本例子中使用了CentOS7.4 minimal 系统,并且关闭了防火墙和selinux,并使用了dhcp、tftp、http和samba服务。

    假设PXE服务器是192.168.4.104 ,tftp的根目录在/var/lib/tftpboot下面,以后参数配置,均按此配置。

    关闭防火墙和selinux的步骤略。

    1、安装DHCP服务

    yum -y install dhcp     #安装dhcp服务器

    vi /etc/dhcp/dhcpd.conf   #修改dhcp配置文件

    option domain-name "pxe-os.org";     #按你的规划指定一个域名

    option domain-name-servers 192.168.1.2;     #按你的规划指定一个域名服务器

    default-lease-time 600;

    max-lease-time 7200;

    authoritative;

    subnet 192.168.4.0 netmask 255.255.255.0 {                           #定义一个可供分配的IP地址段

            range dynamic-bootp 192.168.4.200 192.168.4.250;

            option broadcast-address 192.168.4.255;

            option routers 192.168.4.1;

           filename        "pxelinux.0";      #linux 的pxe引导文件

           next-server     192.168.4.104;    #指定192.168.4.104为PXE服务器,从这里找PXE启动文件。

    }

    #编辑完成,启动dhcp服务

    systemctl enable dhcpd

    systemctl start dhcpd

    2、安装tftp服务

    yum -y install syslinux xinetd tftp-server   #安装tftp所需的组件,tftp的根目录会在:/var/lib/tftpboot目录下。

    mkdir /var/lib/tftpboot/pxelinux.cfg    #建一个目录放pxe引导脚本

    #复制syslinux中引导系统经常用到的几个软件:

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

    cp /usr/share/syslinux/memdisk /var/lib/tftpboot/

    cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/

    vi /etc/xinetd.d/tftp    #修改守护进程中的tftp-server配置文件

    disable = no   #把disable =yes改为no

    #启动tftp服务

     systemctl enable xinetd

    systemctl start xinetd

    3、安装http服务,这个服务在安装linux系统时使用

    yum -y install httpd    #安装httpd

    rm -f /etc/httpd/conf.d/welcome.conf   #删除欢迎页面

    vi /etc/httpd/conf/httpd.conf    #修改http配置文件,更改下列几项:

    ServerAdmin root@srv.pxe-os.org    #修改管理员的email地址

    ServerName srv.pxe-os.org:80    #按照你的规划修改web server 名称

    AllowOverride ALL

    DirectoryIndex index.html index.cgi index.php  #增加主页文件名

    ServerTokens Prod    #在文件末尾增加这两行

    KeepAlive ON

    #结束http配置文件的编辑

    vi /var/www/html/index.html  #编辑一下页面,主要是验证一下是否正常启动webserver。

    <html>

    <title> you are wellcom! </title>

    <body> this is srv.PXE-OS.org</body>

    </html>

    vi /etc/httpd/conf.d/pxeboot.conf     #把/var/lib/tftpboot设为一个可在http访问的目录,让http可以访问下面的文件:

    Alias /tftpboot /var/lib/tftpboot/

    <Directory /var/lib/tftpboot/>

        Options Indexes FollowSymLinks

        # IP address you allow to access

        Require ip 127.0.0.1 192.168.4.0/24

    </Directory>

    #完成编辑,启动http服务

    systemctl enable httpd

    systemctl restart httpd

    #测试一下 http://192.168.4.104看你写的主页能不能正常显示

    #测试一下 http://192.168.4.104/tftpboot能不能显示tftp根目录下的文件

    4、安装samba服务,这在windows环境中用得上,重点是不用输入用户、口令,任何人都能直接只读打开共享目录。

    yum install samba samba-common samba-winbind -y  #安装相关组件

    mv /etc/samba/smb.conf /etc/samba/smb.conf.backup   #备份一下原来的配置文件

    vi /etc/samba/smb.conf   #创建新的配置文件,请按你的规划修改,内容如下:

    [global]

    workgroup = pxe-os.org

    server string = Samba Server Version %v

    log file = /var/log/samba/log.%m

    max log size = 50

    idmap config * : backend = tdb

    cups options = raw

    netbios name = pxe-os

    map to guest = bad user

    dns proxy = no

    public = yes

    ## For multiple installations the same time - not lock kernel

    kernel oplocks = no

    nt acl support = no

    security = user

    guest account = nobody

    [tftpboot]

    comment = Windows 7 Image

    path = /var/lib/tftpboot

    read only = no

    browseable = yes

    public = yes

    printable = no

    guest ok = yes

    oplocks = no

    level2 oplocks = no

    locking = no

    #完成编辑,测试参数有没有问题:

    testparm

    #启动samba服务

    systemctl enable samba

    systemctl restart samba

    5、准备CentOS7.4 minimal 安装文件,就是把ISO文件mount起来,然后把所有文件复制到tftpboot根目录下

    mount  -o loop /centos7_minical.iso /media

    mkdir /var/lib/tftpboot/centos7

    cp -R /media/* /var/lib/tftpboot/centos7/

    6、准备winpe文件,以及windwos 安装文件,windows的安装方法是先启动winpe,然后在winpe环境下安装你想要的windows系统

    mount  -o loop /win7u.iso /media    #这里我以win7旗舰版为例

    mkdir /var/lib/tftpboot/win7u

    cp -R /media/* /var/lib/tftpboot/win7u/

    mkdir /var/lib/tftpboot/winpe

    cp winpe.iso /var/lib/tftpboot/winpe      #winpe的ISO文件,使用你信得过的、干净的,一般我是用windows automated Installation Kit(在官网上免费下载)自建一个,此处不展开叙述

    #修改权限,将这两个文件夹的所有人和组改为nobody,以便所有人都能访问

    chown -R nobody:nobody /var/lib/tftp/win7u
    chown -R nobody:nobody /var/lib/tftp/winpe

    7、写PXE启动脚本,如果你想脚本只对某台电脑有效,就用它的mac以01-mac-address的格式命名脚本,如果找不到自己mac地址命名的脚本pxe会跑default脚本,也可以用ip地址的十六进制格式命名脚本,此处略。

    vi /var/lib/tftpboot/pxelinux.cfg/default

    default menu.c32      #指定默认的选单界面
    timeout 50                #在选单界面停留5秒,如果没有输入执行选单中的第一项

    menu title ######### PXE Boot Menu ##########
    label 1       #第一项,本地硬盘引导,注意这只是通用方法,取决于你硬盘上操作系统的引导器,可能有时候会引导不起来,此处略
          menu label ^1) Boot from local drive
          localboot

    label 2    #第二项,引导CentOS7的安装程序,如果你要做无盘站请参考其他资料
    menu label ^2) Install CentOS 7
    kernel centos7/images/pxeboot/vmlinuz
    append initrd=centos7/images/pxeboot/initrd.img method=http://192.168.4.104/tftpboot/centos7 devfs=nomount

    label 3      #第三项,引导一个winpe无盘系统,然后你需要在winpe界面下  net use y:   \192.168.4.104 ftpbootwin7u   再从y:上面setup来安装
    menu label ^3) Install win7u
    kernel memdisk
    INITRD winpe/winpe_amd64.iso
    append iso raw

    #编辑完成,打开你主板上pxe引导选项,来试下pxe引导吧。

    他强由他强,清风拂山冈。他横任他横,明月照大江。
  • 相关阅读:
    网页尺寸scrollHeight
    浏览器窗口可视区域大小
    创建文本节点createTextNode
    创建元素节点createElement
    faster rcnn需要理解的地方
    3d点云
    多维的vector定义和初始化
    写代码的可扩展性
    1111
    tmux命令
  • 原文地址:https://www.cnblogs.com/gucb/p/11157264.html
Copyright © 2020-2023  润新知