• linux dhcp搭建及pxe无人值守装机


    DHCP
    动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理
    可以自动分配的入网参数
    ip地址/子网掩码/广播地址
    默认网关地址
    DNS服务器地址

    ——————————————————————————————————————————
    DHCP四次会话
    请求:DHCP DISCOVER
    提供:DHCP OFFER
    选择:DHCP ORQUEST
    确认:DHCP ACK

    DHCP主要概念
    租期;允许客户机租用ip地址的时间期限,单位为秒
    作用域:分配给客户机的ip地址所在的网段
    地址池:用来动态分配ip地址的范围

    ——————————————————————————————————————————
    搭建DHCP服务器
    安装DHCP服务软件[root@stu ~]# yum -y install dhcp
    主配置文件:/etc/dhcp/dhcpd.conf (模板:see /usr/share/doc/dhcp*/dhcpd.conf.sample)
    执行程序:/usr/sbin/dhc
    服务脚本:/etc/init.d/dhcpd
    执行参数配置:/etc/sysconfig/dhcpd

    [root@stu ~]#/etc/dhcp/dhcpd.conf
    :read /usr/share/doc/dhcp*/dhcpd.conf.sample (read,把模板的内容复制到当前终端)
    [root@stu ~]# vim /etc/dhcp/dhcpd.conf 全局设置适用于所有网段(作用域)
    ...... ......
    default-lease-time 21600;(默认租期)
    max-lease-time 43200;(最大租期)
    option domain-name-servers (DNS服务器地址)
    .... ....
    subnet网段声明:配置一个作用域,可覆盖全局设置参数
    subnet 10.254.239.0 netmask 255.255.255.224 { (声明网段)
    range 10.254.239.10 10.254.239.20; (ip分配范围)
    option routers (默认网关地址)
    }
    启动DHCP服务程序
    正常监听UDP67端口
    服务端UDP67,客户端UDP68,至少应该有一个属于指定作用域的静态ip地址
    [root@stu ~]# service dhcpd start(启动服务)
    [root@stu ~]# less /var/lib/dhcpd/dhcpd.leases(服务端查看租约文件)

    客户机配置:[root@stu ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
    BOOTPROTO=dhcp (改为自动获取ip)
    PEERDNS=no (不自动获取DNS)
    [root@stu ~]#service network restart (重启服务)
    [root@pc205 ~]# less /var/lib/dhclient/dhclient-eth0.leases(客户端查看租约文件)

    ———————————————————————————————————————————————
    PXE网络装机
    规模化:同时装配多台主机
    自动化:装系统,配置各种服务
    远程实现:不需要光盘,u盘等物理介质

    工作模式
    PXE client 集成在网卡ROM中
    当计算机引导时,BIOS把PXE client调入内存执行,获取PXE server配置
    显示菜单,根据用户选择将远程操作系统下载到本机运行

    PXE组件及过程分析
    需要服务:
    DHCP服务:分配ip地址,定位引导程序
    DNS服务:为客户机分配主机名
    TFTP服务:提供引导程序下载
    FTP服务(或HTTP/NFS):提供yum安装源
    客户机具备条件
    网卡ROM必须支持PXE协议
    主板支持网络启动

    —————————————————————————————————————————

    配置思路
    整机装机条件准备:
    准备系统安装源(ftp方式yum库)
    启用DNS服务(可选)
    启用DHCP服务

    PXE引导配置:
    启用TFTP服务,提供装机用的内核,初始化文件
    提供PXE引导程序,配置启动菜单
    PXE引导配置(tftp)
    提供加载安装程序的内核,初始化镜像
    TFTP根目录/vmlinuz <==/光盘目录/images/pxeboot>
    TFTP根目录/initrd.img
    提供网卡启动文件,启动配置
    TFTP根目录/pxelinux.0
    TFTP根目录/pxelinux.cfg/default

    无人引导装机
    kickstart技术:(建议用方法二)
    预先提供应答文件,定义好各种安装设置
    免去交互过程,实现全自动化安装
    添加%post脚本,可执行安装后的各种配置
    应答文件获取
    方法一:找一台客户机,获取应答文件模板
    /root/anaconda-ks.cfg
    方法二:安装system-confug-kickstart
    (修改后部署到pxe服务器的/var/ftp/ks.cfg)
    (确保客户机可以成功下载ftp://192.168.4.30/ks.cfg)
    [root@stu ~]# system-config-kickstart
    执行上述图像界面工具,创建新应答文件
    生成应答文件的客户机,yum库的版本应该和待安装系统一致


    为客户机提供用来装系统的FTP软件源
    通过vsftpd服务对外发布
    [root@stu ~]# yum -y install vsftpd(安装vsftpd)
    [root@stu ~]# mount /dev/cdrom /root/myiso/(挂载rh6镜像)
    [root@stu ~]# cp -rf /root/myiso/* /var/ftp/rhel6/(把镜像复制到ftp里)
    [root@stu ~]# service vsftpd restart(启动ftp服务)
    [root@stu ~]# vim /etc/named.conf (提供DNS域名解析)
    zone "4.168.192.in-addr.arpa"IN{
    type master;
    file "192.168.4.arpa";
    };
    [root@stu ~]# vim /var/named/Anonymous.org.zone
    $GENERATE 10-80 pc$ A 192.168.4.$
    [root@stu ~]# vim /var/named/192.168.4.arpa
    $GENERATE 10-80 $ PTR pc$.Anonymous.org
    [root@stu ~]# service named restart(重启服务)
    [root@stu ~]# vim /etc/dhcp/dhcpd.conf
    option domain-name "example.org";
    option domain-name-servers 192.168.4.30;(dhcp服务器地址)

    default-lease-time 7200;
    max-lease-time 14400;

    subnet 192.168.4.0 netmask 255.255.255.0 {(提供支持pxe引导的DHCP地址分配服务)
    range 192.168.4.10 192.168.4.80;(分配ip地址)
    next-server 192.168.4.30;
    filename "pxelinux.0";(获取地址后下载pxelinux.0这个文件)
    }
    [root@stu ~]# service dhcpd restart(重启服务)
    [root@stu ~]# yum -y install tftp-server
    tftp-server
    资源根目录/var/lib/tftpboot
    [root@stu pxeboot]# vim /etc/xinetd.d/tftp
    disable = yes(默认为no,改为yes启动)
    [root@stu ~]# chkconfig tftp on(设置开机自启)
    [root@stu ~]# service xinetd restart
    [root@stu ~]# chkconfig xinetd on
    [root@stu ~]# cd /var/ftp/rhel6/images/pxeboot/(到此目录下)
    [root@stu pxeboot]# ls
    initrd.img TRANS.TBL vmlinuz
    [root@stu pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/(把文件拷贝到/var/lib/tftpboot下)
    [root@stu ~]# yum -y install syslinux-nonlinux(装包使用pxelinux.0)
    [root@stu ~]# rpm -ql syslinux-nonlinux | grep pxelinux(查找pxelinux.0)
    /usr/share/syslinux/gpxelinux.0
    /usr/share/syslinux/gpxelinuxk.0
    /usr/share/syslinux/pxelinux.0
    [root@stu ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(把文件复制到此目录下)
    [root@stu ~]# mkdir /var/lib/tftpboot/pxelinux.cfg(创建目录)
    [root@stu ~]# vim /var/lib/tftpboot/pxelinux.cfg/default(创建文件)
    prompt 1
    timeout 600
    default redhat6

    label redhat6
    kernel vmlinuz(下载内核文件)
    append ks=ftp://192.168.4.30/ks.cfg initrd=initrd.img(配置应答文件。加载初始化镜像)

    客户机网络装机过程
    通过DHCP配置网卡,获知tftp地址及pxe启动文件名称(pxelinux.0)
    从tftp服务器下载运行启动文件
    读取启动配置(pxelinux.cfg/default)
    根据用户选择或者自动选择,下载指定的vmlinuz和initrd.img
    内核vmlinuz运行后,主导安装过程

    ——————————————————————————————————————————————

  • 相关阅读:
    vue根据后端菜单自动生成路由(动态路由)
    自己前端工作中常用的一些公共函数
    前端工作中用到的openlayers相关的公共方法
    软件工具介绍
    “违反唯一约束”错误的解决方案:
    mysql 如何查看SQL语句执行的时间
    Mysql 一对多 一条数据对应多条数据 多条数据合并成一个字段显示
    事务传播机制和隔离级别
    python教程:函数的return语句运用
    python操作Excel表格小妙招:只需十行代码,可以将多张Excel合并为一张
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/7119169.html
Copyright © 2020-2023  润新知