Для сетевого управления (мониторинга, наблюдения) имеется, как известно, целый ряд коммерческих продуктов, но сообщество разработчиков открытого кода также предлагает почти необозримое число соответствующих программных пакетов.

Идет ли речь о мониторинге активных каналов в сети или о мониторинге в целом — сетевые администраторы могут воспользоваться инструментами с открытым кодом. Одно из преимуществ этой альтернативы по сравнению с коммерческими продуктами заключается в более быстром совершенствовании и дальнейшем развитии инструментов благодаря совместным усилиям множества программистов.

В статье представлена палитра важнейших бесплатно доступных сетевых инструментов с открытыми кодами, которые способны работать под управлением как Linux, так и прочих операционных систем (см. также Таблицу 1).

Таблица 1. Преимущество продуктов с открытыми источниками — быстрая загрузка из Web.

NAGIOS

Самая, возможно, известная и наиболее часто применяемая программа для мониторинга называется Nagios. Пакет с открытым исходным кодом предназначен для получения наглядного представления о состоянии сети, в том числе и в крупных инсталляциях. Программное обеспечение состоит из демонов и подключаемых модулей мониторинга и по своему функциональному охвату может соперничать с коммерческими продуктами. Этот инструмент помогает сетевым администраторам следить за состоянием хостовых систем, маршрутизаторов и прочих сетевых узлов, а также проверять наличие сетевых служб — POP, SMTP и HTTP.

Инструмент от Этана Галстада появился около двух лет назад. Как и его предшественник Netsaint, он обладает открытой архитектурой, однако содержит дополнительные функции, а конфигурация посредством готовых шаблонов стала проще. Программное обеспечение работает под управлением Linux, а также на любой другой платформе UNIX.

При помощи подключаемых модулей центральный процесс собирает информацию о различных системных параметрах, в том числе о метриках производительности, средней нагрузке на процессор и загрузке памяти, о доступности служб и сетей. Эти данные фиксируются в системном журнале. Такая архитектура позволяет проводить мониторинг множества устройств, а с недавнего времени — нагревательных и охлаждающих элементов. Кроме того, подключаемые модули облегчают интеграцию ПО в прочие, уже используемые программы, к примеру Multi Router Traffic Grapher (MRTG).

Интерфейс Web, используя сценарии, обращается к системным журналам и представляет информацию на автоматически создаваемых страницах в браузере в наглядном виде. Так называемый «тактический обзор» отображает все данные о текущем статусе сети (см. Рисунок 1). Каждый индикатор проблемы содержит ссылку на страницу с подробной информацией.

Рисунок 1. В первую очередь Nagios отображает статус всех подконтрольных узлов.

Дополнительно администратор определяет для каждого хоста, какое событие заслуживает внимания (к примеру, слишком высокая нагрузка) и какая реакция должна последовать. Кроме того, в случае возникновения проблемы процесс может отправлять сообщение ответственному сотруднику по электронной почте с помощью службы немедленного обмена сообщениями или в виде SMS. Возможна также установка обработчика событий — программы, которая запускается при появлении ошибок. Если, к примеру, Nagios устанавливает, что сервер Web больше не доступен, то инструмент может самостоятельно запустить его.

ETHEREAL

Несколько иной взгляд на сеть предлагает появившаяся в 1997 г. аналитическая программа Ethereal. Анализатор с открытым кодом версии 0.10.7 помогает администратору исследовать содержимое пакетов в его сети. Инструмент предоставляется на условиях лицензии для некоммерческого использования (General Public License, GPL), работает более чем на 20 платформах — на базе как Linux, так и UNIX — и на данный момент поддерживает 480 протоколов. Наряду с трафиком Ethernet программа среди прочего в состоянии перехватывать данные из Token Ring, последовательных (PPP и SLIP) и беспроводных (WLAN 802.11) соединений, а также соединений FDDI и ATМ, причем от всех сетевых устройств одновременно (но последняя функция работает только под Linux).

Ethereal обычно считывает пакеты из файлов сбора данных, расшифровывает их и представляет подробную информацию о его содержимом в понятном формате в графическом интерфейсе (см. Рисунок 2). Инструмент использует библиотеку libpcap в качестве формата сбора данных и поэтому может читать соответствующие файлы различных программ — tcpdump, snoop от Sun, Network Monitor от Microsoft, LANalyzer от Novell, nttl для HP UX и многих других.

Рисунок 2. В разделенном на три поля окне Ethereal представляет содержимое файлов сбора данных, подробную информацию о выбранных пакетах и распечатку протокольных частей в формате ASCII или шестнадцатеричной кодировке.

Главное преимущество продукта заключается в его способности сбора и анализа сетевого трафика в рамках одного приложения, причем в исключительно удобном представлении. Окно состоит из трех частей: в верхнем поле отображаются расшифрованные пакеты, в среднем — подробная информация о выбранном пакете и, наконец, в нижнем — вывод выбранных частей протокола в формате ASCII или шестнадцатеричном коде. Эти представления облегчают понимание различных сетевых протоколов, а также привлекают внимание к опасности использования протоколов, пересылающих данные в незашифрованном виде. (По этой причине инструмент пригоден для обучения неопытных администраторов.)

