如何物理关闭 Linux(Redhat/Centos)中的网络接口

如何物理关闭 Linux(Redhat/Centos)中的网络接口

有没有办法从命令行关闭 Linux 机器上的网络接口?所谓关闭,我的意思是按照 Cisco 交换机的“shutdown”命令关闭链路。ip,并且ifconfig即使rmmod <driver>在用于关闭端口时也不要断开链路;即使使用这些实用程序/方法禁用端口,另一端的设备仍然可以看到连接。

从技术上讲,在设备层面上,我相信这是可以做到的,因为当我表演

ip link set em1 down
ip link set em1 up

...然后在“启动”阶段,NIC 会关闭约 3-4 秒(如在连接到该 NIC 的交换机端口上以及端口的状态 LED 上所见)。

我正在寻找一个可以执行该任务的命令行实用程序。我在使用板载 Broadcom nics 的 Dell R610 上安装了 CentOS 7.2。

至于为什么……

当您可以在交换机中弹出接口时,仔细检查网络连接确实非常容易且有用。

“但是有 lldp”。除非没有,例如使用第 1 层交换机。(有关更多信息,请谷歌搜索“Metamako”)。能够切换服务器网络接口可以验证 2000 英里外的布线。

“但您已经可以在交换机端执行此操作了。”是的,这不是很棒吗?如果服务器管理员在服务器端可以使用此功能就好了。

“但是如果你无法连接到主机,那么它就已经挂了。”想想有 8 个活动网络接口的系统。你可以通过板载接口轻松登录系统,并且许多 PCIe 网卡都处于关闭状态。

答案1

不幸的是,Linux 中不存在通用的方法。

在网络世界中,切换端口“Cisco:关闭/不关闭,Juniper禁用/启用”来识别或触发自动协商是很常见的。

在 Linux 中,您必须依赖网卡的单独驱动程序。

答案2

这适用于我的 Intel I219-V (e1000e) 卡。没有链接灯或任何东西,完全死机:

echo 1 > /sys/devices/pci0000:00/0000:00:1f.6/remove

但是当我对 realtek (r8169) 卡执行相同操作时,它仍然有链接指示灯。

这可能是某些卡上你无法控制的东西,或者驱动程序代码中有些东西可以调整(如果你感兴趣的话)。如果我下定决心,那将是我的下一步。

相关内容