
- •2. Версии iPv4 и iPv6
- •3. Пакеты и их инкапсуляция
- •4. Адресация пакетов
- •Глава 14. Сети tcp/ip 505
- •6. Cidr: протокол бесклассовой междоменной маршрутизации
- •7. Частные адреса и система nat
- •8. Маршрутизация
- •9. Таблицы маршрутизации
- •10. Arp: протокол преобразования адресов
- •11. Dhcp: протокол динамического конфигурирования узлов
- •12. Ррр: протокол двухточечного соединения
- •13. Команда ifconfig: конфигурирование сетевых интерфейсов
- •14. Демоны маршрутизации
- •Глава 15. Маршрутизация 571
- •15. Основные протоколы маршрутизации
- •Глава 15. Маршрутизация 567
- •16. Технология Ethernet: сетевая панацея
- •17. Беспроводной стандарт: локальная сеть для кочевников
- •18. Dsl и кабельные модемы: “последняя миля” 8
- •Глава 16. Сетевые аппаратные средства 593
- •20. Основные задачи системы dns
- •Глава 18. Сетевой протокол Network File System 737
- •22. Серверная часть протокола nfs
- •Глава 18. Сетевой протокол Network File System 745
- •23. Клиентская часть протокола nfs
- •Глава 18. Сетевой протокол Network File System 753
- •24. Ldap: упрощенный протокол доступа к каталогам
- •25. Структура данных ldap
- •Глава 19. Совместное использование системных файлов 775
- •26. Nis: Сетевая информационная служба
- •27. Системы электронной почты
- •Глава 20. Электронная почта 789
- •28. Протоколы smtp, pop3.
- •30. Почтовые серверы
- •Часть II. Работа в сети
- •31. Cпам и вредоносные программы
- •Глава 20. Электронная почта 813 ip range
- •32. Фильтрация почты
- •33. Почтовый агент sendmail
- •34. Почтовый агент Postfix
- •Глава 20. Электронная почта 877
- •35. Поиск неисправностей в сетях
- •Глава 21. Управление сетями 911
- •36. Kоманда traceroute: трассировка ip-пакетов
- •Глава 21. Управление сетями 915
- •37. Команда netstat: получение информации о состоянии сети
- •Глава 21. Управление сетями 919
- •39. Snmp: простой протокол управления сетями
- •40. Протокол NetFlow: мониторинг соединений
- •Глава 21. Управление сетями 939
- •41. Ключевые аспекты безопасности
- •Глава 22. Безопасность 951
- •42. Пароли и учетные записи пользователей
- •43. Эффективное использование команды chroot
- •44. Команда nmap: сканирование сетевых портов
- •45. Bro: программная система для распознавания вторжения в сеть
- •Глава 22. Безопасность 967
- •46. Мандатное управление доступом
- •47. Ssh: безопасная оболочка
- •48. Брандмауэры
- •Глава 22. Безопасность 983
- •49. Функциональный стек lamp
- •50. Обнаружение ресурсов в сети веб
- •Глава 23. Веб-хостинг 1003
- •51. Принцип работы http
- •52. Конфигурирование сервера Apache
- •Глава 23. Веб-хостинг 1011
- •53. Виртуальные интерфейсы
- •54. Протокол Secure Sockets Layes
- •Глава 23. Веб-хостинг 1017
10. Arp: протокол преобразования адресов
Протокол ARP определен в документе RFC826.
Несмотря на то что IP-адреса являются аппаратно-независимыми, для фактической передачи данных на канальном уровне должны применяться аппаратные адреса13.

