Как физически отключить сетевой интерфейс в Linux (Redhat / Centos)

Есть ли способ отключить сетевой интерфейс на Linux из командной строки? Под выключением я имею в виду отключение питания канала в соответствии с командой выключения коммутатора Cisco. ip и ifconfig и даже rmmod при использовании для отключения порта не отключают соединение; устройство на другом конце по-прежнему видит соединение, даже если отключить порт с помощью этих утилит / методов.

Технически, на уровне устройства I ' Я уверен, что это можно сделать, потому что когда я выполняю

ip link set em1 down
ip link set em1 up

... затем во время фазы «вверх», сетевая карта отключается примерно на 3-4 секунды (как видно на порту коммутатора, подключенном к этому сетевому адаптеру, и на индикатор состояния порта).

Я ищу утилиту командной строки, которая выполнит эту задачу. У меня CentOS 7.2 на Dell R610 с использованием бортовой сети Broadcom.

0
задан 8 September 2016 в 19:20
2 ответа

к сожалению, это не существует в Linux.

В сетевом мире очень распространено переключение порта «Cisco: закрыть/не закрыть, Juniper отключить/включить» для идентификации или запуска автосогласования.

В Linux вы должны полагаться на отдельный драйвер для вашей сетевой карты.

2
ответ дан 5 November 2020 в 09:41

Это работает для моей карты Intel I219-V (e1000e). Нет индикатора связи или чего-то еще, полностью мертв:

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

Но когда я делаю то же самое для карты Realtek (r8169), у нее все еще есть индикатор связи.

Это может быть что-то, что вы не можете контролировать на определенных картах, или, возможно, в коде драйвера есть что-то, что можно настроить, если вам это нравится. Если бы я был действительно настроен, это был бы мой следующий шаг.

3
ответ дан 4 December 2019 в 12:22

Теги

Похожие вопросы