Я не могу ifdown
интерфейс на Debian 6.0.5:
user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.
user@box:/etc/network$ cat interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
allow-hotplug eth1
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
auto eth1
iface eth1 inet manual
По просьбе Марко:
user@box:/etc/network/$ cat /run/network/ifstate
lo=lo
eth1=eth1
debian
networking
jwbensley
источник
источник
/run/network/ifstate
содержит?Ответы:
Проверьте содержимое файла
/run/network/ifstate
.ifup
иifdown
используйте этот файл, чтобы отметить, какие сетевые интерфейсы могут быть включены и выключены. Таким образом,ifup
можно легко запутаться, когда другие сетевые инструменты используются для вызова интерфейса (напримерifconfig
).От человека ifup
источник
eth0=eth0
чтобы/run/network/ifstate
он распознал интерфейс и правильно его настроил. Этот ответ помог мне указать на файл, но не стал предлагать это дополнение, что и решило мою похожую проблему.auto
в/etc/network/interfaces
? Он должен появиться/run/network/ifstate
без необходимости вручную изменять файл.--force
был ответ для меня; оказалось,ifup
что интерфейс не был запущен в первую очередь из-за сбоя команды/etc/network/if-pre-up.d
; повезло, что у меня вообще есть сеть!ifdown
это программа высокого уровня, которая делает много вещей, которые вам могут не понадобиться. Кроме того, это не доступно везде. Более портативный способ может работать для вас:Если вы не можете этого
ifup
сделать, скорее всего, у вас есть проблемы с настройкой. Вручную это,ifconfig eth0 up
вероятно, неправильно в этом случае. В Debianifup
это исполняемый двоичный файл, поэтому вам, вероятно, придетсяstrace
выяснить, где он зависает:Это скажет вам, какие файлы
ifup
открываются, пока он работает, что может подсказать вам проблему.В других системах (например, RHEL и производные)
ifup
это скрипт оболочки, поэтому отладку намного проще:Запуск сценария оболочки с помощью
sh -x
него печатает каждую строку, которую он запускает, так что вы можете отслеживать выполнение.источник
sudo ifconfig eth0 down && sudo ifconfig eth0 up
переключать интерфейс вверх и вниз, но я пытался вручную запустить сценарий if-up, который я писал, но он этого не делал. После обновления моего файла / etc / network / run / ifstate теперь работает ifdown / up. Спасибо за вашу информацию, хотя! :)ifdown
это программа высокого уровня, которая делает много вещей, которые могут вам понадобиться.ifconfig eth0 down
является более переносимым и всегда может быть запущен, но он не выполняет задачи очистки, которыеifdown
могли бы сделать.ifconfig
все время, избегаяifup/down
. Я предложил это только для устранения неполадок. Как я понимаю, проблема возникла в результате использования,ifconfig
а неifup/down
путаницы механизмов высокого уровня. Но я не знал об этом, когда отправил свой ответ.Я видел это раньше, когда ethX не был правильно настроен в
/etc/network/interfaces
. Это нужно что-то вроде: -Даже с неправильно настроенным
/etc/network/interfaces
файлом вы все равно можете отключить eth0 с помощью:источник
auto
. Благодарю.Для тех, кто борется с этой проблемой:
Я проверил файл ifstate. "Имя-интерфейса" в / run / network.
Он был пуст, поэтому я включил «имя-интерфейса» (eth0) в файл ifstate. «Имя-интерфейса» в / run / network.
источник
Добавить
eth0=eth0
в/run/network/ifstate
. Это сработало для меняисточник
То, что я нашел, помогло мне вызвать
rm
команду, чтобы удалить файл блокировки внутри/run/network/
Сделайте,
ls -la
и вы должны увидеть скрытый.ifstate
файл или что-то под этим именем.Удалите это и попробуйте:
ifdown && ifup
Если вы беспокоитесь, что вы можете что-то сломать, просто сделайте копию этого файла вне каталога и удалите копию внутри каталога.
источник