我认为这个网站上有类似的问题(如何永久禁用网络接口?),但答案主要针对 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 地址设置为“禁用”,这实际上会禁用该接口。
然后是“自动连接优先”,可以取消选中 - 可能会起到同样的作用。