我为 NetworkManager 定义了两个文件eth0-static
和eth0-dhcp
,我希望 NetworkManager 使用其中一个文件作为默认文件。文件选择取决于是否启用了 DHCP。我如何告诉 NetworkManager 使用其中一个文件而不是创建Wired connection 1
?或者重命名现有文件是否更有意义?
我为 NetworkManager 定义了两个文件eth0-static
和eth0-dhcp
,我希望 NetworkManager 使用其中一个文件作为默认文件。文件选择取决于是否启用了 DHCP。我如何告诉 NetworkManager 使用其中一个文件而不是创建Wired connection 1
?或者重命名现有文件是否更有意义?
注意:根据您的 Linux 发行版(这反过来会影响 NetworkManager 版本),对的支持
ifcfg files
可能会被贬低甚至被禁用(不确定禁用选项是否已经推出)。要检查当前网络连接的存储位置,请使用:
旧配置的输出示例:
新配置的示例输出:
1. 将选定的连接设置为默认连接并禁用自动连接创建。
假设您使用的是旧版本,并且仍然默认使用
ifcfg files
- 根据NetworkManager 的接口配置手册,您所要做的就是ifcfg-
在文件名前面添加(因为 NetworkManager 希望它们遵循命名约定ifcfg-*
以正确管理它们)并将它们放入/etc/sysconfig/network-scripts/
(/etc/network/interfaces
对于 Debian,或您的发行版放置它们的地方 - 请参阅nmcli
您机器上的输出)。然后,激活所选连接并使其持久:
注意:在
Error: unknown connection
使用时nmcli connection show
要查看正确的接口名称。要检查持久性是否正常工作,您可以发出:
为了完全确定 - 只需重新启动机器:)
这应该足以使用选择的连接并阻止 NetworkManager 创建
Wired connection 1
,但如果您想要更安全,您可以随时通过修改来明确禁止这种行为/etc/NetworkManager/NetworkManager.conf
:添加/修改:
2. 如果 DHCP 失败,强制 NetworkManager 使用手动 IP 配置。
如果您坚持使用,这个有点棘手(但仍然可行)
ifcfg files
- 我将首先创建一个更简单的示例(使用新的keyfiles
),并根据需要添加旧版本。新的语法允许我们创建单个文件,假设您的接口是 eth0 命名约定要求
eth0.nmconnection
名称,创建于/etc/NetworkManager/system-connections
:在文件内创建以下部分(丢弃我标记的评论
# ---->
):注意:上面变量中的“/24”
address1
是 CIDR 表示法中的网络掩码(/24 等同于 255.255.255.0),192.168.1.1 是网关。保存文件。激活连接并使其持久:
像第一段一样测试持久性。