如何在 Debian 10 中永久禁用网络接口?

如何在 Debian 10 中永久禁用网络接口?

我认为这个网站上有类似的问题(如何永久禁用网络接口?),但答案主要针对 Ubuntu,并且其中描述的方法没有帮助。

我试图关闭 enp1s0f2 接口,但它在重新启动后不断恢复。

我尝试过命令“ifconfig(接口)down”、“ifdown(接口)”,并编辑 /etc/network/interfaces 以添加以下行:

《iface(接口)inet 手册》和《iface(接口)inet6 手册》

据说这样 NetworkManager 或其他管理它的东西不会在启动时加载它,但无济于事。

如何在 Debian 上永久禁用此接口?

有没有一种干净的方法,不涉及一一禁用所有设备 systemctl 服务?如果在任何时候我再次需要该接口,我必须记住所有涉及的服务并再次重新启用它们,那将是一种耻辱,而且,必须有一个更简单的直接方法,对吧?

答案1

您可以告诉 NetworkManager 忽略该接口,如密钥文件部分中所述网络管理器.conf:

密钥文件部分

此部分包含特定于密钥文件插件的选项,通常仅在您不使用任何其他特定于发行版的插件时使用。

[...]

unmanaged-devices

设置 NetworkManager 应忽略的设备。

“设备列表格式”部分有关如何指定设备的语法。

例子:

unmanaged-devices=interface-name:em4
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2

/etc/NetworkManager/conf.d例如,在名为的文件中添加一个local-ignore-enp1s0f2.conf包含以下附加内容的文件:

[keyfile]
unmanaged-devices=interface-name:enp1s0f2

您可能仍然需要删除已经创建的条目,例如:

nmcli connection show 

一旦名称确定:

nmcli connection delete id 'some unwanted connection'
ip link set enp1s0f2 down

然后重新加载配置:

nmcli connection reload

或者:

systemctl reload network-manager

如果您想在不重新启动的情况下检查它的工作情况,这里有一个使用网络命名空间的技巧(也可以在某些脚本中使用它)乌德夫让界面自动“消失”):

ip netns add hiddenplace
ip link set enp1s0f2 netns hiddenplace

现在删除命名空间,这将恢复接口并触发任何自动检测:

ip netns delete hiddenplace

答案2

您可以在 NetworkManager 中将其 IPv4 和 IPv6 地址设置为“禁用”,这实际上会禁用该接口。

然后是“自动连接优先”,可以取消选中 - 可能会起到同样的作用。

相关内容