Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gentoo_x86_Handbook.doc
Скачиваний:
25
Добавлен:
19.09.2019
Размер:
924.16 Кб
Скачать

D. Конфигурация сети Gentoo

1. Начинаем

1.A. Начинаем

Заметка: Данный документ предполагает, что вы правильно сконфигурировали ваше ядро, его модули для железа, и вы знаете имя интерфейса вашего железа. Мы подразумеваем, что вы конфигурируете eth0, но это может быть и eth1, wlan0 и т.д.

Чтобы начать конфигурировать вашу сетевую карту, вам нужно рассказать системе Gentoo RC о ней. Это делается созданием символической ссылки с net.lo к net.eth0 в /etc/init.d.

Код 1.1: Символическая ссылка net.eth0 к net.lo

# cd /etc/init.d

# ln -s net.lo net.eth0

Теперь система Gentoo RC знает об этом интерфейсе. Ей также нужно знать, как конфигурировать новый интерфейс. Все сетевые интерфейсы конфигурируются в /etc/conf.d/net. Ниже приведены примерные конфигурации для DHCP и статического адреса.

Код 1.2: Примеры для /etc/conf.d/net

# Для DHCP

config_eth0="dhcp"

# Для статического IP используя нотацию CIDR

config_eth0="192.168.0.7/24"

routes_eth0="default via 192.168.0.1"

# Для статического IP, используя нотацию с сетевыми масками

config_eth0="192.168.0.7 netmask 255.255.255.0"

routes_eth0="default via 192.168.0.1"

Заметка: Если вы не опишете конфигурацию вашего интерфейса, то будет предполагаться, что ваш интерфейс конфигурируется по DHCP

Заметка: CIDR означает «бесклассовый междоменный роутинг». Изначально адреса IPv4 классифицировались как A, B и C. Ранняя система классификации не учитывала массовой популярности Интернета и угрозы того, что адреса когда-нибудь кончатся. CIDR это схема адресации, которая позволяет одному IP адресу описать множество IP адресов. IP адрес по системе CIDR выглядит как обычный адрес, за исключением того, что он оканчивается на слеш, за которым следует число, например 192.168.0.0/16. CIDR описан в RFC 1519 (http://tools.ietf.org/html/rfc1519).

Теперь, когда мы сконфигурировали наш интерфейс, мы можем его запускать и останавливать, используя следующие команды:

Код 1.3: Запускаем и останавливаем сетевые скрипты

# /etc/init.d/net.eth0 start

# /etc/init.d/net.eth0 stop

Важно: Когда вы испытываете проблемы с сетью, посмотрите на /var/log/rc.log. Если только у вас нет строки rc_logger=«NO» в /etc/rc.conf, в этом log-файле вы найдете информацию о загрузочной активности.

Теперь, когда вы успешно запустили и остановили ваш сетевой интерфейс, вы можете захотеть, чтобы он запускался при старте Gentoo. Вот как это сделать. Вторая команда «rc» говорит Gentoo запустить любые скрипты на текущем уровне запуска, которые еще не были запущены.

Код 1.4: Конфигурируем сетевой интерфейс для запуска при загрузке

# rc-update add net.eth0 default

# rc

2. Расширенная конфигурация

2.A. Расширенная конфигурация

Переменная config_eth0 это сердце конфигурации интерфейса. Это высокоуровневый список инструкций для конфигурирования интерфейса (в данном случае eth0). Каждая команда в списке инструкций выполняется последовательно. Интерфейс считается настроенным, если последняя команда отработает.

Вот список встроенных инструкций:

Команда

Описание

null

Ничего не делать

noop

Если интерфейс работает, и у него существует какой-то адрес, то отменить дальнейшую настройку, и считать, что она окончена успешно.

IPv4 или IPv6 адрес

Добавить соответствующий адрес к интерфейсу.

dhcp, adsl или apipa (или какая-то пользовательская команда при использовании стороннего модуля)

Запускает модуль, который выполняет данную команду. Например, dhcp запустит модуль, который дает функциональность DHCP. Это может быть либо dhcpd, либо dhclient, либо pump.

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

Вы можете соединять эти команды в цепь. Вот несколько примеров из реальной жизни.

Код 1.1: Примеры конфигурации

# Добавляем три адреса IPv4

config_eth0="192.168.0.2/24

192.168.0.3/24

192.168.0.4/24"

# Добавляем адрес IPv4 и два адреса IPv6

config_eth0="192.168.0.2/24

4321:0:1:2:3:4:567:89ab

4321:0:1:2:3:4:567:89ac"

# Оставить назначенный ядром адрес, если только интерфейс не упадет

# тогда настроить его через DHCP. Если DHCP закончится наудачей,

# то добавить статический адрес, определенный APIPA

config_eth0="noop

dhcp"

fallback_eth0="null

apipa"

Заметка: Когда вы используете модуль ifconfig и добавляете более чем один адрес, создаются алиасы интерфейсов, для каждого из таких дополнительных адресов. Так, с вышеприведенными двумя примерами, вы получите интерфейсы eth0, eth0:1 и eth0:2. Вы не сможете ничего сделать с этими интерфейсами, так как и ядро, и остальные программы будут считать eth0:1 и eth0:2 за eth0.

Важно: Порядок обработки важен! Если бы мы не указали опцию null, то команда apipa выполнилась бы только когда не выполнилась бы команда noop.

Заметка: APIPA и DHCP обсуждаются позже.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]