Назад | Перейти на главную страницу

Интерфейс ifconfig не работает против отключения кабеля

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

Редактировать:

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

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


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

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

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

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