Etcnet
Подсказки пользователю /etc/net
- Раскроем тему (отдельные страницы)
Быстрый старт
Где брать информацию
Обращаю внимание, что начиная с версии 0.8.0 документация /etc/net переместилась из комментариев, рассеянных по множеству файлов, в несколько man-страниц. Список всех файлов документации пакета можно получить командой
rpmquery -d etcnet
Как быстро настроить одну карту Ethernet
- Создайте каталог /etc/net/ifaces/eth0. Это собственный каталог конфигурации данного интерфейса, в нём будут храниться файлы с настройками.
- Определите, какой модуль необходим для вашей карты. Для этого можно использовать lspci, lspcidrake, pciscan. Затем
- В каталоге конфигурации создайте файл options, в который впишите строку
MODULE=<имя модуля>
. Больше ничего пока не добавляйте. - Выясните, какой IP-адрес должен быть назначен вашему интерфейсу. Если интерфейс конфигурируется по DHCP, то поместите в файл /etc/net/ifaces/eth0/options строку BOOTPROTO=dhcp и переходите к шагу 7. Замечание: в ряде случаев может также понадобиться
DHCP_HOSTNAME=<имя машины без домена>
. Эта опция описана в man-странице etcnet-options. Также необходимо, чтобы была пустая строка в конце файла. - У вашего интерфейса есть два взаимосвязанных атрибута: IP-адрес и сетевая маска. Текущие назначенные адреса можно просмотреть командой /sbin/ip address show. Скорее всего вы увидите, что интерфейс-петля lo уже сконфигурирован с адресом 127.0.0.1/8. Создайте файл /etc/net/ifaces/eth0/ipv4address, в который поместите IP-адрес с длиной маски, например
10.0.0.20/24
. Наиболее популярны маски /24 и /30. Для справки приводится##LINKTOFTN ftnd1## таблица соответствия сетевых масок в различных нотациях. - Выясните адрес вашего шлюза (маршрут по умолчанию). Например, этот IP-адрес -- 10.0.0.254. Создайте файл /etc/net/ifaces/eth0/ipv4route, в который поместите строку
default via 10.0.0.254
- Убедитесь, что всё выполнено правильно, выполнив команду 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.
==== Как настроить интерфейс PPP ====
Для настройки обычного модемного PPP-соединения вам нужно:
- Создать каталог конфигурации, например, /etc/net/ifaces/ppp5. Сейчас вы не можете использовать что-либо кроме pppN или pppNN или pppNNN и т.п.
- Прочесть /etc/net/ifaces/default/options-ppp
- Создать файлы конфигурации. Скорее всего вам понядобятся pppconnect и pppdisconnect, чтобы pppd знал, как дозваниваться и соединяться. Это скрипты для программы chat(8). Кроме этого в файле pppoptions можно (а зачастую нужно) перечислить опции pppd(8), определяющие способ авторизации, скорость и название порта и т.п.
- Заполнить /etc/ppp/chap-secrets или /etc/ppp/pap-secrets.
Как настроить интерфейс PPtP или PPPoE
Хотя PPtP-соединения могут быть настроены и как обычные PPP-соединения, в /etc/net версии 0.7.10 для удобства пользователей была введена опция PPPTYPE. Она может принимать следующие значения:
- dialup: обычный PPP-интерфейс.
- pppoe: интерфейс PPPoE. Для такого интерфейса необходимо в опции HOST указывать имя Ethernet-интерфейса, через который будет производиться работа PPPoE. Побочным положительным эффектом будет то, что этот интерфейс будет при необходимости автоматически подниматься (см. ##FTN requires##).
- pptp: интерфейс PPtP. Для такого интерфейса необходимо в опции PPTP_SERVER указывать имя хоста или IP-адрес PPtP-сервера, к которому будет производиться подключение. Обратите внимание, что хотя такие интерфейсы не имеют опции HOST, в большинстве случаев имеет смысл указать в опции REQUIRES интерфейс, через который будет достижим хост, указанный в PPTP_SERVER.
См также ##FTN vpn##)
DNS и PPP-соединения
Довольно долгое время существовала проблема неправильной модификации /etc/resolv.conf при установке PPP-соединений: https://bugzilla.altlinux.org/show_bug.cgi?id=4249. Сейчас она решена, но необходимо дать пояснения. Прежде всего убедитесь, что у вас в файле /etc/resolv.conf есть строка
# ppp temp entry
Если этой строки нет, то в файле не будут модифицироваться строки nameserver, если только какая-нибудь программа типа kppp это не сделает специально. Если такая строка есть, то /etc/resolv.conf будет модифицироваться в зависимости от значения булевской переменной RESOLV_MODS, которую необходимо задавать в файле /etc/sysconfig/network.//
: при ppp-common >= 0.4-alt1 строки # ppp temp entry в /etc/resolv.conf при отсутствии PPP-соединения, поднятого какой-либо "звонилкой", запущенной от рута -- быть не должно! Если есть -- уберите, чтобы /etc/ppp/ip-up занимался обновлением записей про DNS в этом файле.
restart, reload и другие команды
У сервиса network имеется ряд команд:
- start: запустить все стационарные интерфейсы. hotplug-интерфейсы будут сконфигурированы при поступлении соответствующего вызова от hotplug.
- startwith <имя профиля>: start с указанным именем профиля, а не определённым автоматически.
- stop: остановить все стационарные интерфейсы. hotplug-интерфейсы будут расконфигурированы при поступлении соответствующего вызова от hotplug.
- stopwith <имя профиля>: stop с указанным именем профиля, а не определённым автоматически.
- restart: эквивалентно stop с последующим start, как и в большинстве других сервисов.
- restartwith <имя профиля>: рестарт в контексте указанного профиля, эквивалентно stopwith <имя профиля> и startwith <имя профиля>.
- switchto <имя профиля>: переключение в указанный профиль, эквивалентно stop и startwith <имя профиля>.
- reload: семантически обозначает "актуализировать текущую конфигурацию". Для всех сконфигурированных в настоящий момент интерфейсов будет выполнена реконфигурация при наличии конфигурации.
- check: автоматическая проверка конфигурационной базы.