1.21 Диагностика сетей
Число компьютерных сетей увеличивается лавинообразно, растет число больших (>10 ПК) и многопротокольных сетей (802.11, 802.16, 802.17 и т.д.). По мере увеличения сети усложняется ее обслуживаниеи диагностика, с чем сталкивается администратор при первом же отказе. Наиболее сложно диагностировать многосегментные сети, где ПК разбросаны по большому числу помещений, далеко отстоящих друг от друга. По этой причине сетевой администратор должен начинать изучать особенности своей сети уже на фазе ее формирования и готовить себя и сеть к будущему ремонту.
При возникновении нештатной ситуации администратор должен суметь ответить на ряд вопросов:
- связана проблема с оборудованием или программным обеспечением;
- отказ вызван повреждением программы, неверным выбором конфигурации или ошибочными действиями оператора.
Сетевая диагностика – это получение и обработка информации о состоянии сети.
Документирование сети
Начинать надо с исчерпывающего документирования аппаратной и программной части сети. Администратор всегда должен иметь под рукой схему сети, отвечающую реальному положению на текущий момент, и подробное описание конфигурации программного обеспечения с указанием всех параметров (физические и IP-адреса всех интерфейсов, маски, имена ПК, маршрутизаторов, значения MTU, MSS, TTL и других системных переменных, типовые значения RTT и других параметров сети, измеренных в разных режимах.).
В пределах локальной сети поиск неисправности возможен с помощью временного деления ее на части. По мере интеграции сети в Интернет такие простые меры становятся недостаточными или недопустимыми. Но не следует пренебрегать такими простыми средствами, как проверка отсутствия обрыва или закоротки сетевого кабеля.
Следует помнить, что сетевая диагностика является основой сетевой безопасности. Только администратор, знающий все о том, что происходит в сети, может быть уверен в ее безопасности.
В лекции будет предполагаться, что сеть на физическом уровне использует стандарт Ethernet, а для межсетевой связи протокол TCP/IP (Интернет). Этим перечнем разнообразие сетевых сред не исчерпывается, но многие приемы и программные диагностические средства с успехом могут использоваться и в других случаях. Большинство из рассматриваемых программ работают в среде UNIX, но существуют их аналоги и для других ОС.
Источником диагностической информации может быть компьютер, его процессор, сетевой интерфейс, операционная система, установленная на машине, сетевые перключатели, маршрутизаторы и т.д.
При переходе на стандарты передачи 1 и тем более 10Гбит/с возникают дополнительные проблемы. Обработка таких потоков с целью диагностики может существенно замедлить работу машины. Аналогичные проблемы возникают при построении IPS/IDS-систем, а также антивирусных программ. Впрочем эта проблема становится тяжелой также из-за фантастического роста числа сигнатур (миллионы) атак и вирусов. Одним из способов решения задачи является привлечение аппаратных средств, а также организация нескольких потоков обработки, что достаточно реально для машин с несколькими процессорами.
Программные средства диагностики
В Интернет имеется немало общедоступных специализированных диагностических программных продуктов: Etherfind, Tcpdump, netwatch, snmpman, netguard, ws_watch.
Такие средства входят также и в комплекты поставки большинства стандартных сетевых пакетов для ОС UNIX, Windows и других: ping, tracetoute, netstat, arp, snmpi, dig (venera.isi.edu /pub), hosts, nslookup, ifconfig, ripquery. Перечисленные выше диагностические программы являются необходимым инструментом для отладки программ, передающих и принимающих пакеты.
Диагностические команды ОС
Название команды | Назначение |
arp | Отображает или модифицирует таблицу протокола ARP (преобразование IP в MAC-адреса) |
chnamsv | Служит для изменения конфигурации службы имен на ПК (для TCP/IP) |
chprtsv | Изменяет конфигурацию службы печати на ПК-клиенте или сервере |
gettable | Получает таблицы ПК в формате NIC |
hostent | Непосредственно манипулирует записями адресного соответствия ПК в конфигурационной базе данных системы |
hostid | Устанавливает или отображает идентификатор данной ПК |
hostname | Устанавливает или отображает имя данной ПК |
htable | Преобразует файлы ПК в формат, используемый программами сетевой библиотеки |
ifconfig | Конфигурирует или отображает параметры сетевых интерфейсов ПК (для протоколов TCP/IP) |
ipreport | Генерирует сообщение о маршруте пакета на основе специфицированного маршрутного файла |
iptrace | Обеспечивает отслеживание маршрута движения пакетов на интерфейсном уровне для протоколов Интернет |
lsnamsv | Отображает информацию базы данных DNS |
lsprtsv | Отображает информацию из базы данных сетевой службы печати |
mkhost | Создает файл таблицы ПК |
mknamsv | Конфигурирует службу имен клиент ПК (для TCP/IP) |
mktcpip | Устанавливает требуемые величины для запуска TCP/IP на ПК |
namerslv | Непосредственно манипулирует записями сервера имен для локальной программы DNS в базе данных конфигурирования системы |
netstat | Отображает состояние сети |
rmnamsv | Удаляет TCP/IP службу имен из ПК |
rmprtsv | Удаляет службу печати на машине клиента или сервере |
route
| Служит для ручного манипулирования маршрутными таблицами |
ruptime | Отображает состояние каждой ПК в сети |
ruser | Непосредственно манипулирует записями в трех отдельных системных базах данных, которые регулируют доступом внешних ПК к программам |
securetcpip | Активизирует сетевую безопасность |
setclock | Устанавливает время и дату для ПК в сети |
slattach | Подключает последовательные каналы в качестве сетевых интерфейсов |
timedc | Присылает информацию о демоне timed |
Для того чтобы диагностировать ситуацию в сети, необходимо представлять себе взаимодействие различных ее частей в рамках протоколов TCP/IP и иметь некоторое представление о работе Ethernet .
Сети, следующие рекомендациям Интернет, имеют локальный сервер имен (DNS, RFC-1912, -1886, -1713, -1706, -1611-12, -1536-37, -1183, -1101, -1034-35; цифры, напечатанные полужирным шрифтом, соответствуют кодам документов, содержащим описания стандартов), служащий для преобразования символьного имени сетевого объекта в его IP-адрес. Обычно эта машина базируется на ОС UNIX.
DNS-сервер обслуживает соответствующую базу данных, которая хранит много другой полезной информации. Многие ПК имеют SNMP-резиденты (RFC-1901-7, -1446-5, -1418-20, -1353, -1270, -1157, -1098), обслуживающие управляющую базу данных MIB (RFC-1792, -1748-49, -1743, -1697, -1573, -1565-66, -1513-14, -1230, -1227, -1212-13), содержимое которой поможет также узнать много интересного о состоянии вашей сети. Сама идеология Интернет предполагает богатую диагностику (протокол ICMP, RFC-1256, 1885, -1788, -792).
Использование протокола ICMP
Протокол ICMP используется в наиболее популярной диагностической программе ping (входит в поставку практически всех сетевых пакетов). Возможная форма вызова этой программы имеет вид:
ping <имя или адрес ПК или другого объекта> [размер пакета] [число посылок]
В различных реализациях программа ping имеет много различных опций, которые позволяют измерять статистические характеристики канала (например, потери), определение задержки в канале (RTT), отображение посылаемых пакетов и получаемых откликов, а также определение маршрута до интересующего объекта.
Ping используется для определения доступности сервис-провайдера и т.д.
Ниже приведен пример использования команды tracetoute, которая во многом эквивалентна ping (но базируется непосредственно на IP, используя соответствующие опции):
traceroute planbox.ru
Программа traceroute посылает по три пакета с нарастающими значениями TTL, если отклик на пакет не получен печатается символ *.
Для того чтобы правильно реагировать на нештатные ситуации, надо хорошо представлять себе, как сеть должна работать в нормальных условиях. Для этого надо изучить сеть, ее топологию, внешние связи, конфигурацию программного обеспечения центральных серверов и периферийных ПК.
Следует иметь в виду, что изменение конфигурации является обычно привилегией системного администратора и в любых сомнительных случаях нужно обращаться к нему. Неквалифицированные действия при реконфигурировании системы могут иметь катастрофические последствия.
Применение DNS для целей диагностики
Как уже отмечалось выше, одним из важнейших частей любого узла Интернет является сервер имен (DNS). Конфигурация DNS-сервера определяется тремя файлами: named.boot, named.ca и named.local. Зонная информация содержится в файле named.rev, а данные о локальном домене в файле named.hosts. Отладка, контроль и диагностика DNS-сервера осуществляется с использованием программ nslookup (или dig).
DNS-сервер весьма важный объект узла, от него зависит скорость обслуживания запросов и надежность системы в целом. Именно по этой причине помимо основного любой узел имеет несколько вторичных DNS-серверов.
Программа ifconfig служит для контроля состояния сетевых интерфейсов, их конфигурирования и проверки. С помощью этой команды интерфейсу присваивается IP-адрес, субсетевая маска и широковещательный адрес.
Применение NETSTAT
Одной из наиболее информативных команд является netstat (за исчерпы-вающим описанием опций и методов применения отсылаю к документации на ваше сетевое программное обеспечение).
Эта команда может вам дать информацию о состоянии интерфейсов на ПК, где она исполнена: netstat -i
В последнее время появилось несколько комплексных (общедоступных) пакетов диагностики (NetWatch, WS_watch, SNMPMAN, Netguard и др.).
Некоторые из этих пакетов позволяют построить графическую модель тестируемой сети, выделяя цветом или с помощью вариации картинок работающие ЭВМ.
Программы, использующие протокол SNMP, проверяют наличие посредством специального запроса доступность SNMP-демона, с помощью ICMP-протокола определяют работоспособность ЭВМ, после чего отображают переменные и массивы данных из управляющей базы данных MIB (если эта база имеет уровень доступа public).
Это может делаться автоматически или по запросу оператора. SNMP-протокол позволяет мониторировать вариации загрузки отдельных сегментов сети пакетами UDP, TCP, ICMP и т.д., регистрируя количество ошибок по каждому из активных интерфейсов.
Для решения этой задачи можно использовать соответствующую программу, которая регулярно опрашивает MIB интересующих вас ЭВМ, а полученные числа заносятся в соответствующий банк данных.
При возникновении нештатной ситуации администратор сети может просмотреть вариации потоков в сегментах сети и выявить время и причину сбоя в системе. Аналогичные данные можно получить с помощью программы, переводящей интерфейс Ethernet в режим приема всех пакетов (mode=6). Такая программа допускает получение данных по всем типам пакетов, циркулирующих в данном кабельном сегменте.
Определенный интерес может представлять диагностическая программа ttcp, которая позволяет измерять некоторые характеристики TCP- или UDP-обменов между двумя узлами.
При переходе сетей в гигабитный диапазон скоростей, в частности на 10Гбит/с, возникают трудности мониторинга состояния сети.
Добавить комментарий