我认为这个网站上有一个类似的问题(如何永久禁用网络接口?),但答案主要是针对 Ubuntu 的,那里描述的方法没有帮助。
我正在尝试关闭 enp1s0f2 接口,但它在重新启动时不断返回。
我尝试了命令“ifconfig(接口)down”、“ifdown(接口)”,并编辑 /etc/network/interfaces 以添加以下几行:
《iface(接口)inet 手册》和《iface(接口)inet6 手册》
据说 NetworkManager 或其他任何管理它的东西,不会在启动时加载它,但无济于事。
如何在 Debian 上永久禁用此界面?
有没有一种干净的方法,不涉及一个一个地禁用所有设备 systemctl 服务?如果在任何时候我再次需要该接口,我必须记住所有涉及的服务并再次重新启用它们,这将是一种耻辱,另外,必须有一个更简单的直接方法,对吧?
您可以告诉 NetworkManager 忽略该接口,如NetworkManager.conf的密钥文件部分中所述:
\n\n\n密钥文件部分
\n此部分包含特定于密钥文件插件的选项,通常\仅在您不使用任何其他特定于发行版的插件时才使用。
\n[...]
\n\n
unmanaged-devices
设置 NetworkManager 应忽略的设备。
\n有关如何指定设备的语法,请参阅名为 \xe2\x80\x9cDevice List Format\xe2\x80\x9d 的部分。
\n例子:
\nRun Code Online (Sandbox Code Playgroud)\nunmanaged-devices=interface-name:em4\nunmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth2\n
/etc/NetworkManager/conf.d
例如,在名为的文件中添加一个local-ignore-enp1s0f2.conf
包含以下附加内容的文件:
[keyfile]\nunmanaged-devices=interface-name:enp1s0f2\n
Run Code Online (Sandbox Code Playgroud)\n您可能仍然需要删除已经创建的条目,例如:
\nnmcli connection show \n
Run Code Online (Sandbox Code Playgroud)\n一旦名称确定:
\nnmcli connection delete id \'some unwanted connection\'\nip link set enp1s0f2 down\n
Run Code Online (Sandbox Code Playgroud)\n然后重新加载配置:
\nnmcli connection reload\n
Run Code Online (Sandbox Code Playgroud)\n或者:
\nsystemctl reload network-manager\n
Run Code Online (Sandbox Code Playgroud)\n如果您想在不重新启动的情况下检查它的工作情况,这里有一个使用网络命名空间的技巧(也可以在udev中的某些脚本中使用它来使界面自动“消失”):
\nip netns add hiddenplace\nip link set enp1s0f2 netns hiddenplace\n
Run Code Online (Sandbox Code Playgroud)\n现在删除命名空间,这将恢复接口并触发任何自动检测:
\nip netns delete hiddenplace\n
Run Code Online (Sandbox Code Playgroud)\n
您可以在 NetworkManager 中将其 IPv4 和 IPv6 地址设置为“禁用”,这实际上会禁用该接口。
然后是“自动连接优先”,可以取消选中 - 可能会起到同样的作用。
归档时间: |
|
查看次数: |
2159 次 |
最近记录: |