NetworkManager 共享连接、DHCP 服务器、多个 IP

NetworkManager 共享连接、DHCP 服务器、多个 IP

如果我将 pc-eth1 设置为“,我的以下设置工作得很好手动的“连接,如果我为 SBC(sbc-eth0 和 sbc-eth1)和 pc-eth1 提供静态 IP 地址:

在此输入图像描述

使用静态值,我可以从 pc-eth1 ssh 到 sbc-eth0 和 sbc-eth1。

另外,如果我将 pc-eth1 连接设置为“共享" ,并将 IP 地址指定给 pc-eth1 作为 "192.168.56.12" ,sbc-eth0 也可以从我的计算机成功获取 IP 地址(在 192.168.56.XXX 范围内)。但是在这种情况下,NetworkManager GUI 会删除第二个静态 IP 地址,SBC 的第二个接口 ( sbc-eth1 ) 未获取任何 IP 地址。

我在 SO 中读到了许多类似的问题,并阅读了相关的错误,但我不明白为什么 NetworkManager 删除 pc-eth1 上的第二个 IP 地址并且不为其提供第二个 IP 范围?

长话短说:

我希望 NM 通过 pc-eth1 上的两个 IP 地址提供 DHCP 服务。

有办法实现这一点吗?

答案1

使用 NetworkManager 的共享模式,您只能设置一个通过 DHCP 共享的 IPv4 范围。

请注意,您可以在共享配置文件中配置多个 IP 地址。如果 GUI 拒绝这样做,则这是您所使用的 GUI 的限制。 Nmcli 不会阻止这种情况。但是,即使您这样做,也只有第一个 IP 地址构成要共享的子网。第二个地址不会确定通过 DHCP 宣布的范围。

我想,您可以将 dnsmasq 的附加配置文件删除到/etc/NetworkManager/dnsmasq-shared.d/.参见示例https://fedoramagazine.org/internet-connection-sharing-networkmanager/

或者,运行您自己的 DHCP 服务器而不使用 NetworkManager,例如 dnsmasq。

但我不清楚您期望 sbc-eth0 和 sbc-eth1 如何从同一 DHCP 服务器获取来自不同子网的 DHCP 地址。绘制起来就好像它们是两个不同的界面。你的意思是一个接口上有两个IP地址吗?否则,您至少需要在 DHCP 服务器中配置请求接口,以根据请求者提供众所周知的 IP 配置。同样,dnsmasq 有一个选项。

相关内容