如何在具有静态保留的vmware Fusion 7 Pro上的dhcp.conf中configurationPXE / Tftp

我是一名部署系统的高级devops工程师,每周要发布数千台linux机器。 我正在使用vmware fusion 7 pro来执行此操作,并且在pxe启动时遇到了一些麻烦。

我遇到了这个小问题,所以我想我会做一个快速写作,也许保存一个人15分钟。 如果有人知道更好的方法,我很乐意听到它。

我正在玩PXE启动一些容器。 我希望VMware Fusion能够处理DHCP,并且我希望虚拟机可以通过我的Mac进行外部访问,因此我需要默认使用vmnet8。 我也有几个虚拟机应该有静态保留模仿这个系统将驻留在生产networking。 所以我编辑/ Library / Preferences / VMware Fusion / vmnet8 / dhcpd.conf

我需要为tftp的子网声明添加两条简单的行:

next-server 192.168.87.20; filename "pxelinux.0"; 

问题是子网声明(股票文件的第26行)在禁区内:

 ###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" ##### 

如果你在禁区内改变了东西,然后重新启动vmware fusion,或者重新启动它的networking,它会用自动生成的druckd.conf文件粗暴地replace整个dhcpd.conf文件。 它确实将现有的一个旋转到一个备份,但只有一个旋转(3将不会粗鲁,所以会提示和日志条目)。

这是如何在相关VMware Fusion dhcp.conf文件中添加PXE引导configuration。

“适当的”解决scheme是简单地重新声明“不要修改”部分下的整个子网块。 所以,为PXE启动添加下一个服务器和文件名选项,我不得不添加以下内容:

 ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" ####### subnet 192.168.87.0 netmask 255.255.255.0 { range 192.168.87.128 192.168.87.254; option broadcast-address 192.168.87.255; option domain-name-servers 192.168.87.2; option domain-name localdomain; default-lease-time 1800; # default is 30 minutes max-lease-time 7200; # default is 2 hours option netbios-name-servers 192.168.87.2; option routers 192.168.87.2; next-server 192.168.87.20; filename "pxelinux.0"; } # host cmhpxe { hardware ethernet 00:0C:29:DF:06:7F; fixed-address 192.168.87.20; } # 

重新configuration并重新启动DHCP而不重新启动融合的有趣方法是:

 alias vm_restartdhcpd='sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure ; sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop; sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start'