Подсказки пользователю /etc/net
Общие сведения
/etc/net — немного больше, чем кажется на первый взгляд. Несмотря на это, /etc/net остаётся системой конфигурации сети в Linux, то есть должна позволить вам сконфигурировать вашу сеть без трюков и особого напряжения. Если вы всё же читаете эту страницу, то у вас, вероятно, возникли трудности с её использованием. Для начала я дам ряд утверждений, от которых можно оттолкнуться:
- У проекта есть сайт, на котором можно найти примеры конфигурации и тексты, претендующие на звание документации: http://etcnet.org/
- /etc/net интегрирован в ALTLinux Sisyphus в виде пакетов:
- etcnet (базовые сценарии)
- etcnet-full (виртуальный пакет с зависимостями на все пакеты, которые могут использоваться сценариями /etc/net, с указанием их точных версий)
- etcnetconf (прототип конфигуратора)
- Пакеты etcnet и net-scripts — две конфликтующие реализации такой сущности, как «подсистема конфигурации сети» (network-config-subsystem).
- При установке etcnet вместо net-scripts или наоборот сервис network оказывает выключенным. Это означает, что при загрузке системы сеть не будет сконфигурирована, проверить это можно командой chkconfig --list network. Для быстрого исправления проблемы можно дать команду chkconfig network reset.
- etcnet НЕ импортирует автоматически настройки net-scripts. Если вы только что установили etcnet и ваши сетевые интерфейсы всё ещё остаются сконфигурированными (несмотря на уже отсутствующий пакет net-scripts), то вы можете запустить сценарий /etc/net/scripts/initconf. Он попытается проанализировать текущее состояние интерфейсов и выведет вам результат. Никаких файлов при этом записано не будет. Если вам понравится вывод initconf, запустите его с параметром write и он проделает то же самое, но уже с сохранением конфигурации.
- Для корректной работы системы в целом необходимо, чтобы содержимое файла /etc/sysconfig/network было корректным.
- Переменные sysctl в ALTLinux конфигурируются в следующих местах: /etc/sysctl.conf (глобальные системные), /etc/sysconfig/network-scripts/sysctl.conf (общие сетевые в net-scripts), /etc/net/sysctl.conf (общие сетевые в /etc/net), /etc/net/ifaces/*/sysctl.conf* (частные для конкретных интерфейсов или их типов в /etc/net).
Как быстро настроить одну карту Ethernet
- Создайте каталог /etc/net/ifaces/eth0. Это собственный каталог конфигурации данного интерфейса, в нём будут храниться файлы с настройками.
- Определите, какой модуль необходим для вашей карты. Для этого можно использовать lspci, lspcidrake, pciscan. Затем
- В каталоге конфигурации создайте файл options, в который впишите строку Больше ничего пока не добавляйте.
- Выясните, какой IP-адрес должен быть назначен вашему интерфейсу. Если интерфейс конфигурируется по DHCP, то поместите в файл /etc/net/ifaces/eth0/options строку и переходите к шагу 7.
- У вашего интерфейса есть два взаимосвязанных атрибута: IP-адрес и сетевая маска. Текущие назначенные адреса можно просмотреть командой /sbin/ip address show. Скорее всего вы увидите, что интерфейс-петля lo уже сконфигурирован с адресом 127.0.0.1/8. Создайте файл /etc/net/ifaces/eth0/ipv4address, в который поместите IP-адрес с длиной маски, например Наиболее популярны маски /24 и /30. Для справки приводится1 таблица соответствия сетевых масок в различных нотациях.
- Выясните адрес вашего шлюза (маршрут по умолчанию). Например, этот IP-адрес — 10.0.0.254. Создайте файл /etc/net/ifaces/eth0/ipv4route, в который поместите строку
- Убедитесь, что всё выполнено правильно, выполнив команду service network restart. Ваш интерфейс должен быть успешно сконфигурирован. Если вы конфигурировали использование DHCP, но адрес интерфейсу не назначается, просмотрите /var/log/messages.
Как настроить ifplugd
С версии 0.7.10 /etc/net управляет ifplugd самостоятельно. Это было сделано для лучшей интеграции пакетов и для возможности мониторить несколько интерфейсов одновременно. Для корректного использования ifplugd необходимо выполнить chkconfig ifplugd off и назначить переменную USE_IFPLUGD в файлах options соответствующих интерфейсов. Комментарий по данной переменной дан в файле /etc/net/ifaces/default/options-eth.
DNS и PPP-соединения
Довольно долгое время существовала проблема неправильной модификации /etc/resolv.conf при установке PPP-соединений: https://bugzilla.altlinux.org/show_bug.cgi?id=4249
Сейчас она решена, но необходимо дать пояснения. Прежде всего убедитесь, что у вас в файле /etc/resolv.conf есть строка
Если этой строки нет, то в файле не будут модифицироваться строки nameserver, если только какая-нибудь программа типа kppp это не сделает специально. Если такая строка есть, то /etc/resolv.conf будет модифицироваться в зависимости от значения булевской переменной RESOLV_MODS, которую необходимо задавать в файле /etc/sysconfig/network.
Несколько IP-адресов или маршрутов на одном интерфейсе
Вы можете помещать произвольное количество IP-адресов в файл ipv4address по одному адресу на каждой строке. То же самое относится к статическим маршрутам и файлу ipv4route. Обратите внимание, что /etc/net не анализирует содержимое этих файлов, а формирует на основе каждой строки командную строку для утилиты ip. Это означает, что вы можете помещать в этих файлах произвольные поддерживаемые ip опции и они будут обработаны. Например, в файле ipv4route можно поместить строку
1
маска в битах | маска точечно-десятичная |
/32 | 255.255.255.255 |
/31 | 255.255.255.254 |
/30 | 255.255.255.252 |
/29 | 255.255.255.248 |
/28 | 255.255.255.240 |
/27 | 255.255.255.224 |
/26 | 255.255.255.192 |
/25 | 255.255.255.128 |
/24 | 255.255.255.0 |
/23 | 255.255.254.0 |
/22 | 255.255.252.0 |
/21 | 255.255.248.0 |
/20 | 255.255.240.0 |
/19 | 255.255.224.0 |
/18 | 255.255.192.0 |
/17 | 255.255.128.0 |
/16 | 255.255.0.0 |
/15 | 255.254.0.0 |
/14 | 255.252.0.0 |
/13 | 255.248.0.0 |
/12 | 255.240.0.0 |
/11 | 255.224.0.0 |
/10 | 255.192.0.0 |
/9 | 255.128.0.0 |
/8 | 255.0.0.0 |
/7 | 254.0.0.0 |
/6 | 252.0.0.0 |
/5 | 248.0.0.0 |
/4 | 240.0.0.0 |
/3 | 224.0.0.0 |
/2 | 192.0.0.0 |
/1 | 128.0.0.0 |