使用tftpd32自动化网络安装esxi6.0u2和rhel6.7实践

前言

在tftp那篇文章中我提到过一般网络安装基于Linux下PXE+TFTP+DHCP+(HTTP/FTP/NFS)来实现,然而在真实的生产环境中分别测试了Cloudboot和Cobbler,面对大量型号和配置不一样的物理机并不能满足实际需求。最后采用Windows笔记本+交换机+tftpd32+kickstart来灵活应对esxi6和rhel6.7的自动化装机,为了不依赖自动化光盘安装的低效懒人模式,中间还是踩了不少的坑。个人觉得装机并没有孰优孰劣的说法,而且未来是属于分布式存储+万兆交换机+类似VMware/OpenStack的模式,人肉装机的时代已经离我们渐行渐远。

利用tftpd32快速搭建自动化网络搞机平台

更新历史

2017年01月19日 - 初稿

阅读原文 - https://wsgzao.github.io/post/tftpd32/

扩展阅读

Tftd32 - http://tftpd32.jounin.net/
Kickstart Generator - https://access.redhat.com/labsinfo/kickstartconfig


3点建议

  1. PXE只是网络安装的引导方式,自动化的核心配置文件始终依赖kickstart/autoyast/autounattend等
  2. 文章内提到的引导介质均提取自rhel6.7镜像文件syslinux-nonlinux-4.04-3.el6.noarch.rpm
  3. 云霁科技的Cloudboot成熟度非常高,建议大家多参考其高质量的配置方案

CloudBoot 云启装机平台(开源版) - http://www.idcos.com/products/cloudboot-open-source



esxi

