Введение в ос linux

Вид материалаДокументы

Содержание


Настройка при установке или загрузке системы
Подобный материал:
1   ...   45   46   47   48   49   50   51   52   ...   62

Настройка при установке или загрузке системы


Мефодий очень обрадовался заработавшей сети и немедленно принялся сочинять простейший стартовый сценарий, который выполнял бы все нужные команды автоматически. Выяснилось, что такой сценарий уже есть в любом дистрибутиве Linux, хотя называться он может по-разному, как правило, /etc/init.d/network или networking. Как и полагается стартовому сценарию, с параметром start он настраивает сеть, а с параметром stop -- "выключает" сетевые настройки.

Безусловно, ни список сетевых интерфейсов, ни параметры их настройки не указаны в самом стартовом сценарии, как то хотел сделать Мефодий. Всевозможные сетевые настройки хранятся в /etc отдельно, как правило, в специальном подкаталоге. В разных дистрибутивах Linux применяются различные схемы размещения настроек. Система, установленная на компьютере Мефодия, использует подсистему сетевой настройки etcnet, которая устанавливается каталог /etc/net.

[root@sakura ~]# cat /etc/sysconfig/network

When set to no, this may cause most daemons' initscripts skip starting.

NETWORKING=yes


# Used by hotplug/pcmcia/ifplugd scripts to detect current network config

# subsystem.

CONFMETHOD=etcnet


# Used by rc.sysinit to setup system hostname at boot.

HOSTNAME=sakura.nipponman.ru

DOMAINNAME=nipponman.ru


# This is used by ALTLinux ppp-common to decide if we want to install

# nameserver lines into /etc/resolv.conf or not.

RESOLV_MODS=yes


[root@sakura ~]# ls -F /etc/net

ifaces/ options.d/ scripts/ sysctl.conf

[root@sakura ~]# ls -F /etc/net/ifaces/

default/ eth0/ lo/ unknown/

Каталоги и файлы с сетевыми настройками

"Головной" файл network с сетевыми настройками (которые могут понадобиться не только сетевой подсистеме) лежит в подкаталоге /etc/sysconfig/. Это обычный сценарий на sh, в котором некоторым переменным присваиваются значения. Другие сценарии (в частности, старт-стопные из /etc/init.d) "втягивают" этот файл командой "." и используют значения переменных. Здесь указано, среди прочего, доменное имя компьютера и тип подсистемы сетевой настройки. Все остальные файлы -- вспомогательные сценарии, настройки параметров ядра, настройки по умолчанию для всех интерфейсов и для каждого в отдельности и т. п. можно найти в /etc/net.

В частности, настройки единственного на компьютере Мефодия сетевого интерфейса eth0 находятся в каталоге /etc/net/ifaces/eth0:

[root@sakura ~]# ls /etc/net/ifaces/eth0

ipv4address ipv4route options

[root@sakura ~]# cat /etc/net/ifaces/eth0/ipv4address

192.168.102.125/24

[root@sakura ~]# cat /etc/net/ifaces/eth0/ipv4route

default via 192.168.102.1

[root@sakura ~]# cat /etc/net/ifaces/eth0/options

DISABLED=no

BOOTPROTO=static

Настройка сети по умолчанию

Файлы ipv4address и ipv4route содержат параметры команд ip address add и ip route add соответственно, а файл options -- это снова сценарий на shell.

Эти настройки используются подсистемой etcnet, которая запускается на этом компьютере в процессе системной загрузки под именем службы network. Таким образом, стоит только подать команду service network stop, как все сетевые интерфейсы "пропадут" (деактивизируются и потеряют IP-адреса), а после service network start -- снова появятся.

Как правило, пользователю вообще не обязательно редактировать эти файлы. С каждым дистрибутивом поставляется программа-конфигуратор, которая позволяет "настроить сеть", не вспоминая, какие данные, в каком формате и куда нужно записывать. Обычно такая программа оформляется в стиле мастера, "кудесника", задающего только вопросы по существу, с её помощью и формируются более или менее подходящие конфигурационные файлы. Результатов работы мастера в большинстве случаев бывает достаточно, а в тех случаях, когда его искусственный интеллект пасует, администратор применяет свой естественный интеллект и редактор Vim. С другой стороны, изменить несколько значений в трёх конфигурационных файлах не так уж сложно. Когда настройщик действительно необходим -- это во время установки системы на компьютер или непосредственно после неё. Настраивать приходится сразу всё в системе, так что любая экономия времени при этом существенна.

В некоторых дистрибутивах используется подсистема ifupdown, основанная на уже известной схеме ". d":

debian!shogun$ ls -F /etc/network

if-down.d/ if-pre-up.d/ ifstate.hotplug interfaces

if-post-down.d/ ifstate if-up.d/ options

Настройка сети с применением схемы ". d"

В ifupdown настройка сетевых интерфейсов и маршрутизатора по умолчанию хранится одном файле (считается, что редактировать его автоматически -- просто). Тонкая настройка сети -- в файле options. Каталоги if-pre-up.d, if-up.d, if-down.d и if-post-down.d предназначены для служб, которые хотят производить какие-то действия, соответственно, перед тем, как сетевой интерфейс будет активизирован ("поднят"), после успешной активизации интерфейса, перед тем как сетевой интерфейс будет деактивизирован ("опущен") и после этого.