Есть ли способ отключить сетевой интерфейс на Linux из командной строки? Под выключением я имею в виду отключение питания канала в соответствии с командой выключения коммутатора Cisco. ip
и ifconfig
и даже rmmod
при использовании для отключения порта не отключают соединение; устройство на другом конце по-прежнему видит соединение, даже если отключить порт с помощью этих утилит / методов.
Технически, на уровне устройства I ' Я уверен, что это можно сделать, потому что когда я выполняю
ip link set em1 down
ip link set em1 up
... затем во время фазы «вверх», сетевая карта отключается примерно на 3-4 секунды (как видно на порту коммутатора, подключенном к этому сетевому адаптеру, и на индикатор состояния порта).
Я ищу утилиту командной строки, которая выполнит эту задачу. У меня CentOS 7.2 на Dell R610 с использованием бортовой сети Broadcom.
к сожалению, это не существует в Linux.
В сетевом мире очень распространено переключение порта «Cisco: закрыть/не закрыть, Juniper отключить/включить» для идентификации или запуска автосогласования.
В Linux вы должны полагаться на отдельный драйвер для вашей сетевой карты.
Это работает для моей карты Intel I219-V (e1000e). Нет индикатора связи или чего-то еще, полностью мертв:
echo 1 > /sys/devices/pci0000:00/0000:00:1f.6/remove
Но когда я делаю то же самое для карты Realtek (r8169), у нее все еще есть индикатор связи.
Это может быть что-то, что вы не можете контролировать на определенных картах, или, возможно, в коде драйвера есть что-то, что можно настроить, если вам это нравится. Если бы я был действительно настроен, это был бы мой следующий шаг.