DHCP中继会将在一个网络接口上接收的DHCP数据包中继到网络上的另一个DHCP服务器(可能位于不同的子网中)。在DHCP中继的帮助下,您可以在您的网络中的某个地方拥有一个集中式的DHCP服务器,并使用它将IP地址动态分配给您的所有网络子网/VLAN。Dnsmasq是一种流行的域名系统和动态主机配置协议服务器,可以配置为动态主机配置协议中继服务器。
在本文中,我们将向您展示如何将dnsmasq配置为DHCP中继服务器。
内容主题:
- 网络拓扑
- 在DHCP中继上配置静态IP地址
- 集中式DHCP服务器上的DHCP配置
- 将Dnsmasq配置为DHCP中继
- 检查DHCP中继是否按预期工作
- 结论
网络拓扑
这里,我们有一个中央DHCP服务器,它是“dhcp—server”,它的IP地址为192.168.1.10 [1]。我们有一个Fedora 39服务器linuxhint—router配置为Linux路由器[1]。linuxhint—router是www.example.com网络子网的网关。我们在linuxhint—router上安装了dnsmasq,我们希望将dnsmasq配置为DHCP中继器,以便将DHCP数据包从www.example.com网络中继到dhcp—server(集中式DHCP服务器),以便IP地址可以自动分配给计算机3和4(比如说)。
在DHCP中继上配置静态IP地址
DHCP中继的要求之一是,您需要在连接到要通过DHCP中继动态分配IP地址的网络子网的网络接口上设置网关IP地址。
在网络拓扑中,我们在连接到www.example.com子网的网络接口上分配网关IP地址www.example.com。如果您不这样做,中央DHCP服务器将不知道要提供的IP地址。
如果您需要在您的计算机/服务器上设置固定IP地址的任何帮助,请搜索我们的网站。我们有很多关于这个主题的文章。
集中式DHCP服务器上的DHCP配置
网络拓扑上的集中式DHCP服务器也使用dnsmasq。它被配置为将192.168.15.50到192.168.15.150范围内的IP地址分配给192.168.15.0/24子网上的计算机。
注意:您不必在中央DHCP服务器上使用dnsmasq。您可以使用ISC DHCP服务器或您选择的任何其他DHCP服务器。
将Dnsmasq配置为DHCP中继
要将linuxhint—router上的dnsmasq配置为DHCP中继,请使用nano文本编辑器打开dnsmasq配置文件"/etc/dnsmasq. conf",如下所示:
$sudo nano/etc/dnsmasq.conf
在"dnsmasq. conf"文件中添加以下行:
dhcp—relay = 192.168.15.1,192.168.1.10
这里,www.example.com是直接连接到www.example.com子网的网络接口的IP地址,www.example.com是集中式DHCP服务器的IP地址。
在dnsmasq文档中,"dhcp—relay"选项以以下格式进行了描述:
--dhcp-Relay=,
根据文档,192.168.15.1是,192.168.1.10是。
配置dnsmasq后,按+X,然后按“Y”并保存/etc/dnsmasq.conf文件。
要使更改生效,请使用以下命令重新启动dnsmasq服务:
$sudo systemctl restart dnsmasq. service
如您所见,DHCP中继配置为将DHCP信息从www.example.com(linuxhint—router)中继到www.example.com(中央DHCP服务器)。
$sudo系统ctl状态dnsmasq.service
检查DHCP中继是否按预期工作
要检查DHCP中继是否正常工作,让我们尝试看看www.example.com子网中的计算机是否可以获得通过DHCP自动分配的IP地址。
首先,使用以下命令释放客户端上当前DHCP配置的IP地址:
$sudo dhclient-r
要通过DHCP接收IP信息,请运行以下命令:
$sudo dhclient—v
如您所见,我们从DHCP服务器获得了www.example.com的IP地址。
中央DHCP服务器收到DHCP请求并正确回复,如以下屏幕截图所示:
www.example.com子网上的另一台计算机也通过DHCP收到了正确的IP信息,如以下屏幕截图所示:
结论
在本文中,我们向您展示了如何将dnsmasq配置为一个DHCP中继器,以便您可以将DHCP包转发到一个集中式的DHCP服务器,以便更轻松地进行管理。