Настройка сетевых интерфейсов

(по Г.К.: Автоматическая настройка сетевых подключений)

Речь о том, как на самом деле подсистема в альте, где она находит настройки сети, и как она их применяет. Мы сегодня утром достаточно долго настраивали сеть: настраивали сетевую карту, ip-адрес, маршрутизатор по умолчанию, dns, чтобы понять, что интернета нет. Перейдём в /etc/net и посмотрим, что в нём находится: три подкаталога и настроечный файл. В sysctl.conf находятся параметры ядра. Нам как пользователям школьного дистрибутива, этот файл без надобности, за одним исключением. В случае если вы сбираетесь делать сервер, который занимается маршрутизацией, переменная net.ipv4.ip_forvard должна быть равна 1. В разделе scripts лежат всевозможные программы на шелле, которые выполняют различные функции. Обычно их запускать руками не надо. Это подсистема управляет сетевыми настройками, которая занимается следующим: она читает конфигурационными файлы и по определённым алгоритмам вызывает эти сценарии. В самом деле, туда смотреть не надо. А куда смотреть? Например, в ifaces/. В директории интерфейсов описаны сетевые интерфейсы, которые предназначены для подключения к сети. Тут мы видим eth0, lo. Кроме этого есть default и unknown, которые применяются ко всем или к не указанным здесь интерфейсам. Можно перейти в директорию интерфейса и сказать, например, ipv4address. Кроме этого, есть директория options, в котором находятся настройки интерфейса. Обычно там указано, что BOOTPROTO=dhcp. Для статической настройки необходимо поменять dhcp на static. Dhcp–ipv4ll – это Авахе так вызывается. То есть если dhcp отказывается, через некоторое время после того как таймаут от dhcp приходит, что никакого dhcp нет, он запускает это самое авахе которое присваивает себе какой- нибудь адрес. Тут всё. Теперь ipv4address редактируем. Для указания адреса необходимо в ipv4address указать адрес, а в ipv4route указать default gateway - default via 192.168.200.1. Если посмотреть man etcnet, то можно узреть много других команд. Например, можно задать настройку для IP. После этого можно остановить сетевой сервис - service network stop, убедиться, что оба интерфейса опущен - ip a, после этого можно запустить service network start. После этого можно увидеть в ip r, что всё настроилось.

Система /etc/net крайне мощная, она позволяет практически всё решить конфигурацией. Для разных любителей…

Там есть human-readable синтаксис (нечто похожее на ipfv), его можно выключить и работать непосредственно в синтаксисе iptables.

В частности, etcnet’ом уже год поддерживается freename, это переименование интерфейсов на лету, чтобы, представьте, у вас всегда dev0 назывался dev0. (Какая в этом проблема, если кто не в курсе: в какой-то момент, когда создатели линукс-дистрибутивов перешли не просто на 26-е ядро, а отказались от /dev’а, перешли на udev, возникла такая странная штука: какой модуль первый загрузится, тот и получит нулевой номер. А который загрузится вторым, получит первый номер. Если бы это делалось последовательно, они бы всегда загружались в правильном порядке, потому что сетевые карты на сетевой шине, они, как правило, нумеруются все одинаково. Но поскольку два модуля грузятся одновременно, часто бывает так, что сегодня у вас первой загрузилась нижняя карточка, а второй верхняя.) Каждый борется с этой проблемой по-своему, в альте поступили очень просто: при установке дистрибутива у вас считываются MAC-адреса сетевых карт, формируется ftab, и потом жёстко происходит их rename.

Помимо того, что etcnet хорошо документирован, он содержит дикое количество примеров, можно сказать, например, rpm -ql etcnet

Теперь о недостатках: единственное, чего нет в etcnet --- нет простых примеров. Например, для того, чтобы догадаться, что для организации NAT надо прописать одну строчку, надо догадаться.

DHCP

Мы возвращаемся к началу нашего сегодняшнего занятия, а именно к протоколу уровня приложений. Откуда вообще всё это возникло. Во многих ОС есть кнопочка "настроить всё автоматически". Лектор очень не любит такую кнопочку, потому что не знает, что такое всё, и что такое автоматически. Но просто некоторый пользователь может не очень хорошо разбираться в сети, но у него может возникнуть необходимость воткнуться и подключиться к сети, кроме того, у администратора нет желания раздавать полотна с указаниями, где что прописать, более того, пользователя это и не касается. Для решения всех этих проблем есть служба DHCP.

Как работает DHCP? Довольно хитро, так как она предназначена даже для машин, у которых даже ip нет, поэтому можно разложить на части процедуру настройки по DHCP. Какие настройки можно выдать по DHCP:

Кстати, когда лектор говорил про xml, он забыл сказать, что resolv.conf не задавали. Он просто лежит в /etc. В принципе, есть возможность подсовывать resolv.conf в зависимости от используемого интерфейса. Вопрос в том, что это обычно не надо, потому что если он настраивается dhcp, dhcp сам его редактирует, а если он настраивается статически, он там один.

Так вот, по протоколу dhcp машина может получить несколько сотен настроек, в том числе такие, у которых имени нет, есть только номер. Например, настройка 318. Какая? Какую придумаешь, такая и будет.

Чтобы настроить автоматические настройки сети в etcnet, достаточно поставить у интерфейса в options BOOTPROTO=dhcp.

Фича etcnet. Профили.

В вашем каталоге eth0 может лежать несколько файлов apv4adress#имяпрофиля. Каждый такой файл может содержит настройки к определённому профилю. Например, компьютер используется дома и в офисе. Никаких дополнительных сущностей за исключением имени файла, не нужно. У службы network есть не только стандартные команды, но и дополнительные команды вида start with, которые позволяют выбрать, какой профиль будет использован при включении сети.

здесь кончается лекция за третье число. Следующая часть - это уже начало лекции за четвёртое число, и посему ещё не расшифрована. -- ConstantinYershow 2008-07-05 10:33:19

Мы вчера и позавчера управляли сетью из командной строки. Давайте практически докажем те слова, который в прошлый раз были высказаны теоретически относительно etcnet и профилей. Создадим настройки специально для здешнего заведения. Для этого нужно три вещи.

Пишем:

ONBOOT=yes
DISABLED=no
BOOTPROTO=static

search mpgu.edu.ru
nameserver 194.190.241.162


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

18

1

1

1

1

ConstantinYershow, ОльгаТочилкина