какая разница между 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) - это то, что использовать, в ней также есть команды для уровня связи.