Ubuntu
Dnsmasq/Ubuntu“沒有收到 DHCP 或 proxyDHCP 提供”
我已經啟動了一個 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
無論如何,這對我有用 - 所有其他配置都按預期工作。