NetworkManager 和 dnsmasq dhcp 地址范围

NetworkManager 和 dnsmasq dhcp 地址范围

在这里运行 Xubuntu 16.04。我的问题是dnsmasq,由 NetworkManager 启动时,忽略、和dnsmasq.conf中的文件。相反,NetworkManager使用以下命令启动:/etc/dnsmasq/etc/NetworkManager/dnsmasq.d/etc/NetworkManager/dnsmasq-shared.ddnsmasq

9949 ?        S      0:00 /usr/sbin/dnsmasq --conf-file --no-hosts --keep-in-foreground --bind-interfaces --except-interface=lo --clear-on-reload --strict-order --listen-address=10.42.0.1 --dhcp-range=10.42.0.10,10.42.0.254,60m --dhcp-option=option:router,10.42.0.1 --dhcp-lease-max=50 --pid-file=/var/run/nm-dnsmasq-wlan1.pid --conf-dir=/etc/NetworkManager/dnsmasq-shared.d

我在系统上找不到10.42.0.10,10.42.0.254,60m指定地址范围的地方。

这是哪里来的???

答案1

好的,我知道了。直接来自源代码,文件:nm-dnsmasq-manager.c

/* dnsmasq 可能会从它的默认配置文件位置读取,如果该位置是有效的配置文件,它将与此处的选项结合并导致不良的副作用。比如发送虚假的 IP 地址作为网关或其他什么。所以告诉 dnsmasq 不要使用任何配置文件。 */

NetworkManager 嫉妒 dnsmasq 配置值,并且不允许外部干扰它们。 NetworkManager 在内部构建并发出启动 dnsmasq 的命令行,并在此过程中包含 --conf-file(空白)指令,该指令可防止使用任何用户或系统提供的 dnsmasq 配置文件。

答案2

背景/原因:NetworkManager 作为 Lennard Poettering 项目,公开敌视 Unixy 事物,并试图取代 GNU 并自称“Linux”。因此,它回避了“一切都是文件”等经过尝试和测试的原则。导致它提供用于配置的命令行界面,在后面使用一些“自动魔法”状态文件(因为 Linux 仍然是 Unixy,想象一下)。

预期解决方案

所以事情就是这样故意的要配置的,是

nmcli connection modify MyConnection ipv4.addresses 10.42.1.1/24 # Set the IP range here
nmcli connection up MyConnection # Restart the connection to apply it

在 Linux Mint 上,也可以通过 GUI 来完成此操作,方法是编辑连接,并在 IPv4 和 IPv6 选项卡中的“地址”下方的表格中添加一行。 (尽管这很令人困惑,并且可能导致仅分配辅助地址而不删除“自动”地址。)

专业解决方案

或者,我们可以只更改这些命令修改的文件,即使我们不想执行任何操作,也可以获得应用此类更改的能力。 (就像在公司网络中配置机器时一样。)在 Linux Mint 上,这将是:

vi /etc/NetworkManager/system-connections/MyConnection.nmconnection # Or in my case, is just copy the file over from my central storage.
nmcli connection reload # Only necessary when there is no boot following
nmcli connection up MyConnection # ditto

笔记

无论如何,请替换MyConnection为您的连接名称,您可以通过nmcli connection或在文件部分的id字段中找到该名称。 (请注意,文件名可能会转义一些特殊字符,因此不完全相同。如果手动完成,则不需要相同[connection].nmconnection根本不.)

例如,似乎10.42.1.1/24会将服务器自己的 IP 设置为 10.42.1.1,并为客户端提供 10.42.1.2 到 10.42.1.254 范围内的 IP。如果服务器的 IP 可以单独设置,我会更喜欢它,但至少它可以完成这项工作。

我在这里没有包括的是当您需要桥接两个网络以便它们具有相同的IP范围。 (就像笔记本电脑通常通过 WIFI 连接,但通过以太网线连接时获取相同的服务器 IP 地址以提高速度。)

相关内容