Различия между версиями 3 и 4
Версия 3 от 2008-07-04 11:40:58
Размер: 13499
Редактор: ConstantinYershow
Комментарий:
Версия 4 от 2008-07-04 11:47:26
Размер: 13472
Редактор: ConstantinYershow
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 4: Строка 4:
Речь о том, как на самом деле подсистема в альте, где она находит настройки сети, и как она их применяет. Мы сегодня утром достаточно долго
настраивали сеть: настраивали сетевую карту, 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, что всё настроилось.
Речь о том, как на самом деле подсистема в альте, где она находит настройки сети, и как она их применяет. Мы сегодня утром достаточно долго настраивали сеть: настраивали сетевую карту, 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, что всё настроилось.
Строка 25: Строка 10:
В частности, etcnet’ом уже год поддерживается freename, это переименование интерфейсов на лету, чтобы, представьте, у вас всегда dev0 назывался
dev0. (Какая в этом проблема, если кто не в курсе: в какой-то момент, когда создатели линукс-дистрибутивов перешли не просто на 26-е ядро, а
отказались от /dev’а, перешли на udev, возникла такая странная штука: какой модуль первый загрузится, тот и получит нулевой номер. А который
загрузится вторым, получит первый номер. Если бы это делалось последовательно, они бы всегда загружались в правильном порядке, потому что
сетевые карты на сетевой шине, они, как правило, нумеруются все одинаково. Но поскольку два модуля грузятся одновременно, часто бывает так, что
сегодня у вас первой загрузилась нижняя карточка, а второй верхняя.) Каждый борется с этой проблемой по-своему, в альте поступили очень просто:
при установке дистрибутива у вас считываются MAC-адреса сетевых карт, формируется ftab, и потом жёстко происходит их rename.
В частности, etcnet’ом уже год поддерживается freename, это переименование интерфейсов на лету, чтобы, представьте, у вас всегда dev0 назывался dev0. (Какая в этом проблема, если кто не в курсе: в какой-то момент, когда создатели линукс-дистрибутивов перешли не просто на 26-е ядро, а отказались от /dev’а, перешли на udev, возникла такая странная штука: какой модуль первый загрузится, тот и получит нулевой номер. А который загрузится вторым, получит первый номер. Если бы это делалось последовательно, они бы всегда загружались в правильном порядке, потому что сетевые карты на сетевой шине, они, как правило, нумеруются все одинаково. Но поскольку два модуля грузятся одновременно, часто бывает так, что сегодня у вас первой загрузилась нижняя карточка, а второй верхняя.) Каждый борется с этой проблемой по-своему, в альте поступили очень просто: при установке дистрибутива у вас считываются MAC-адреса сетевых карт, формируется ftab, и потом жёстко происходит их rename.
Строка 35: Строка 14:
Теперь о недостатках: единственное, чего нет в etcnet --- нет простых примеров. Например, для того, чтобы догадаться, что для организации NAT
надо прописать одну строчку, надо догадаться.
Теперь о недостатках: единственное, чего нет в etcnet --- нет простых примеров. Например, для того, чтобы догадаться, что для организации NAT надо прописать одну строчку, надо догадаться.
Строка 40: Строка 18:
Мы возвращаемся к началу нашего сегодняшнего занятия, а именно к протоколу уровня приложений. Откуда вообще всё это возникло. Во многих ОС есть
кнопочка "настроить всё автоматически". Лектор очень не любит такую кнопочку, потому что не знает, что такое всё, и что такое автоматически. Но
просто некоторый пользователь может не очень хорошо разбираться в сети, но у него может возникнуть необходимость воткнуться и подключиться к
сети, кроме того, у администратора нет желания раздавать полотна с указаниями, где что прописать, более того, пользователя это и не касается.
Для решения всех этих проблем есть служба DHCP.
Мы возвращаемся к началу нашего сегодняшнего занятия, а именно к протоколу уровня приложений. Откуда вообще всё это возникло. Во многих ОС есть кнопочка "настроить всё автоматически". Лектор очень не любит такую кнопочку, потому что не знает, что такое всё, и что такое автоматически. Но просто некоторый пользователь может не очень хорошо разбираться в сети, но у него может возникнуть необходимость воткнуться и подключиться к сети, кроме того, у администратора нет желания раздавать полотна с указаниями, где что прописать, более того, пользователя это и не касается. Для решения всех этих проблем есть служба DHCP.
Строка 46: Строка 20:
Как работает DHCP? Довольно хитро, так как она предназначена даже для машин, у которых даже ip нет, поэтому можно разложить на части процедуру
настройки по DHCP. Какие настройки можно выдать по DHCP:
Как работает DHCP? Довольно хитро, так как она предназначена даже для машин, у которых даже ip нет, поэтому можно разложить на части процедуру настройки по DHCP. Какие настройки можно выдать по DHCP:

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

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

Речь о том, как на самом деле подсистема в альте, где она находит настройки сети, и как она их применяет. Мы сегодня утром достаточно долго настраивали сеть: настраивали сетевую карту, 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:

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

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

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

  • IP
  • Маска
  • Адрес dns сервера
  • Маршрутизатор по умолчанию, вообще вся таблица маршрутизации
  • Если это сетевая загрузка, адрес файла, который надо закачать, адрес сервера, с которого надо его закачать, а потом ещё какие-то настройки. Идея состоит в том, что получить её можно по DHCP, и используется она на разных уровнях.

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

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

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


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

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

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

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

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

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

Level

Maintainer

Start date

End date

19

1

1

1

1

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


PspoClasses/080703/04EtcNetAndDHCP (последним исправлял пользователь VsevolodKrishchenko 2008-10-04 10:55:19)