Ubuntu

Dnsmasq/Ubuntu“沒有收到 DHCP 或 proxyDHCP 提供”

  • March 22, 2019

我已經啟動了一個 Ubuntu 18.04 (Bionic Beaver) 伺服器*,目的是安裝 DBAN .iso,以便我可以 PXE 引導它。*伺服器版本的 Ubuntu,但這實際上是桌面硬體(戴爾 Optiplex 3020)。

我找到了一個在舊版本的 Ubuntu 上配置它的指南,它似乎或多或少相同(網路介面的命名約定除外)。按照這些步驟進行操作後,我實際上無法從另一台機器(通過交換機連接到伺服器)進行 PXE 引導,而且我可以說這與用作 DHCP 的 dnsmasq 的配置有關伺服器。我收到的錯誤是

PXE-EH1: No DHCP or proxyDHCP offers were received.    
PXE-MOF: Exiting PXE ROM

在我關注的初始指南和其他一些論壇之間,我在故障排除時發現我已經拼湊了以下**/etc/dnsmasq.conf**

dhcp-authoritative
interface=enp2s0
bind-interfaces
dhcp-options=3,0.0.0.0
dhcp-options=6,0.0.0.0
dhcp-range=10.0.0.2,10.0.0.254,6h
dhcp-boot=pxelinux.0,dban-server,10.0.0.1

當我執行dnsmasq –test時,語法檢查正常。如果我重新啟動 dnsmasq 它不會拋出任何錯誤。

有關資訊,初始配置如下,並且僅在我遇到與現在相同的問題時才更改。

dhcp-range=10.0.0.2,10.0.0.254,6h
dhcp-boot=pxelinux.0,dban-server,10.0.0.1
interface=enp2s0

我認為我的其餘設置沒問題,但我似乎無法讓 dnsmasq 向其他機器發出 DHCP 租約。

追根溯源——絕對只有我對 Linux 一無所知。如果其他人有同樣的問題:

事實證明,預設情況下 IPv4 被禁用,在 ifconfig 中註意到該介面只有一個 IPv6 地址。打開網路配置文件:

sudo nano /etc/netplan/50-cloud-init.yaml

然後禁用 DHCP 並設置 IPv4 地址,使文件顯示為:

network:
  ethernets:
      enp2s0:
         dhcp4: no
         addresses: [10.0.0.1/24]
   version: 2

確保在此文件中使用空格而不是製表符,因為使用製表符時它不起作用。顯然,請確保您使用自己的介面(我的是 enp2s0)以及您想要的靜態地址和網路遮罩。

保存文件後輸入

sudo netplan apply

無論如何,這對我有用 - 所有其他配置都按預期工作。

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