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

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

Рассмотрим теперь, как работает подсистема в альте, где она находит настройки сети и как она их применяет.Для этого перейдём в /etc/net и увидим, что здесь находятся три подкаталога и настроечный файл.

Теперь отредактируем 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 - это технология переименования интерфейсов буквально на лету. Для чего это нужно ? В какой-то момент, когда создатели линукс-дистрибутивов перешли не просто на 26-е ядро, а отказались от /dev’а, перейдя на udev, возникла следующая ситуация: модуль,загрузившийся первым, получает нулевой номер. Соответственно, тот, который загрузится вторым, получает первый номер. Если бы это делалось последовательно, они бы всегда загружались в правильном порядке, потому что сетевые карты на сетевой шине, как правило, нумеруются одинаково. Но поскольку два модуля загружаются одновременно, часто бывает так, что сегодня, скажем, у нас первой загрузилась нижняя карточка, а второй верхняя. Существует несколько вариантов решения этой проблемы; в нашем случае механизм достаточно прост: при установке дистрибутива считываются MAC-адреса сетевых карт, формируется ftab, и потом всегда происходит переименование.

Помимо того, что etcnet хорошо документирован, он содержит огромное количество примеров. Чтобы убедиться в этом, можно выполнить, например, rpm -ql etcnet.

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

DHCP

Обратимся снова к протоколу уровня приложений. В ситуации, когда пользователь не очень хорошо разбирается в настройке сетей, но у него возникла необходимость подключиться к сети, кроме того, у администратора нет желания раздавать полотна с указаниями, где что прописать, более того, пользователя это и не касается. Для решения всех этих проблем есть служба DHCP.

Как работает DHCP? Это достаточно сложный процесс, так как он предназначен даже для машин, у которых даже IP-адреа нет. Поэтому можно разложить на части процедуру настройки по DHCP. Итак, основной настройкой, которую можно выдать по DHCP, является IP-адрес. Существует протокол ARP, который по IP-адресу позволяет узнать MAC-адрес. В случае, когда мы знаем MAC и не знаем IP, возникает обратная ситуация. Посылается широковещательный (если нет адреса конкретного сервера) Ethernet-фрейм, который принимается компьютером, на котором установлена сетевая служба, которая раздаёт IP, согласно таблице соответствий IP- и MAC-адресов. Протоколов, которые производят подобные преобразования, два: RARP и BOOTP. RARP находится между сетевым и интерфейсным уровнем; он предназначен для преобразования одного типа адресов в другой. Протокол BOOTP более комплексный, при помощи него кроме сетевого адреса можно получить имя файла, который надо скачать по tftp, чтобы его загрузить и выполнить. Но в обоих случаях должен существовать сервер, который это принимает запросы и выдаёт необуходимую информацию. Особенно cложной является ситуация, когда таких серверов два в одной локальной сети, и каждый думает по-своему. Таким образом, DHCP --- это комплекс настроек, который позволяет получить все сетевые настройки, про которые было сказано выше.

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

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

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

Профили в etcnet

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

Теперь проиллюстрируем на практике сказанное выше относительно etcnet и профилей. Создадим настройки сети. Для этого сделаем следующее:

Пишем:

ONBOOT=yes
DISABLED=no
BOOTPROTO=static

search mpgu.edu.ru
nameserver 194.190.241.162


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

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

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

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

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

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

Level

Maintainer

Start date

End date

45

1

1

1

1

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