Автору, стороннику "ручного управления", надоела навязанная автоматизация, реализованная в дистрибутивах *ubuntu, поэтому он нашёл способ, корректно для работы дистрибутива, переопределить сетевые настройки в обход Network Manager`а, о чем и пойдёт речь в статье.

Дано: установленный дистрибутив из серии Ubuntu.
Надо: отказаться от автоматизации в пользу ручной настройки сети.
Уровень пользователя: средний, умеющий работать с текстовыми редакторами.
Решение:

Шаг 1. Получение прав пользователя root

По умолчанию, пользователь root заблокирован в системе, точнее ему не определён пароль. Для дальнейших действий потребуются права для правки конфигурационных файлов, поэтому зададим пароль root`у. Открываем консоль и вводим:

$ sudo passwd root

Сначала нужно будет ввести пароль текущего пользователя, затем новый пароль root`а и снова - чтобы подтвердить его. Таким образом учётная запись root`а - администратора система будет разблокирована и ей будет назначен пароль.

Переключаемся в привилегированный режим:

$ su - 
#

Шаг 2. Останавливаем работу "Network Manager"

Дистрибутивы *ubuntu, кроме серверной версии, управляют сетевыми подключениями через программу-менеджер сетевых подключений Network Manager. Интерфейс управления этой программой выведен в системный трей графического окружения. Для нашей задачи, этот менеджер не нужен и его нужно отключить. Делается это путём удаления самой программы из дистрибутива, либо простым отключением в системе инициализации. Автор изучил оба метода, и пришёл к выводу, что отключить проще и при этом не возникает проблем с зависимыми от него другими программами.

Для реализации, создадим конфигурационный файл, который будет перезаписывать настройки запуска с "авто" на "ручной".

# cd /etc/init
# ls network-manager*
   network-manager.conf  
# echo "manual" > network-manager.override

Здесь, первой командой перешли в каталог со скриптами инициализации. Далее проверили, что скрипт запуска "Network Manager`а" присутствует и, последней командой, мы создали файл network-manager.override в котором содержится всего одно слово "manual", говорящее системе инициализации, что основные настройки нужно заменить на те, что описаны в файле *.override. Теперь программа не будет запускаться автоматически с остальными.

На данном этапе, "Network Manager" всё ещё работает, но ещё нужно задать настройки сетевому адаптеру, после чего можно будет перезагрузить компьютер для всупления измнений в силу.

Шаг 3. Настраиваем параметры сетевого адаптера

"Ручные" настройки сетевого адаптера находятся в файле /etc/network/interfaces . По умолчанию, при использовании Network Manager`а, параметры выглядят примерно так:

interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
  auto lo
  iface lo inet loopback

Теперь, из привилегированного режима, нужно дополнить файл в текстовом редакторе до нужных вам параметров. Для начала сделаем резервную копию, а затем будем править сам файл конфигурации.

Резервная копия:

# cd /etc/network
# cp interfaces interfaces.bak

В любимом редакторе правим основной конфиг, вводим свои параметры (подразумевается, что они вам известны). Например, как выглядят настройки статического адреса:

# nano interfaces
interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo, eth0
iface lo inet loopback
 
iface eth0 inet static
 address         192.168.1.10
 netmask         255.255.255.0
 network         192.168.1.0
 dns-nameservers 192.168.1.1 8.8.8.8
 dns-search      domo.net
 domain          domo.net
 gateway         192.168.1.1

Обратите внимание, что во второй строке перечислены все интерфейсы, которые должны конфигурироваться при старте. Параметры dns-search и domain в большинстве случаев не обязательны, если в сети не используется внутренняя DNS инфраструктура.

Пример настройки динамического адреса в /etc/network/interfaces :

interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo, eth0
iface lo inet loopback
 
iface eth0 inet dhcp

Теперь можно перезагрузить компьютер для вступления изменений в силу.

Шаг 4. Диагностика

После перезагрузки, команда ifconfig должна выдать примерно следующее:

$ ifconfig

eth0      Link encap:Ethernet  HWaddr 00:4c:c1:a6:16:0a  
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:004c:1a61:60a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:70925 errors:0 dropped:6 overruns:0 frame:0
          TX packets:61846 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1834328 (1.8 MB)  TX bytes:535176 (0.5 MB)
          Interrupt:20 Память:d0300000-d0320000 

lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:240 (240.0 B)  TX bytes:240 (240.0 B)

Нужно проверить, что в секции конфигурируемого адаптера правильные параметры.

Теперь продиагностируем параметры DNS, которые должны скопироваться из /etc/network/interfaces в /etc/resolv.conf:

$ cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.1
nameserver 8.8.8.8
search domo.net

Если параметры соответствуют тем, что введены в /etc/network/interfaces , значит всё в порядке. Если нет - значит где-то закралась синтаксическая ошибка и обработчик конфига /etc/network/interfaces исключил строки из обработки.

На этом настройка завершена.

Смотрите также

Печать/экспорт