Файл сбора данных в случае крупных сетей может содержать тысячи пакетов, и администратору придется потратить немало сил на поиск тех из них, которые желательно проанализировать. Для облегчения этой задачи Ethereal предлагает фильтр перехвата и фильтр отображения. Первый позволяет выбрать тип сетевого трафика, который инструмент должен собирать. Применяемый синтаксис соответствует синтаксису tcpdump из библиотеки libpcap. Tcpdump распечатывает заголовки пакетов, перехваченные программой на сетевом интерфейсе.

Фильтры отображения служат для компактного представления перехваченного сетевого трафика. К их функциям относятся удаление ненужных пакетов, ограничение числа протокольных полей и, наконец, упрощение интерпретации вывода при помощи цвета.

Вместо работы с графическим интерфейсом, администратор может воспользоваться командной строкой. Инструмент распечатывает сводку проанализированных пакетов — по аналогии с верхним полем в варианте с графическим интерфейсом. При помощи опции -V инструмент отображает содержимое среднего поля, а при указании -х — распечатывает нижнее поле. Протокольный анализатор включает также прочие программы обработки файлов сбора данных. К ним относятся Editcap — программа для удаления пакетов из файла и преобразования формата файлов сбора. Она читает все типы форматов и производит запись в форматах libpcap snoop от Sun, Lanalyzer от Novell, Sniffer от NAI, Network Monitor от Microsoft и др. У пользователя есть возможность выбора преобразуемых пакетов. Посредством Mergecap администратор может поместить несколько сохраненных файлов сбора в единственный выходной файл и упорядочит в пакеты по времени. Наконец, Text2pcap считывает ASCII или шестнадцатеричный дамп сбора и записывает данные в файл libpcap. Программа в состоянии воспринять шестнадцатеричный дамп со множеством пакетов и составить из них файл сбора. Она способна читать шестнадцатеричный дамп, где содержатся данные исключительно прикладного уровня.

Простой инструмент netstat проверяет все активные соединения TCP, UDP и IP, воспроизводит таблицы маршрутизации, а также детальную статистику данных TCP/IP. Он имеет множество опций, позволяющих запрашивать различную информацию. Опции -а и -р распечатывают все открытые соединения или порты в системе и указывают, какие программы могут их использовать. Для ускорения работы программы при помощи опции -n можно запретить разрешение IP-адресов в символические.

Список результатов бывает достаточно длинным, однако он не полон, поскольку соединения, замаскированные при помощи iptable, netstat не видны. В этом случае может помочь Conntrack Viewer Патрика Легасе. Предоставляемый в соответствии с лицензией GPL сценарий Perl берет необходимую информацию из /proc/net/ip_conntrack. После чего пользователь получает полный список соединений. Если он задает опцию -m, то выводятся лишь замаскированные соединения. Графическое представление активных соединений таблицы маршрутизации и прочие данные предлагает Nnetstat Александра Нептуна. Сценарий Perl в текущей версии 0.1 обеспечивает, по сути, такую же функциональность, что и netstat.

PKTSTAT

Большинство инструментов для мониторинга отображает лишь активные соединения, а не приложения, к которым они относятся. Это позволяет выяснить pktstat — программа на базе библиотеки Ncurses (New curses, свободная программная эмуляция). Программа показывает, какую долю пропускной способности занимает каждое соединение. Кроме того, она вычисляет среднее значение нагрузки. Однако вместо очереди процессов монитор следит за скоростью передачи данных. Особенность инструмента в том, что он частично декодирует HTTP и FTP, чтобы установить имена передаваемых файлов или приложений Х11, относящихся к пакетам в сети. Если же администратор всего лишь хочет знать, где и что происходит в сети, то в этом случае рекомендуется использовать IPTraf. Консольное приложение также базируется на Ncurses и собирает информацию о трафике IP, количестве байтов и пакетов (включая отличные от IP пакеты), входящем и исходящем трафике UDP и многом другом. Модуль локальной сети проверяет состояние активных хостов и отображает их активность. При помощи фильтра отображения можно ограничивать представление определенными типами сетевого трафика.

Распространяемый в соответствии с лицензией GPL инструмент MRTG Тобиаса Отикера предоставляет информацию о нагрузке сети. Программа опрашивает коммутаторы и маршрутизаторы и на основании полученных данных строит наглядные графики, представляя их в виде страницы Web. Кроме того, посредством SNMP программное обеспечение запрашивает у интерфейсов сообщения об ошибках и контролирует нагрузку на жесткий диск. Для каждого наблюдаемого устройства MRTG необходим конфигурационный файл. Стоит, однако, учитывать, что сохраненные данные пригодны в дальнейшем лишь для ограниченного использования, поскольку графики строятся по средним значениям.

В условиях многообразия имеющихся программ с открытым кодом представленный обзор не может претендовать на полноту и носит ознакомительный характер.

Сюзанна Франке — независимая журналистка. С ней можно связаться по адресу: mw@lanline.awi.de.


? AWi Verlag