Как dhclient вызывается под 12.04

В моей установке 12.04 Precise, когда я загружаю систему или когда я подключаю кабель Ethernet, dhclient не запускается автоматически на моем проводном соединении eth0. У меня нет запущенного демона dhclient. Когда я запускаю dhclient вручную, он успешно извлекает адрес и настраивает eth0 и таблицу маршрутов. Однако он выводит следующее:

jdoe@example:~$ sudo dhclient eth0
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd reload

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the reload(8) utility, e.g. reload smbd

, что указывает на то, что это управляемая вещь выскочки. В каталоге / etc / init / для dhclient нет сценариев выскочки.

Я использую isc-dhcp-client версии 4.1.ESV-R4-0ubuntu5.1 , текущий стабильный выпуск.

  • Должен ли dhclient постоянно работать в качестве демона при стандартной установке рабочего стола 12.04?
  • Предполагается ли запуск dhclient во время загрузки машины через upstart, как странное сообщение, которое я получаю, когда запускаю dhclient. ?
  • Должен ли я иметь один из этих пакетов ifplugd или netplug для запуска dhclient, когда кабель подключен к eth0?
  • Возможно, NetworkManager создает экземпляр dhclient и не работает всегда?
  • Для стандартной установки Ubuntu 12.04 в NetworkManager должно быть что-нибудь, перечисленное на вкладке «Проводной» диалогового окна «Сетевые подключения»? [ пример снимка экрана ] Я создал профиль проводного соединения и оставил его пустым, ни один из них не влияет на запуск dhclient

Другие симптомы, которые я испытываю для контекста: [ 1114]

  • NetworkManager не изящно управляет, когда оба проводных и беспроводных соединения подключены, он просто использует беспроводное соединение
  • NetworkManager не подключает настроенную мной VPN и иногда пытается использовать через проводную сеть он подключит его только через беспроводную сеть.

@roadmr запросил содержимое / etc / network / interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#NetworkManager#iface eth0 inet dhcp
# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto
3
задан 22 June 2012 в 20:36

3 ответа

Когда Вы включаете систему, первая вещь, которая должна заметить, интерфейс Ethernet является ядром. На основе идентификатора PCI ядро попытается загрузить соответствующий драйвер для карты.

В Вашем /var/log/syslog файл необходимо видеть что-то вроде этого:

Jun 21 09:54:59 snowflake kernel: [ 2600.056067] sky2 0000:03:00.0: eth0: Link is up at 1000 Mbps, full duplex, flow control rx
Jun 21 09:54:59 snowflake kernel: [ 2600.056731] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Jun 21 09:54:59 snowflake NetworkManager[1059]: <info> (eth0): carrier now ON (device state 20)
Jun 21 09:54:59 snowflake NetworkManager[1059]: <info> (eth0): device state change: unavailable -> disconnected (reason 'carrier-changed') [20 30 40]
Jun 21 09:54:59 snowflake NetworkManager[1059]: <info> Auto-activating connection 'Wired connection 1'.

Это говорит Вам, что ядро уведомляет NetworkManager об устройстве. То, что я думаю, происходит (просто размышляющий здесь), то, что ядро уведомляет, что udev, udev в свою очередь говорит NetworkManager (кто может быть зарегистрирован для получения udev событий), и затем NetworkManager обрабатывает остальную часть конфигурации.

Теперь, NetworkManager откажется управлять любым интерфейсом, в котором это объявляется /etc/network/interfaces. Это вызвано тем, что это предполагает, что при конфигурировании его вручную в том файле Вы хотите управлять им сами.

Таким образом, один способ заставить NetworkManager управлять Вашим интерфейсом состоит в том, чтобы удалить записи в /etc/network/interfaces. Вот почему я попросил, чтобы Вы добавили, что данные, таким образом, мы видим, является ли это тем, что происходит и возможно советует далее. Конечно, с надлежащей конфигурацией даже в /etc/network/interfaces, интерфейс должен работать хорошо даже без NetworkManager и без Вас имеющий необходимость сделать это вручную каждый раз. Однако, место для взгляда на то, что может происходить, является тем файлом :)

1
ответ дан 22 June 2012 в 20:36

Это в конечном итоге вызвано сетевым менеджером. Мой файл /etc/NetworkManager.conf выглядел так:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false

Этот файл конфигурации был настроен так, когда машина была собрана (это может быть ошибкой). Из-за того, что для «управляемого» было установлено значение «ложь», NetworkManager не инициировал dhclient для интерфейса и не рассматривал проводное соединение как реальное соединение, и поэтому он также не будет инициировать VPN.

Я изменил «удалось» на «правда» и перезапустил систему. Он работает так же, как я надеюсь сейчас, запускает dhclient, VPN работает и т. Д.

И чтобы ответить на некоторые из моих собственных вопросов:

  • Вот как должна выглядеть вкладка проводного соединения в стандартном диалоге NetworkManager Network Connections: http: //i.imgur. com / TgUs8.png
  • dhclient сбрасывается с моего NetworkManager и продолжает работать, пока соединение установлено
0
ответ дан 22 June 2012 в 20:36

В правом верхнем углу щелкните значок сетевого подключения, выберите «Изменить подключения»> «Беспроводная связь» (вкладка)> выделите ваше подключение> нажмите кнопку «Изменить»> «Настройки IPv4 (вкладка)», чтобы проверить, что отображается как метод: если он читает, «отправлено на других компьютерах используйте стрелку «вниз», чтобы выбрать «Автоматический DHCP», после чего перезагрузка беспроводной сети будет работать без необходимости запуска dhclient вручную

.
0
ответ дан 22 June 2012 в 20:36

Другие вопросы по тегам:

Похожие вопросы: