проблема
Ubuntu 9.10 Desktop Edition (и, возможно, также и предыдущие версии, я их не проверял) не имеет сетевых подключений после загрузки до тех пор, пока в систему не войдет хотя бы 1 пользователь. Это означает, что любые службы, для которых требуется сеть (например, openssh-сервер), не будут доступны до кто-то входит в систему локально через gdm, kdm или TTY.
Фон
Ubuntu 9.10 Desktop Edition использует сервис NetworkManager для получения команд из апплета nm в Gnome (или его эквивалента в KDE). Насколько я понимаю, пока NetworkManager работает при загрузке, он не выдает никаких команд для подключения, пока вы не войдете в систему в первый раз, потому что nm-applet не будет работать, пока вы не войдете в систему и не начнете сеанс Gnome (или аналогичный для KDE). Я не уверен, что побуждает NetworkManager подключаться к сети при входе через TTY.
Есть несколько соответствующих переменных, участвующих в запуске сетевых подключений, включая:
- Проводная и беспроводная связь (и полученные драйверы, SSID, пароли и приоритеты)
- Статический против DHCP
- Несколько интерфейсов
Ограничения
- Поддержка Ubuntu 9.10 Karmic Koala (бонусные баллы за дополнительные поддерживаемые версии)
- Поддержка проводного интерфейса eth0
- Получить IP-адрес через DHCP
- Получать информацию DNS через DHCP (очевидно, DHCP-сервер должен предоставить эту информацию)
- Включите сеть в нужное время (например, через некоторое время после загрузки файловых систем, но до запуска сетевых служб, таких как ssh)
- Переключение дистрибутивов или версий (например, в Server Edition) не является приемлемым решением
- Переключение на статическую IP-конфигурацию не является приемлемым решением.
Вопрос
- Как начать работу в сети на проводном интерфейсе перед входом в Ubuntu Desktop Edition?
Смотрите также
Ссылки
источник
auth eth0
вместо:auto eth0
в вашем посте есть опечатка, которую вы сделали только в посте, верно?sudo /etc/init.d/networking restart
действительно запустил eth0 и настроил его через DHCP./etc/network/interfaces
чтобы NetworkManager не мог управлять интерфейсом и вызывать его через dhcp». Я должен проверить и посмотреть, будет ли это исправление запускаться при загрузке с установленным NM…Debian / Ubuntu имеет собственную программу для управления серверами во время загрузки.
Пытаться
update-rc.d STARTUP-SCRIPT defaults
Найдите конкретный скрипт для eth0 и включите его с этим.
Вы всегда можете сделать свой собственный скрипт, поместить его в init.d, и выполнение предыдущей команды загрузит его во время загрузки.
или просто поместите эти команды (ifconfig up, dhcpcd) в /etc/rc.local (этот файл get читается каждый раз при загрузке)
источник
dhclient eth0
в /etc/rc.local правильно запускает интерфейс eth0 при запуске и получает IP через DHCP. По крайней мере, для меня SSH также доступен до того, как кто-нибудь войдет в систему локально, так как openssh-server настроен на запуск с уровнями запуска 234. Я не знаю, будут ли все службы с поддержкой сети работать успешно, если интерфейс был запущен в rc.local ( например, ntpdate), потому что rc.local запускается после системных служб.