Поиск и устранение проблем с сетью
Время от времени системному администратору приходится сталкиваться с достаточно сложными проблемами в сетевом взаимодействии программно- го обеспечения. Однако часто проблемы при работе сети бывают вызваны несколькими причинами:
r неисправностью в работе сетевых кабелей или активного сетевого обору- дования;
r несоответствием или отсутствием драйвера сетевого адаптера;
r неверными настройками IP-адресов узлов сети;
r "засорением" кэша ARP;
r неверным указанием IP-адреса маршрутизатора по умолчанию;
r ошибочной установкой DNS-сервера или неверными записями в /etc/hosts;
r блокирующими настройками фильтра IP-пакетов.
Хорошим подходом к поиску аппаратных неисправностей является про- верка работоспособности сетевой инфраструктуры неработающего узла се- ти с помощью заведомо исправных сетевых кабелей и активного оборудо- вания.
Если сетевой адаптер стандарта PCI исправен, то информация о нем должна присутствовать в выводе команды /sbin/lspci (пример 20.18).
Пример 20.18. Проверка наличия сетевой платы |
$ /sbin/lspci | grep -i ether
01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (CNR)
Далее, используя команды ifconfig и netstat -rn, следует убедиться в пра- вильности настройки IP-адреса и адреса маршрутизатора по умолчанию.
Прохождение пакетов командой ping нужно производить в следующем по- рядке:
1. Проверить работоспособность сетевой инфраструктуры в ядре ping 127.0.0.1.
2. Проверить работоспособность сетевого адаптера с помощью команды
ping, которой указан IP-адрес, привязанный к данному адаптеру.
3. Проверить прохождение пакетов в пределах данной сети, послав коман- дой ping ICMP-пакеты любому узлу в данной сети или маршрутизатору.
4. Проверить прохождение пакетов к внешнему сетевому адаптеру маршру- тизатора.
5. Послать ICMP-пакеты по любому известному IP-адресу сети.
В качестве последней проверки можно протестировать работоспособность библиотеки resolver, выполнив ping с указанием имени компьютера в каче- стве аргумента.
Если команда ping с аргументом — IP-адресом узла назначения в этой же сети показывает, что ICMP-пакеты не проходят, но настройки адресов вер- ные, то, возможно, "засорен" кэш ARP (Address Resolution Protocol). Прове- рить содержимое кэша ARP можно с помощью команды arp –a.
Задача протокола ARP состоит в сопоставлении IP-адресов сетевых интерфей- сов их MAC-адресам, поэтому в информации, выводимой командой arp –a, должны содержаться правильные соответствия. В противном случае неверные записи должны быть стерты с помощью команды arp -d <имя узла>.
Невозможность приема и передачи ICMP-пакетов (как и других пакетов IP) может быть вызвана их блокированием на передающем и/или принимаю- щем узле. Рассмотрение фильтров IP выходит за рамки данной книги, но проверить отсутствие таких блокировок можно, используя команду iptables –L.
Если ICMP-пакеты, посланные командой ping, правильно пересылаются узлу назначения только в случае указания его с помощью IP-адреса, но это не про- исходит при указании имени узла, то resolver не работает. При этом сле- дует проверить правильность указания IP-адреса DNS-сервера в файле
/etc/resolv.conf и правильность соответствий IP-адресов в файле /etc/hosts.
Имеются специальные команды: host, dig и nslookup, позволяющие тести-
ровать правильность работы DNS. Подробно эти команды будут рассмотрены в главе 26, посвященной службе DNS, т. к. для проверки resolver вполне достаточно лишь одной из них — host.
При необходимости получения административной информации о каком-либо домене DNS можно использовать команду whois.
Дата добавления: 2015-06-12; просмотров: 872;