tftpd32+esxi6.0u2+kickstart+hfs

  1. Windows下关闭防火墙,设置IP地址为192.168.1.1/24
  2. 启动tftpd32参考上图所示配置,Base Directory目录选择实际定义的路径,如tftpboot_esxi\
  3. 解压ESXi ISO至tftpboot_esxi\,修改BOOT.CFG添加kernelopt=ks=http://192.168.1.1/esxi6/KS.CFG
  4. 将KS.CFG放入自定义目录,使用hfs加载
  5. 复制syslinux中的pxelinux.0到tftpboot_esxi\
  6. 复制syslinux中的MENU.C32替换tftpboot_esxi`中的同名文件
  7. 创建tftpboot_esxi\pxelinux.cfg\目录,复制ESXi ISO文件中的ISOLINUX.CFG至该目录并改名为default
  8. 检查tftpd32服务启动正常,测试自动化网络安装esxi
#BOOT.CFG

bootstate=0
title=Loading ESXi installer
timeout=5
kernel=/tboot.b00
kernelopt=ks=http://192.168.1.1/esxi6/KS.CFG
modules=/b.b00 --- /jumpstrt.gz --- /useropts.gz --- /k.b00 --- /chardevs.b00 --- /a.b00 --- /user.b00 --- /uc_intel.b00 --- /uc_amd.b00 --- /sb.v00 --- /s.v00 --- /scsi_mpt.v00 --- /net_tg3.v00 --- /elxnet.v00 --- /ima_be2i.v00 --- /lpfc.v00 --- /scsi_be2.v00 --- /amsHelpe.v00 --- /conrep.v00 --- /hpbootcf.v00 --- /hpe_buil.v00 --- /hpe_esxi.v00 --- /hpe_ilo.v00 --- /hpe_smx_.v00 --- /hponcfg.v00 --- /hpssacli.v00 --- /hptestev.v00 --- /char_hpc.v00 --- /hpnmi.v00 --- /scsi_hpd.v00 --- /scsi_hps.v00 --- /scsi_hpv.v00 --- /intelcim.v00 --- /net_i40e.v00 --- /net_igb.v00 --- /net_ixgb.v00 --- /nmlx4_co.v00 --- /nmlx4_en.v00 --- /misc_cni.v00 --- /net_bnx2.v00 --- /net_bnx2.v01 --- /net_cnic.v00 --- /net_nx_n.v00 --- /net_qlcn.v00 --- /qlnative.v00 --- /scsi_bfa.v00 --- /scsi_bnx.v00 --- /scsi_bnx.v01 --- /scsi_qla.v00 --- /mtip32xx.v00 --- /ata_pata.v00 --- /ata_pata.v01 --- /ata_pata.v02 --- /ata_pata.v03 --- /ata_pata.v04 --- /ata_pata.v05 --- /ata_pata.v06 --- /ata_pata.v07 --- /block_cc.v00 --- /ehci_ehc.v00 --- /emulex_e.v00 --- /weaselin.t00 --- /esx_dvfi.v00 --- /esx_ui.v00 --- /ima_qla4.v00 --- /ipmi_ipm.v00 --- /ipmi_ipm.v01 --- /ipmi_ipm.v02 --- /lsi_mr3.v00 --- /lsi_msgp.v00 --- /lsu_hp_h.v00 --- /lsu_lsi_.v00 --- /lsu_lsi_.v01 --- /lsu_lsi_.v02 --- /lsu_lsi_.v03 --- /lsu_lsi_.v04 --- /misc_dri.v00 --- /net_e100.v00 --- /net_e100.v01 --- /net_enic.v00 --- /net_forc.v00 --- /net_mlx4.v00 --- /net_mlx4.v01 --- /net_vmxn.v00 --- /nmlx4_rd.v00 --- /nvme.v00 --- /ohci_usb.v00 --- /rste.v00 --- /sata_ahc.v00 --- /sata_ata.v00 --- /sata_sat.v00 --- /sata_sat.v01 --- /sata_sat.v02 --- /sata_sat.v03 --- /sata_sat.v04 --- /scsi_aac.v00 --- /scsi_adp.v00 --- /scsi_aic.v00 --- /scsi_fni.v00 --- /scsi_ips.v00 --- /scsi_meg.v00 --- /scsi_meg.v01 --- /scsi_meg.v02 --- /scsi_mpt.v01 --- /scsi_mpt.v02 --- /uhci_usb.v00 --- /vsan.v00 --- /vsanheal.v00 --- /vsanmgmt.v00 --- /xhci_xhc.v00 --- /tools.t00 --- /nmst.v00 --- /xorg.v00 --- /imgdb.tgz --- /imgpayld.tgz
build=
updated=0

#default

DEFAULT menu.c32
MENU TITLE ESXi6.0u2 Boot Menu
NOHALT 1
PROMPT 0
TIMEOUT 80
LABEL install
  KERNEL mboot.c32
  APPEND -c boot.cfg
  MENU LABEL ESXi6.0u2 ^Installer
LABEL hddboot
  LOCALBOOT 0x80
  MENU LABEL ^Boot from local disk

#KS.CFG

# Accept the VMware End User License Agreement
vmaccepteula

# Set the root password for the DCUI and Tech Support Mode
rootpw admin123
# Install on the first local disk available on machine
install --firstdisk --overwritevmfs

# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0

# Reboot at the end
reboot


file://H:\01_autoinstall\tftpboot_esxi  (3 folders, 129 files, 377.76 MB, 379.93 MB in total.)
│  .DISCINFO 33 bytes
│  A.B00 10.96 KB
│  AMSHELPE.V00  1.32 MB
│  ATA_PATA.V00  8.28 KB
│  ATA_PATA.V01  6.22 KB
│  ATA_PATA.V02  6.47 KB
│  ATA_PATA.V03  7.22 KB
│  ATA_PATA.V04  8.33 KB
│  ATA_PATA.V05  7.01 KB
│  ATA_PATA.V06  6.17 KB
│  ATA_PATA.V07  7.59 KB
│  B.B00 75.03 KB
│  BLOCK_CC.V00  23.75 KB
│  BOOT.CAT  512 bytes
│  BOOT.CFG  2.07 KB
│  CHAR_HPC.V00  9.93 KB
│  CHARDEVS.B00  18.67 KB
│  CONREP.V00    1.87 MB
│  EFIBOOT.IMG   1.00 MB
│  EHCI_EHC.V00  32.99 KB
│  ELXNET.V00    132.88 KB
│  EMULEX_E.V00  5.68 KB
│  ESX_DVFI.V00  89.19 KB
│  ESX_UI.V00    2.83 MB
│  HPBOOTCF.V00  28.52 KB
│  HPE_BUIL.V00  458 bytes
│  HPE_ESXI.V00  1.51 MB
│  HPE_ILO.V00   9.50 KB
│  HPE_SMX_.V00  7.81 MB
│  HPNMI.V00 4.20 KB
│  HPONCFG.V00   96.62 KB
│  HPSSACLI.V00  4.97 MB
│  HPTESTEV.V00  6.29 KB
│  IMA_BE2I.V00  489.49 KB
│  IMA_QLA4.V00  359.39 KB
│  IMGDB.TGZ 62.35 KB
│  IMGPAYLD.TGZ  3.94 MB
│  INTELCIM.V00  94.06 KB
│  IPMI_IPM.V00  9.38 KB
│  IPMI_IPM.V01  22.99 KB
│  IPMI_IPM.V02  27.91 KB
│  ISOLINUX.BIN  14.00 KB
│  ISOLINUX.CFG  231 bytes
│  JUMPSTRT.GZ   20 bytes
│  K.B00 3.26 MB
│  KS.CFG    356 bytes
│  LPFC.V00  555.77 KB
│  LSI_MR3.V00   68.98 KB
│  LSI_MSGP.V00  117.96 KB
│  LSU_HP_H.V00  15.34 KB
│  LSU_LSI_.V00  78.96 KB
│  LSU_LSI_.V01  159.84 KB
│  LSU_LSI_.V02  78.96 KB
│  LSU_LSI_.V03  187.32 KB
│  LSU_LSI_.V04  114.35 KB
│  MBOOT.C32 84.17 KB
│  MENU.C32  60.35 KB
│  MISC_CNI.V00  5.51 KB
│  MISC_DRI.V00  1.24 MB
│  MTIP32XX.V00  67.84 KB
│  NET_BNX2.V00  178.17 KB
│  NET_BNX2.V01  1.00 MB
│  NET_CNIC.V00  48.42 KB
│  NET_E100.V00  93.66 KB
│  NET_E100.V01  108.27 KB
│  NET_ENIC.V00  43.63 KB
│  NET_FORC.V00  36.61 KB
│  NET_I40E.V00  132.01 KB
│  NET_IGB.V00   101.62 KB
│  NET_IXGB.V00  167.56 KB
│  NET_MLX4.V00  107.78 KB
│  NET_MLX4.V01  66.30 KB
│  NET_NX_N.V00  1.32 MB
│  NET_QLCN.V00  283.02 KB
│  NET_TG3.V00   107.81 KB
│  NET_VMXN.V00  30.50 KB
│  NMLX4_CO.V00  117.53 KB
│  NMLX4_EN.V00  119.73 KB
│  NMLX4_RD.V00  39.92 KB
│  NMST.V00  12.32 KB
│  NVME.V00  63.07 KB
│  OHCI_USB.V00  19.44 KB
│  pxelinux.0    26.13 KB
│  QLNATIVE.V00  731.51 KB
│  RSTE.V00  209.06 KB
│  S.V00 92.98 MB
│  SAFEBOOT.C32  61.79 KB
│  SATA_AHC.V00  19.80 KB
│  SATA_ATA.V00  11.79 KB
│  SATA_SAT.V00  17.16 KB
│  SATA_SAT.V01  10.32 KB
│  SATA_SAT.V02  10.86 KB
│  SATA_SAT.V03  8.03 KB
│  SATA_SAT.V04  6.35 KB
│  SB.V00    48.31 MB
│  SCSI_AAC.V00  52.10 KB
│  SCSI_ADP.V00  143.31 KB
│  SCSI_AIC.V00  95.67 KB
│  SCSI_BE2.V00  247.25 KB
│  SCSI_BFA.V00  1.20 MB
│  SCSI_BNX.V00  95.69 KB
│  SCSI_BNX.V01  78.25 KB
│  SCSI_FNI.V00  64.13 KB
│  SCSI_HPD.V00  937.40 KB
│  SCSI_HPS.V00  72.92 KB
│  SCSI_HPV.V00  704.64 KB
│  SCSI_IPS.V00  32.12 KB
│  SCSI_MEG.V00  28.29 KB
│  SCSI_MEG.V01  54.13 KB
│  SCSI_MEG.V02  26.45 KB
│  SCSI_MPT.V00  132.34 KB
│  SCSI_MPT.V01  147.33 KB
│  SCSI_MPT.V02  124.50 KB
│  SCSI_QLA.V00  147.12 KB
│  TBOOT.B00 43.32 KB
│  TOOLS.T00 180.67 MB
│  UC_AMD.B00    3.41 KB
│  UC_INTEL.B00  135.83 KB
│  UHCI_USB.V00  19.82 KB
│  USER.B00  447.52 KB
│  USEROPTS.GZ   20 bytes
│  VMWARE-ESX-BASE-OSL.TXT   1.13 MB
│  VMWARE-ESX-BASE-README    2.19 KB
│  VSAN.V00  6.73 MB
│  VSANHEAL.V00  168.57 KB
│  VSANMGMT.V00  1.35 MB
│  WEASELIN.T00  1.93 MB
│  XHCI_XHC.V00  72.94 KB
│  XORG.V00  1.28 MB
├─EFI   (1 folders, 0 files, 0 bytes, 193.17 KB in total.)
│  └─BOOT    (0 folders, 3 files, 193.17 KB, 193.17 KB in total.)
│          BOOT.CFG  2.04 KB
│          BOOTIA32.EFI  94.59 KB
│          BOOTX64.EFI   96.53 KB
├─pxelinux.cfg  (0 folders, 1 files, 231 bytes, 231 bytes in total.)
│      default 231 bytes
└─UPGRADE   (0 folders, 10 files, 1.98 MB, 1.98 MB in total.)
        ESXIMAGE.ZIP    874.17 KB
        EXTLINUX    62.51 KB
        ISOINFO 233.62 KB
        MBR.BIN 440 bytes
        MCOPY   584.17 KB
        METADATA.XML    1.54 KB
        METADATA.ZIP    141.08 KB
        PRECHECK.PY 72.78 KB
        PREP.PY 47.54 KB
        PROFILE.XML 8.85 KB

引用他人在Linux下的安装流程

PEX安装ESXi6 - http://blog.csdn.net/onlyshenmin/article/details/52434743

#安装dhcp、tftp-server、syslinux、xinetd。
yum install dhcp tftp-server syslinux xinetd

#挂载ESXi ISO到/mnt
mount /dev/cdrom /mnt

#修改dhcpd.conf
ddns-update-style interim;
allow booting;
allow bootp;
class "pxeclients" {
    match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
    next-server 172.16.8.7;
    filename = "pxelinux.0";
}
subnet 172.16.8.0 netmask 255.255.255.0 {
    range 172.16.8.100 172.16.8.199;
}

#启用tftp,修改/etc/xinetd.d/tftp中的disable = yes为disable = no
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
}

#复制pxelinux.0到tftp根目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

#新建目录/var/lib/tftpboot/pxelinux.cfg
mkdir /var/lib/tftpboot/pxelinux.cfg

#复制ESXi ISO文件中的isolinux.cfg到/var/lib/tftpboot/pxelinux.cfg/下并改名default
cp /mnt/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

#复制ESXi ISO中的全部文件到/var/lib/tftpboot/下
cp -a  /mnt/* /var/lib/tftpboot/

#复制syslinux自带的menu.c32到tftp根目录替换掉ESXI ISO里的menu.c32。
cp /usr/share/syslinux/menu.c32  /var/lib/tftpboot/

#重启dhcp、xinetd服务
systemctl restart dhcpd
systemctl restart xinetd

#自定义安装脚本,安装httpd,编辑脚本ks.cfg
vim /var/www/html/ks.cfg
#
# Sample scripted installation file
#
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword
# Install on the first local disk available on machine
install --firstdisk --overwritevmfs
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0
# A sample post-install script
%post --interpreter=python --ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )

#编辑ESXi ISO复制过来的boot.cfg文件,添加kernelopt=ks=http://172.16.8.7/ks.cfg
vim /var/lib/tftpboot/boot.cfg

bootstate=0
title=Loading ESXi installer
timeout=5
kernel=/tboot.b00
kernelopt=ks=http://172.16.8.7/ks.cfg
modules=/b.b00 --- /jumpstrt.gz --- /useropts.gz --- /k.b00 --- /chardevs.b00 --- /a.b00 --- /user.b00 --- /uc_intel.b00 --- /uc_amd.b00 --- /sb.v00 --- /s.v00 --- /mtip32xx.v00 --- /ata_pata.v00 --- /ata_pata.v01 --- /ata_pata.v02 --- /ata_pata.v03 --- /ata_pata.v04 --- /ata_pata.v05 --- /ata_pata.v06 --- /ata_pata.v07 --- /block_cc.v00 --- /ehci_ehc.v00 --- /elxnet.v00 --- /emulex_e.v00 --- /weaselin.t00 --- /esx_dvfi.v00 --- /esx_ui.v00 --- /ima_qla4.v00 --- /ipmi_ipm.v00 --- /ipmi_ipm.v01 --- /ipmi_ipm.v02 --- /lpfc.v00 --- /lsi_mr3.v00 --- /lsi_msgp.v00 --- /lsu_hp_h.v00 --- /lsu_lsi_.v00 --- /lsu_lsi_.v01 --- /lsu_lsi_.v02 --- /lsu_lsi_.v03 --- /lsu_lsi_.v04 --- /misc_cni.v00 --- /misc_dri.v00 --- /net_bnx2.v00 --- /net_bnx2.v01 --- /net_cnic.v00 --- /net_e100.v00 --- /net_e100.v01 --- /net_enic.v00 --- /net_forc.v00 --- /net_igb.v00 --- /net_ixgb.v00 --- /net_mlx4.v00 --- /net_mlx4.v01 --- /net_nx_n.v00 --- /net_tg3.v00 --- /net_vmxn.v00 --- /nmlx4_co.v00 --- /nmlx4_en.v00 --- /nmlx4_rd.v00 --- /nvme.v00 --- /ohci_usb.v00 --- /qlnative.v00 --- /rste.v00 --- /sata_ahc.v00 --- /sata_ata.v00 --- /sata_sat.v00 --- /sata_sat.v01 --- /sata_sat.v02 --- /sata_sat.v03 --- /sata_sat.v04 --- /scsi_aac.v00 --- /scsi_adp.v00 --- /scsi_aic.v00 --- /scsi_bnx.v00 --- /scsi_bnx.v01 --- /scsi_fni.v00 --- /scsi_hps.v00 --- /scsi_ips.v00 --- /scsi_meg.v00 --- /scsi_meg.v01 --- /scsi_meg.v02 --- /scsi_mpt.v00 --- /scsi_mpt.v01 --- /scsi_mpt.v02 --- /scsi_qla.v00 --- /uhci_usb.v00 --- /vsan.v00 --- /vsanheal.v00 --- /vsanmgmt.v00 --- /xhci_xhc.v00 --- /tools.t00 --- /xorg.v00 --- /imgdb.tgz --- /imgpayld.tgz
build=
updated=0

rhel

tftpd32+rhel6.7+kickstart+hfs

  1. Windows下关闭防火墙,设置IP地址为192.168.1.1/24
  2. 启动tftpd32参考上图所示配置,Base Directory目录选择实际定义的路径,如tftpboot_rhel\
  3. 解压rhel6.7 ISO至自定义目录,使用hfs作为http文件服务器
  4. 将ks.cfg放入自定义目录,使用hfs加载
  5. 复制syslinux中的pxelinux.0/initrd.img/vesamenu.c32/vmlinuztftpboot_rhel\
  6. 创建pxelinux.cfg目录,复制rhel6.7 ISO文件中的ISOLINUX.CFG至该目录并改名为default
  7. 修改default文件,ks=http://192.168.1.1/rhel67/ks.cfg ksdevice=eth10,出现multiple network devices提示一定要加入ksdevice确认网卡
  8. 检查tftpd32服务启动正常,测试自动化网络安装rhel
#default

default vesamenu.c32
#prompt 1
timeout 60

display boot.msg

menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.7!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.1.1/rhel67/ks.cfg ksdevice=eth10
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

#ks.cfg

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
#cdrom
url --url=http://192.168.1.1/rhel67/
# Network
#network --bootproto=dhcp --device=eth0
# Root password
rootpw admin123
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Partition
#autopart
part /boot --fstype=ext4 --size=500
part pv.008002 --grow --size=1
volgroup VolGroup --pesize=4096 pv.008002
logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --size=20480
logvol /home --fstype=ext4 --name=lv_home --vgname=VolGroup --size=20480
logvol /opt --fstype=ext4 --name=lv_opt --vgname=VolGroup --size=20480
logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=VolGroup --size=20480
logvol /usr --fstype=ext4 --name=lv_usr --vgname=VolGroup --size=20480
logvol /var --fstype=ext4 --name=lv_var --vgname=VolGroup --size=20480
logvol swap --name=lv_swap --vgname=VolGroup --size=65536
# Packages
%packages
@base
@chinese-support
@client-mgmt-tools
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@perl-runtime
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@x11
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
mtools
abrt-gui
certmonger
pam_krb5
krb5-workstation
libXmu
perl-DBD-SQLite
%end


file://H:\01_autoinstall\tftpboot_rhel  (1 folders, 4 files, 38.93 MB, 38.93 MB in total.)
│  initrd.img    34.72 MB
│  pxelinux.0    26.13 KB
│  vesamenu.c32  159.89 KB
│  vmlinuz   4.03 MB
└─pxelinux.cfg  (0 folders, 1 files, 991 bytes, 991 bytes in total.)
        default 991 bytes

引用他人在Linux下的安装流程

RHEL6 (64bits)系统上利用PXE+DHCP+TFTP+KickStart批量安装系统
http://chrinux.blog.51cto.com/6466723/1214641

CentOS 6.4下PXE+Kickstart无人值守安装操作系统
http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html

tftpd32

请允许我直接偷懒引用官方简洁纯朴的英文说明,希望大家在遇到问题前回顾下每个选项的解释,谢谢

Tftpd32 is a free, opensource IPv6 ready application which includes DHCP, TFTP, DNS, SNTP and Syslog servers as well as a TFTP client.

TFTP

Trivial File Transfer Protocol was first defined in 1980, it is a lightweight version of the FTP protocol that has no directory browsing or password capability. Employing UDP rather than TCP for transport, TFTP is typically used to transfer firmware upgrades to network equipment such as routers, switches and IP phones.It is also used to boot diskless computers (PXE).

SNTP

Simple Network Timle Protocol is a simplified version of NTP (Network Time Protocol). They synchronise the time on workstations across a network.

DHCP

DHCP assigns IP addresses to client stations logging onto a TCP/IP network. It eliminates having to manually assign permanent IP addresses on each station.

Syslog

Syslog is a service for remotely logging data. For example, it allows to monitor videoless network equipments.

Tftpd server Settings

Base directory
The default directory used by the TFTP client and server. It may be changed from the main window.

Global Settings
Enable or disable tftpd32 servers and clients.

TFTP security

  • NONE (Not recommended !)
    read and write requests are allowed on all disks/directories.
  • Standard
    read and write requests are allowed but limited to the current directory.
  • High
    idem standard + write requests are allowed only if the input file exists and is empty.
  • Read only
    idem standard + write requests are rejected.

TFTP Configuration

  • Timeout
    The maximum timeout between two retransmissions
  • Max Retransmit
    The maximum retransmission for the same packet
  • Tftp Port
    The port used to listen incoming requests
  • local ports pool
    A range of ports (for example 3000:3030). These ports are used for the file transfers.

TFTP Configuration

  • Option Negotiation
    Enables the negotiation between client and server (RFC 2347)
  • PXE compatibility
    Enables only the file size negotiation
  • Show progress Bar
    Creates a gauge window for each transfer
  • Translate Unix file names
    Translates any slash characters to a backslash
  • Bind Tftpd32 to this address
    Enables TFTP only on one interface
  • Allow '' As virtual root
    A file name beginning with '' points to the TFTP directory and not to the root of the disk
  • Use anticipation window of ??? bytes
    Tftpd32 is able to send packets before receiving acknowledgements. This feature may dramatically speed up the transfer.
  • Hide window at startup
    Tftpd32 main window remains hidden, but the icon in the tasktray is still present
  • Create dir.txt files
    For each incoming read request, Tftpd32 lists the content of the directory and put the result in a file named "dir.txt".
  • Create md5 file
    For each successfull read request, Tftpd32 creates a file which is the MD5 signature of the previous file
    Beep for long transfer
    Tftpd32 sends a beep once a transfer has ended.

DHCP Setup

  • IP Pool starting Address
    This is the first address which will be distributed.
  • Size of pool
    This is the number of hosts which may be configured by Tftpd32.
  • Lease
    This is the amount of time in minutes the address is leased for.
  • Boot File
    Used by diskless stations. It is the file which will be retrieved by TFTP to start up the boot process.
    The strings $MAC$ and $IP$ are pseudo variables which are translated into the MAC address of the client and its assignated IP address.
  • Default router
    The IP address of the LAN gateway.
  • Mask
    The network mask which will be assigned to the DHCP clients.
  • DNS servers
    The IP address of the DNS. Two DNS can be configured.
  • WINS Server
    The IP address of the WINS server.
  • NTP Server
    The IP address of the NTP server used for synchronisation.
  • SIP Server
    The IP address of the SIP server. It concerns mostly IP phones.
  • Domain Name
    Either the NT domain or the internet domain.
  • Additional Option
    The first field is the number of the option to be handled
    The second filed is the value of the field. The value is prefixed with its type (a for list of IPv4 address, x for list of hex digits, b for list of decimal bytes, s for an ASCII string) [legacy prefixes: i for integer, n for network order integers]
  • More Additional Options ?
    Tftpd32 supports up to 10 additionnal options. They have to be configured by editing the tftpd32.ini settings file. Their syntax is similar to the previous one.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 2,810评论 0 0
  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 13,433评论 5 6
  • 老君曰:大道无形,生育天地;大道无情,运行日月;大道无名,长养万物;吾不知其名,强名曰道。夫道者:有清有浊,有动有...
    厶生阅读 393评论 0 0
  • 杭州这个城市之所以与众不同,很大程度上要归功于西湖。 它除了钟灵毓秀的自然风光之外,无数的诗词歌赋、传说典故把西湖...
    沉鱼日记阅读 441评论 0 0
  • 一.内置注解 1.元注解(用于修饰注解定义) 2.原生注解 二.自定义注解(例) 1.定义注解 2.使用注解 3....
    lioilwin阅读 529评论 0 0