Сетевой интерфейс eth0 не запускается при запуске в Debian 6

11

У меня Debian 6.0. В моем файле интерфейса ( /etc/network/interfaces) у меня есть следующие строки:

auto eth0
iface eth0 inet static
address 192.168.0.8
netmask 255.255.255.0
gateway 192.168.0.1

Каждый раз, когда я запускаю компьютер, eth0не работает.

Когда я вхожу ifconfig -a, eth0не "вверх", а "работает".

Я должен ввести:

 ifconfig eth0 up
 /etc/init.d/networking restart

... и тогда это работает.

Как мне изменить конфиг, чтобы eth0вначале работал ?

Вольфганг Адамек
источник
Я предполагаю, что это связано с вашей карточкой водителя. Прежде чем ifconfig eth0 upиспользовать dmesg и посмотреть его псевдонимы?
PersianGulf
Каково состояние сетевой службы перед перезагрузкой?
olivecoder
1
Есть ли что-нибудь о eth0 в системных журналах ( /var/log/*)? Если вы работаете, /etc/init.d/networking startкогда eth0 не работает, вы получаете какое-либо сообщение об ошибке? Есть ли другой сетевой интерфейс (помимо lo)?
Жиль "ТАК - перестань быть злым"
2
пожалуйста, положите все/etc/network/interfaces
PersianGulf
Пожалуйста, покажите вывод ifup -v eth0после запуска?
BatchyX

Ответы:

1

Как мне изменить конфиг, чтобы в начале работало «eth0» ?

Всякий раз, когда я слышу «в начале», это напоминает rc.local.

Это не совсем прямой ответ для решения вашей проблемы, но кажется, что вы испытываете некоторые трудности с водителем.

Для быстрого решения, почему бы не использовать rc.local? Если ваша проблема решается путем ввода этих 2 команд каждый раз, когда вы загружаетесь в свой ящик, добавьте их в конце /etc/rc.local.

Для всестороннего решения вашей проблемы сначала и прежде чем все остальное сделайте:

apt-get update && apt-get upgrade

У меня была такая же проблема в моем Backtrack, она была решена после обновления. Видимо, здесь обсуждалась та же тема: Debian не запускает eth0 при загрузке

sepehrl
источник
Разве это не должно быть apt-get update && apt-get upgradeили лучше apt-get update && apt-get dist-upgrade(для большинства практических целей)?
0xC0000022L
Ссылочная ссылка нарушена ...
Мендес
9

добавьте следующую строку в / etc / network / interfaces:

allow-hotplug eth0

Источник: человек интерфейсы

Строки, начинающиеся с «allow-», используются для определения интерфейсов, которые должны автоматически вызываться различными подсистемами. Это можно сделать с помощью команды, такой как «ifup --allow = hotplug eth0 eth1», которая вызовет eth0 или eth1, только если она указана в строке «allow-hotplug». Обратите внимание, что «allow-auto» и «auto» являются синонимами.

Tonphai
источник
1

Пожалуйста, убедитесь, что он не отключен в настройках сетевых скриптов. Сделай это:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Смотрите, если ONBOOT="yes". Если он говорит «нет», то он отключается при запуске.

Вот мой файл ifcfg-eth0 в качестве ссылки:

DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="192.168.254.255"
DNS1="192.168.254.25"
GATEWAY="192.168.254.254"
HWADDR="F2:24:08:AE:93:10"
IPADDR="192.168.254.236"
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Ethernet"

затем сделайте:

sudo service network restart

IP-адрес не является статическим и не будет изменяться после перезагрузки.

SnakeDoc
источник
4
Debian не использует конфигурационные скрипты sysconfig или redhat.
BatchyX
2
это для RHEL / CentOS / Fedora, а не для систем на основе Debian
Рахул Патил
1

Сетевая служба включена при запуске?

Попробуйте использовать инструменты sysv-rc-confOrrcconf

Или сделайте это вручную, используя:

sudo update-rc.d network defaults
Рахул Патил
источник
update-rc.d: команда не найдена
Макс
update-rc.d: error: initscript does not exist: /etc/init.d/networkDebian 6
Mendes