8618
Комментарий:
|
13944
|
Удаления помечены так. | Добавления помечены так. |
Строка 1: | Строка 1: |
== Настройка сетевых интерфейсов и DHCP == | == Настройка сетевых интерфейсов == === (по Г.К.: Автоматическая настройка сетевых подключений) === |
Строка 3: | Строка 4: |
Речь о том, как на самом деле подсистема в альте, где она находит настройки сети, и как она из применяет. Мы сегодня утром достаточно долго настраивали сеть: настраивали сетевую карту, ip-адрес, dns. Перейдём в /etc/net и посмотри, что в нём находится. В sysctl.conf находятся параметры ядра. Нам как пользователям школьного дистр., этот файл без надобности, за одним исключением. В случае, если вы сбираетесь делать сервер, который занимается маршрутизацией, переменная net.ipv4.ip_forvard должна быть равна 1. В разделе scripts лежат всевозможные программы на шелле, которые вып. различ. функции. Обычно их запускать рукаим не надо. Это подситема упр. сетевыми настройками, которая занимается следующим: она читает конф. файлы и по опр. алгоритмам вызывает эти сценарии. В самом деле, туда смотреть не надо. А куда смотреть? Например, в ifaces/. В директории интерфейсов описаны сетевые интерфейсы, которые предн. для подключения к сети. Тут мы видим eth0, lo. Кроме этого есть default и unknown, которые применяются ко всем или к не указанным здесь интерфейсам. Можно перейти в иректорию интерфейса и сказать, например, ipv4address. Кроме этого, есть options, в котором находятся настр. интерфейса. Обычн там указано, что BOOTPROTO=dhcp. Для статической настройки необх поменять на static. Для указания адреса необх. в ipv4address указать адрес, а в ipv4route указать default gateway --- default via 192.168.200.1. Если посмотреть man etcnet, то можно узреть мног других команд. После этого можно становить сетевой сервис --- service network stop, убедиться, что оба интерфейса опущен --- ip a, после этого можно запустить service network start. После этого можно увидеть в ip r, что всё настроилось. | Рассмотрим теперь, как работает подсистема в альте, где она находит настройки сети и как она их применяет.Для этого перейдём в /etc/net и увидим, что здесь находятся три подкаталога и настроечный файл. |
Строка 5: | Строка 6: |
Система /etc/net крайне мщная, она позвалаяет практически всё решить конфигурацией. Для разных любителей ... | * В sysctl.conf находятся параметры ядра. Нам как пользователям школьного дистрибутива, этот файл в принципе не нужен, за одним исключением. В случае, если нам необходимо создать сервер, который занимается маршрутизацией, нужно дать переменной net.ipv4.ip_forvard значение 1. * В разделе scripts лежат всевозможные программы, написанные на Shell'e, которые выполняют различные функции. Обычно нет необходимости запускать их вручную. С помощью этих программ подсистема управляет сетевыми настройками. На деле она выполняет следующее: читает конфигурационные файлы и по определённым алгоритмам вызывает соответствующие сценарии. * В разделе ifaces (директории интерфейсов) описаны сетевые интерфейсы, которые предназначены для подключения к сети. Тут мы видим eth0, lo. Кроме того, есть default и unknown, которые применяются ко всем или к не указанным здесь интерфейсам. Можно перейти в директорию интерфейса и сказать, например, ipv4address. * Наконец, есть директория options, в которой находятся настройки интерфейса. С помощью опции BOOTPROTО можно управлять механизмом получения IP-адресов. Обычно указано, что BOOTPROTO=dhcp. Для статической настройки необходимо поменять dhcp на static. Если присвоить BOOTPROTO значение ipv4ll, то для машины буде выбран еще не использованный IP-адрес. Dhcp–ipv4ll – это Авахе так вызывается. То есть если получить настройки по DHCP не удается, через некоторое время после таймаута запускается это самое авахе которое, присваивает себе какой- нибудь адрес. |
Строка 7: | Строка 11: |
(про переименование интерфейсов) | Теперь отредактируем ipv4address. Для указания адреса необходимо в ipv4address указать собственно адрес, а в ipv4route указать default gateway - default via 192.168.200.1. Если сделать {{{ man etcnet }}}, то можно увидеть множество других команд. Например, можно задать настройку для IP. После этого можно остановить сетевой сервис, сделав {{{ service network stop }}}, убедиться, что оба интерфейса опущен - ip a, после этого можно запустить service network start. После этого, сделав {{{ ip r}}}, убедимся, что всё настроено. |
Строка 9: | Строка 13: |
Помимо тог, чтоetcnet хорошо документирован, он содержит дикое колоичество примеров, можно сказать, например, rpm -ql etcnet | Стоит отметить, что система /etc/net крайне мощная, она позволяет практически любую проблему решить при помощи изменений конфигурации. Например, в ней есть human-readable синтаксис (нечто похожее на ipfv), его можно выключить и работать непосредственно в синтаксисе iptables. |
Строка 11: | Строка 15: |
Теперь о недстатках: единственное, чего нет в etcnet --- нет простых примеров. Например, для того, чтобы догадаться, что для организации NAT над прописать одну строчку, надо догадаться. | В частности, etcnet’ом уже год поддерживается freename - это технология переименования интерфейсов буквально на лету. Для чего это нужно ? В какой-то момент, когда создатели линукс-дистрибутивов перешли не просто на 26-е ядро, а отказались от /dev’а, перейдя на udev, возникла следующая ситуация: какой модуль первый загрузится, тот и получит нулевой номер. Соответственно, тот, который загрузится вторым, получит первый номер. Если бы это делалось последовательно, они бы всегда загружались в правильном порядке, потому что сетевые карты на сетевой шине, они, как правило, нумеруются все одинаково. Но поскольку два модуля грузятся одновременно, часто бывает так, что сегодня, скажем, у нас первой загрузилась нижняя карточка, а второй верхняя. Существует несколько вариантов решения этой проблемы; в нашем случае механизм достаточно прост: при установке дистрибутива считываются MAC-адреса сетевых карт, формируется ftab, и потом всегда происходит переименование. Помимо того, что etcnet хорошо документирован, он содержит огромное количество примеров, можно сказать, например, {{{rpm -ql etcnet}}}. Теперь о недостатках: единственное, чего нет в etcnet --- простых примеров. Например, единственный способ узнать, что для организации NAT надо прописать одну строчку --- догадаться. |
Строка 15: | Строка 23: |
Мы возвращаемся к началу нашего сегодняшнего занятия, а именно к протоколу уровня приложений. Откуда вообще всё это возникло. Во многих ОС есть кнопочка "настроить всё автоматически". Лектор очень не любит такую кнопочку, потоу что не знает, что такое всё, и что такое автоматически. Но протсо опльзователь некоторый может не очень хорошо разбираться в сети, но у него моожет возникнуть желания воткнуться и подклюбчиться к сети, крое того, у администратора нет желания раздавать полотна с указаниями, где что прописать, более того, пользователя это и не касается. Для решения всех этих проблем есть служба DHCP. | Обратимся снова к протоколу уровня приложений. В ситуации, когда пользователь не очень хорошо разбирается в настройке сетей, но у него возникла необходимость подключиться к сети, кроме того, у администратора нет желания раздавать полотна с указаниями, где что прописать, более того, пользователя это и не касается. Для решения всех этих проблем есть служба DHCP. |
Строка 17: | Строка 25: |
Как работает DHCP? Довольно хитро, так как она предназначена даже для машин, у которых даже ip нет, поэтому можно разложить на части процедуру настройки по DHCP. Ккие настр. можно выдать по DHCP: * IP-адрес. Есть протоколо ARP, который по ip позволяет узнать MAC. В случае, когда есть MAC и нет IP, взникает ситуация обратная. Посылается широковещаетльный Eth-фрейм, который принимается компьютером, на этом компьютере должна быть уст. стевая служба, которая разд. ip, и, обращаясь к таблице соотв. ip и mac, и по этому маку он выдаёт ip. Таких протокоолов, которые преобр. делают, штуки две: RARP и BOOTP. И если rarp предназначен только для одной задачи, то bootp блее комплексный, по нему кроме сетевого адреса можно получить имя файла, который надо скачать по tftp, чтобы его загрузить и выполнить. Но в обоих случаях должен быть сервер, колторый это разруливает и это выдаёт. |
Как работает DHCP? Это достаточно сложный процесс, так как он предназначен даже для машин, у которых даже ip нет, поэтому можно разложить на части процедуру настройки по DHCP. Настройки, которые можно выдать по DHCP: |
Строка 20: | Строка 27: |
Про 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: |
Строка 23: | Строка 35: |
* Маршрутизатор по умолчанию, вообще вся таблица маршрутизации * ... Идея состоит в том, что получить её можно по DHCP, и испю она на разных уровнях. |
* Адрес DNS-сервера * Маршрутизатор по умолчанию и вся таблица маршрутизации * Если это сетевая загрузка, адрес файла, который надо закачать, адрес сервера, с которого надо его закачать, а потом ещё какие-то настройки. Идея состоит в том, что получить её можно по DHCP, и используется она на разных уровнях. |
Строка 27: | Строка 39: |
Чтобы настроить авт. настр. сети в etcnet, достаточно поставить у интерфейса в options BOOTPROTO=dhcp. | Чтобы сделать автоматическую настройку сети в etcnet, достаточно поставить у интерфейса в options BOOTPROTO=dhcp. |
Строка 29: | Строка 41: |
Фича etcnet. Профили. | === Профили в etcnet === |
Строка 31: | Строка 43: |
В вашем каталоге eth0 может лежать несколько файлов ...#имяпрофиля. Каждый такой файл может содерж. настройки к опр. профилю. Например, компьютер исп. дома и в офисе. Никаких доп. сущносетй за иск. имени файла, не нужно. У службы network есть не только стандвртные команды, но и доп. команды, которые позв. выбрать, какой профиль будет исп. при включении сети. | В каталоге eth0 может лежать несколько файлов apv4adress#имяпрофиля. Каждый такой файл содержит настройки к определенному профилю. Например, компьютер используется дома и в офисе. Никаких дополнительных сущностей за исключением имени файла, не нужно. Более того, у службы network есть не только стандартные команды, но и дополнительные вида start with, которые позволяют выбрать, какой профиль будет использован при включении сети. Теперь проиллюстрируем на практике сказанное выше относительно etcnet и профилей. Создадим настройки сети. Для этого сделаем следующее: * Переходим в /etc/net/ * Создаём файл options#mpgu. Пишем: {{{ ONBOOT=yes DISABLED=no BOOTPROTO=static }}} * Напишем: {{{ mv ipv4address ipv4address\#mpgu }}} * Напишем здесь: {{{ search mpgu.edu.ru nameserver 194.190.241.162 }}} * Сделаем {{{ service network restartwith mpgu }}} Настройка сети завершена. |
Строка 39: | Строка 71: |
|| 0 || 1 || 1 || 1 || || 1 || ConstantinYershow, ОльгаТочилкина || || || | || 43 || 1 || 1 || 1 || || 1 || ConstantinYershow, ОльгаТочилкина || || || |
Настройка сетевых интерфейсов
(по Г.К.: Автоматическая настройка сетевых подключений)
Рассмотрим теперь, как работает подсистема в альте, где она находит настройки сети и как она их применяет.Для этого перейдём в /etc/net и увидим, что здесь находятся три подкаталога и настроечный файл.
- В sysctl.conf находятся параметры ядра. Нам как пользователям школьного дистрибутива, этот файл в принципе не нужен, за одним исключением. В случае, если нам необходимо создать сервер, который занимается маршрутизацией, нужно дать переменной net.ipv4.ip_forvard значение 1.
- В разделе scripts лежат всевозможные программы, написанные на Shell'e, которые выполняют различные функции. Обычно нет необходимости запускать их вручную. С помощью этих программ подсистема управляет сетевыми настройками. На деле она выполняет следующее: читает конфигурационные файлы и по определённым алгоритмам вызывает соответствующие сценарии.
- В разделе ifaces (директории интерфейсов) описаны сетевые интерфейсы, которые предназначены для подключения к сети. Тут мы видим eth0, lo. Кроме того, есть default и unknown, которые применяются ко всем или к не указанным здесь интерфейсам. Можно перейти в директорию интерфейса и сказать, например, ipv4address.
- Наконец, есть директория options, в которой находятся настройки интерфейса. С помощью опции BOOTPROTО можно управлять механизмом получения IP-адресов. Обычно указано, что BOOTPROTO=dhcp. Для статической настройки необходимо поменять dhcp на static. Если присвоить BOOTPROTO значение ipv4ll, то для машины буде выбран еще не использованный IP-адрес. Dhcp–ipv4ll – это Авахе так вызывается. То есть если получить настройки по 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 - это технология переименования интерфейсов буквально на лету. Для чего это нужно ? В какой-то момент, когда создатели линукс-дистрибутивов перешли не просто на 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:
- IP
- Маска
- Адрес DNS-сервера
- Маршрутизатор по умолчанию и вся таблица маршрутизации
- Если это сетевая загрузка, адрес файла, который надо закачать, адрес сервера, с которого надо его закачать, а потом ещё какие-то настройки. Идея состоит в том, что получить её можно по DHCP, и используется она на разных уровнях.
Чтобы сделать автоматическую настройку сети в etcnet, достаточно поставить у интерфейса в options BOOTPROTO=dhcp.
Профили в etcnet
В каталоге eth0 может лежать несколько файлов apv4adress#имяпрофиля. Каждый такой файл содержит настройки к определенному профилю. Например, компьютер используется дома и в офисе. Никаких дополнительных сущностей за исключением имени файла, не нужно. Более того, у службы network есть не только стандартные команды, но и дополнительные вида start with, которые позволяют выбрать, какой профиль будет использован при включении сети.
Теперь проиллюстрируем на практике сказанное выше относительно etcnet и профилей. Создадим настройки сети. Для этого сделаем следующее:
- Переходим в /etc/net/
- Создаём файл options#mpgu.
Пишем:
ONBOOT=yes DISABLED=no BOOTPROTO=static
Напишем: mv ipv4address ipv4address\#mpgu
- Напишем здесь:
search mpgu.edu.ru nameserver 194.190.241.162
Сделаем service network restartwith mpgu Настройка сети завершена.
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
43 |
1 |
1 |
1 |
|
1 |
|
|