Virtualbox

如何在 Virtualbox CentOS7 VM 中為 Cobbler PXE 啟動配置 DHCP 伺服器?

  • September 18, 2019

我對 Virtual Box 很陌生,並嘗試在虛擬框中模擬cobber PXE 引導網路安裝

嘗試將 VM1 配置為 PXE/DHCP 伺服器並將 VM2 設置為客戶端,以便在網路啟動時從 VM1 DHCP 伺服器獲取 IP 以進行網路安裝。

但是繼續從安裝了虛擬盒的主機獲取IP。因為 VM2 找不到 VM1 中存在的 pxeboot 文件。

VM1 dhcp 狀態片段:

Listening on LPF/enp0s3/08:00:27:86:b1:c6/192.168.43.0/24
Aug 09 19:03:23 localhost.localdomain dhcpd[3305]: Sending on   LPF/enp0s3/08:00:27:86:b1:c6/192.168.43.0/24
Aug 09 19:03:23 localhost.localdomain dhcpd[3305]: Sending on   Socket/fallback/fallback-net
Aug 09 19:03:23 localhost.localdomain systemd[1]: Started DHCPv4 Server Daemon.

VM1 dhcp 配置文件

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

option pxe-system-type code 93 = unsigned integer 16;

subnet 192.168.43.0 netmask 255.255.255.0 {
    option routers             192.168.43.1;
    option domain-name-servers 192.168.43.1;
    option subnet-mask         255.255.255.0;
    range dynamic-bootp        192.168.43.100 192.168.43.254;
    default-lease-time         21600;
    max-lease-time             43200;
    next-server                192.168.43.146;
    class "pxeclients" {
         match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
         if option pxe-system-type = 00:02 {
                 filename "ia64/elilo.efi";
         } else if option pxe-system-type = 00:06 {
                 filename "grub/grub-x86.efi";
         } else if option pxe-system-type = 00:07 {
                 filename "grub/grub-x86_64.efi";
         } else if option pxe-system-type = 00:09 {
                 filename "grub/grub-x86_64.efi";
         } else {
                 filename "pxelinux.0";
         }
    }

}

# group for Cobbler DHCP tag: default

group {
   host centostest.mydomain.com-net0 {
       hardware ethernet 08:00:27:7f:aa:f1;
       fixed-address 192.168.43.120;
       option host-name "centostest.mydomain.com";
       option subnet-mask 255.255.255.0;
       option routers 192.168.43.1;
       filename "/pxelinux.0";
       next-server 192.168.43.146;
   }
}

VM1 適配器設置 - 伺服器

在此處輸入圖像描述

VM2 適配器設置 - 客戶端 在此處輸入圖像描述

在 VM2 網路啟動時,它會獲得 IP 192.168.43.17 而不是 vm1 dhcp conf 文件中提供的 192.168.43.120

在此處輸入圖像描述

如何解決這個問題?

我建議設置一個“橋接”以外的網路。DHCP 通過廣播工作,因此子網上的任何 DHCP 伺服器都可以響應。為了防止這種情況,您看到了自己的子網。

在文件 > 主機網路管理器中,您將看到預設的“VirtualBox Host-Only Ethernet Adapter”。您可以取消選中“DHCP 伺服器”框以打開內置 DHCP 伺服器。然後,將 DHCP 伺服器 VM 和正在 PXE 引導的機器連接到 Host-Only 適配器,而不是橋接適配器。

引用自:https://unix.stackexchange.com/questions/534732