ifconfig interface down vs отключение кабеля

В чем разница между ifconfig eth0 down и физическим отключением кабеля eth0 ? Означают ли они то же самое для приложения?

Изменить:

У меня есть приложение, которое использует определенный интерфейс, скажем eth0 , и оно вылетает, если я выполняю ifconfig eth0 down ], а затем обратно ifconfig eth0 вверх . В идеале приложение должно возобновиться, но оно вылетает. С другой стороны, если я просто отключу кабель eth0 , приложение все еще будет работать, но нет входящих данных, и если я снова подключу кабель, поток данных возобновится. Также, когда я запускаю команду ifconfig (после отсоединения кабеля), вывод ifconfig по-прежнему показывает eth0 как работающий. Однако ifconfig eth0 down удаляет интерфейс полностью. Еще одна вещь, маршруты также удаляются в случае ifconfig eth0 down , но не в случае отключения кабеля. Поэтому я предполагаю, что физическое отключение кабеля - это не то же самое, что использование команды ifconfig eth0 down . Поправьте меня, если я ошибаюсь. Есть ли способ имитировать отключение кабеля Ethernet? Помимо добавления правила в iptables и полного отключения трафика.

0
задан 6 February 2020 в 16:21
1 ответ

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


Административное отключение - это вещь для интерфейсов, включая Linux. Из https://www.kernel.org/doc/Documentation/networking/operstates.txt

Linux различает административное и рабочее состояние интерфейс. Административное состояние является результатом "ip link set dev вверх или вниз "и отражает, хочет ли администратор использовать устройство для трафика.

Однако интерфейс нельзя использовать только потому, что администратор включил его - Ethernet требует подключения к коммутатору и, в зависимости от сетевой политики и конфигурации сайта, аутентификации 802.1X должны быть выполнены перед передачей пользовательских данных. Рабочее состояние показывает способность интерфейса передавать эти пользовательские данные.

Кроме того, прекратите использование ifconfig в Linux , он устарел почти два десятилетия. Как следует из документации, следует использовать команду ip (пакет iproute), в ней также есть команды для уровня связи.

0
ответ дан 26 February 2020 в 00:43

Теги

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