13 Это не касается двухточечных соединений, где получатель иногда подразумевается неявно.
516 Часть II. Работа в сети
ARP (Address Resolution Protocol — протокол преобразования адресов) определяет, какой аппаратный адрес связан с тем или иным IP-адресом. Этот протокол можно применять в сетях любых типов, которые поддерживают широковещательный режим, но чаще всего его рассматривают в контексте сетей Ethernet.
Когда компьютер А хочет послать пакет компьютеру Б, находящемуся в том же Ethemet-сегменте, он использует протокол ARP для нахождения аппаратного адреса Б. Если же компьютер Б расположен в другой сети, то компьютер А с помощью подсисте мы маршрутизации определяет IP-адрес маршрутизатора следующего перехода, а затем с помощью протокола ARP выясняет аппаратный адрес этого маршрутизатора. Так как в ARP применяются широковещательные пакеты, которые не могут выйти за пределы локальной сети14, этот протокол позволяет находить только адреса устройств, непосред ственно подключенных к той же сети.
Каждый компьютер хранит в памяти специальную таблицу, называемую кешем ARP. Кеш содержит результаты последних ARP-запросов. В нормальных условиях многие адреса, необходимые компьютеру, выявляются вскоре после начальной загрузки, поэто му протокол ARP мало влияет на загруженность сети.
Протокол ARP функционирует путем широковещательной рассылки пакетов пример но следующего содержания: “Знает ли кто-нибудь аппаратный адрес для 128.138.116.4?” Устройство, которое разыскивают, узнает свой IP-адрес и посылает ответ: “Да, это IP-адрес одного из моих сетевых интерфейсов, соответствующий Ethernet-адрес — 8:0:20:0:fb:6a”.
Исходный запрос включает IP- и Ethernet-адрес запрашивающей стороны, благодаря чему разыскиваемое устройство может ответить, не посылая собственный ARP-запрос. Это позволяет обоим компьютерам узнать адреса друг друга за один сеанс обмена па кетами. Другие компьютеры, “слышавшие” исходное широковещательное сообщение, посланное инициатором запроса, тоже могут записать информацию о его адресах.
Команда arp изучает и обрабатывает содержимое кеша ARP. Обычно она использу ется для добавления и удаления записей, но может также очищать всю таблицу и ото бражать ее. В частности, команда arp -а отображает содержимое кеша. Формат вывода может варьироваться.
Команда arp, как правило, применяется в целях отладки и при работе со специаль ным оборудованием. Например, если два узла сети имеют одинаковый IP-адрес, то на одном из них запись в ARP-таблице будет правильной, а на другом — нет. С помощью команды arp можно найти узел-нарушитель.
11. Dhcp: протокол динамического конфигурирования узлов
Протокол DHCP определен в документах RFC2131 и 2132.
Когда вы добавляете устройство или компьютер в сеть, то обычно получаете свой IP- адрес в локальной сети, настраиваете соответствующий маршрутизатор, заданный по умолчанию, и присоединяетесь к локальному серверу DNS. Все это за вас может сделать протокол DHCP (Dynamic Host Configuration Protocol — протокол динамического кон фигурирования узлов).
14 Маршрутизатор можно сконфигурировать так, чтобы он пропускал широковещательные па кеты в другие сети, но это, в принципе, неудачная идея. Необходимость пропускать широкове щательные пакеты является признаком неблагополучия в работе сети или неудачной архитектуры сервера.
Протокол DHCP дает возможность клиенту взять сетевые и административные пара метры “в аренду” у центрального сервера, отвечающего за их распространение. Принцип аренды особенно удобен для персональных компьютеров, которые выключены, когда на них никто не работает, и интернет-провайдеров, чьи клиенты подключаются по комму тируемым линиям.
К “арендуемым” параметрам относятся следующие:
• IP-адреса и сетевые маски;
• адреса шлюзов (стандартные маршруты);
• адреса DNS-серверов;
• имена компьютеров, на которых выполняется система Syslog;
• адреса серверов WINS, Х-серверов шрифтов, прокси-серверов и NTP-серверов;
• адреса серверов TFTP (для получения файла начальной загрузки) и десятки других (см. RFC2132).
• Экзотические параметры редко используются на практике.
Периодически клиенты должны повторно обращаться к DHCP-серверу с целью продления срока аренды. Если этого не делать, аренда рано или поздно закончится. DHCP-сервер будет тогда волен предоставить адрес (или иной арендованный параметр) другому клиенту. Срок аренды конфигурируется, но обычно он достаточно велик (до не скольких дней).
Даже если вы хотите, чтобы каждый узел имел собственный постоянный IP-адрес, про токол DHCP может значительно сэкономить ваши время и усилия. Когда сервер DHCP сконфигурирован и запущен, клиенты почти автоматически определяют параметры се тевой конфигурации на этапе начальной загрузки, и никакой путаницы не возникает.
Программное обеспечение DHCP
Организация ISC (Internet Software Consortium — консорциум разработчиков про граммного обеспечения для Интернета) поддерживает прекрасный открытый источник информации о протоколе DHCP. В настоящее время широко используются версии паке та IVS 2, 3 и 4, которые прекрасно выполняют основные функции. Версия 3 поддержи вает резервное копирование серверов DHCP, а версия 4 — протокол IPv6. Сервер, кли ент и агента ретрансляции (agent relay) можно загрузить с веб-сайта ics.org.
Все основные дистрибутивы системы Linux используют ту или иную версию пакета ISC, хотя его серверную часть, возможно, придется устанавливать явно. В системе Red Hat эта серверная часть называется dhcp, в системе Ubuntu — dhcp3-server, а в системе SUSE — dhcp-server.
Другие системы часто имеют собственные реализации протокола DHCP. К сожале нию, к этой категории относятся и все экземпляры системы UNIX.
Мы рекомендуем не вмешиваться в клиентскую часть протокола DHCP, поскольку эта часть кода относительно проста и поставляется заранее сконфигурированной и готовой к использованию. Изменение клиентской части протокола DHCP — непростая задача.
Однако если вам необходимо запустить DHCP-сервер, мы рекомендуем использовать пакет ISC, а не пакеты конкретных поставщиков. В обычной гетерогенной среде проце дура администрирования сильно упростится, если будет применяться единая стандарт ная реализация протокола DHCP. Пакет ISC — это надежное, открытое решение, без проблем инсталлируемое в большинстве систем UNIX.
518 Часть II. Работа в сети
В следующих подразделах мы вкратце рассмотрим особенности протокола DHCP, инсталляцию сервера ISC, реализующего этот протокол, а также конфигурирование DHCP-клиентов.
Схема работы DHCP
Протокол DHCP — это расширение протокола ВООТР, который был придуман для того, чтобы бездисковые UNEX-станции могли загружаться по сети. Протокол DHCP не ограничивается этими параметрами, вводя понятие “аренды”.
DHCP-клиент начинает диалог с DHCP-сервером, посылая широковещательное со общение вида “помогите мне узнать, кто я”15. Если в локальной сети есть DHCP-сервер, он договаривается с клиентом об аренде IP-адреса и других сетевых параметров (сетевая маска, адреса сервера имен и стандартного шлюза). Если же такого сервера нет, то серверы других подсетей могут получить первоначальное широковещательное сообщение через осо бую часть программного обеспечения DHCP, которая называется агентом ретрансляции.
По истечении половины срока аренды клиент должен ее продлить. Сервер обязан отслеживать адреса, предоставленные в аренду, и сохранять эту информацию при пе резагрузке. Предполагается, что клиенты делают то же самое, хотя это не обязательно. Благодаря этому достигается максимальная стабилизация сетевой конфигурации. Тео ретически, все программное обеспечение должно быть готово к мгновенному измене нию сетевой конфигурации, но большая часть программного обеспечения по-прежнему необоснованно допускает, что сеть остается неизменной.