![Dnsmasq/Ubuntu“未收到 DHCP 或 proxyDHCP 报价”](https://linux22.com/image/150500/Dnsmasq%2FUbuntu%E2%80%9C%E6%9C%AA%E6%94%B6%E5%88%B0%20DHCP%20%E6%88%96%20proxyDHCP%20%E6%8A%A5%E4%BB%B7%E2%80%9D.png)
我已经启动了 Ubuntu 18.04(Bionic Beaver)服务器*,目的是安装 DBAN .iso,以便我可以 PXE 启动它。 *Ubuntu 的服务器版本,但这实际上是桌面硬件(Dell 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——测试语法检查没问题。如果我重新启动 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 租约。
答案1
追根究底——肯定只有我对 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
无论如何,这对我有用 - 所有其他配置都按预期工作。