Общий доступ в интернет. Поиск и устранение неисправностей.

  • Автор:
nat-proxy-troubleshoot-000.jpg
Очень часто наши читатели задают нам вопросы связанные с теми или иными неисправностями службы общего доступа в интернет. В какой-то момент количество подобных вопросов и частота их повторения стали явно указывать нам на необходимость подобной статьи. В данном материале мы постарались рассмотреть основные неисправности и дать рекомендации по их выявлению и устранению.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

У начинающего администратора неисправности службы общего доступа в интернет способны вызвать нешуточные проблемы. С одной стороны пользователи и руководство, требующие как можно быстрее восстановить работу, с другой стороны провайдер, как всегда утверждающий что у него все в полном порядке. Что делать? Куда смотреть? Спокойно, без паники, после прочтения данного материала подобных вопросов возникать не должно. Ниже мы разберем из каких частей состоит служба общего доступа в интернет и каким образом каждая из них влияет на общую работоспособность.

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

В минимальной конфигурации любая служба общего доступа в интернет состоит из двух частей: службы трансляции сетевых адресов - NAT, позволяющей всей внутренней сети выходить в интернет через один внешний адрес и службы DNS, которая преобразует запросы пользователей в понятные системе IP-адреса. В дополнение к этому для протокола HTTP (на который приходится основная часть интернет трафика) используются прокси-сервера, которые позволяют не только уменьшить нагрузку на канал за счет кэширования, но и осуществлять различного рода фильтрацию запросов, ограничение скорости и т.д. и т.п.

Прокси-сервера могут работать в двух режимах: прозрачного прокси, когда клиентское приложение не догадывается о его наличии и перенаправление трафика на прокси осуществляется средствами роутера и когда прокси указывается явно в настройках соответствующих программ.

Перед тем как рассматривать конкретные схемы реализации службы общего доступа, разберемся как именно работает клиентское приложение при доступе к тем или иным ресурсам сети интернет. Допустим пользователь хочет получить доступ к ресурсу site.ru, каким образом браузер может определить куда посылать запрос? На помощь приходит служба DNS, которая сообщит нам, что имени site.ru соответствует адрес 111.222.333.444, после чего браузер посылает запрос к данному адресу, который будет направлен шлюзу сети, так как адрес ей не принадлежит. В свою очередь шлюз передаст запрос службе NAT, которая уже от своего имени, пометив в своей таблице адрес источника, пошлет его по назначению и получив ответ, по данным своей таблицы, передаст его запрашивавшему узлу. В итоге пользователь увидит в своем браузере содержимое запрашиваемой страницы.

На схеме ниже, мы схематически показали взаимодействие различных узлов службы общего доступа с клиентскими приложениями. Серым цветом отмечены DNS-запросы, синим HTTP, зеленым прочие протоколы.

nat-proxy-troubleshoot-001.jpg
В данном случае реализована схема с прозрачным прокси. Перед тем, как обратиться к какому либо узлу сети интернет, любое приложение посылает запрос DNS-серверу, который в ответ на доменное имя сообщает соответствующий ему IP-адрес. DNS-сервер может представлять собой как локальный сервер, так и кэширующий DNS или программную заглушку пересылающую DNS-запросы вышестоящему серверу. В любом случае DNS-сервер для разрешения имен интернет ресурсов обычно использует вышестоящие DNS-сервера: провайдера (ISP) или публичные службы, типа OpenDNS, Google DNS и т.п.

Теперь самое время спросить себя: а что будет если...

  • перестанет работать NAT?
  • перестанет работать прокси?
  • перестанет работать DNS?
Теперь посмотрим на схему с обычным прокси и зададим себе те же самые вопросы.

nat-proxy-troubleshoot-002.jpg
При всей схожести, эти схемы имеют одно большое различие: при явном указании прокси браузер не обращается к локальному DNS для разрешения имени, это за него сделает прокси-сервер, обратившись напрямую к серверу провайдера, и, при отказе локального DNS, интернет через браузер продолжит работать, в то время как все остальные службы получить доступ к глобальной сети не смогут. В случае с прозрачным прокси все сетевые службы будут зависеть от локального DNS.

Однако вопрос "что делать" остается на повестке дня. Для его успешного разрешения мы составили небольшую карту.

nat-proxy-troubleshoot-003.jpg
Прежде всего нужно определить, что скрывается под диагнозом "нет интернета". Сразу оговоримся, что не будем рассматривать тот случай, когда интернета нет на одном, отдельно взятом, компьютере. Причин здесь может быть великое множество и большинство из них к службе общего доступа отношение не имеют, хотя то, о чем мы будем говорить ниже можно и нужно применять для диагностики и в этом случае.

Если доступ к сети не может получить ни одно приложение следует последовательно проверить:

  • Линк (наличие сигнала) на сетевой карте.
  • Настройки сети, если они задаются вручную, то проверьте их правильность, если в сети работает DHCP-сервер проверьте корректность получаемых клиентом настроек.
  • Работоспособность сетевого оборудования, не редки случаи когда оказывается выдернут кабель или питание у промежуточного коммутатора.
  • Работоспособность роутера в целом, исправность его внешнего и внутреннего интерфейсов.
  • Наличие интернета на роутере, возможно проблемы не у вас, а у провайдера.
  • Вы будете смеяться, но иногда очень много времени тратилось на выявление неполадок, в то время как причиной отсутствия интернета был всего лишь отрицательный баланс у провайдера.
Выполнение этих шагов очень важно, так как позволяет сразу проверить и отсечь возможный круг аппаратных и прочих (организационных, финансовых) проблем и перейти непосредственно к проверке сетевых служб.

В первую очередь следует проверить NAT, для этого следует последовательно пропинговать внутренний и внешний интерфейсы роутера, затем любой хост во внешней сети, например 8.8.8.8 (DNS Google). Для примера возьмем адреса внутреннего и внешнего интерфейсов роутера как 10.0.0.1 и XXX.XXX.XXX.XXX, в этом случае первой командой будет:

ping 10.0.0.1
Отсутствие пинга будет указывать на то, что внутренний интерфейс вашего роутера недоступен, в этом случае еще раз проверьте исправность сетевого оборудования, кабельных трасс, сетевой карты роутера, настройки брандмауэра и сетевого интерфейса.

При успешном прохождении пинга переходим к следующему шагу, вводим:

ping XXX.XXX.XXX.XXX
Если NAT работает нормально, то вы должны получить ответ от внешнего интерфейса, в противном случае проверяйте настройки NAT и исправность сетевой карты смотрящей во внешнюю сеть.

Получив ответ от внешнего интерфейса роутера попробуйте обратиться к любому узлу в глобальной сети:

ping 8.8.8.8
Если ответ получен, то все нормально, в противном случае проблема на стороне провайдера и стоит начинать звонить в поддержку, аргументированно указав им, что проблема на их стороне. Как правило вам нужно прорваться через первое звено - оператора, который согласно имеющихся инструкций будет просить вас перезагрузить компьютер, проверить логин и пароль и еще много глупых и не нужных в данной ситуации вещей. Вам следует твердо, но вежливо, пояснить, что вы обладаете нужными знаниями для первичной диагностики и просить соединить вас с техническим специалистом.

Прежде чем звонить в поддержку, проверьте еще один момент. Если доступ в интернет осуществляется посредством ADSL, радиодоступа и т.п. способом (проще говоря если кабель провайдера не вставлен напрямую в вашу сетевую карту), то проверьте состояние промежуточного оборудования. Это поможет избежать глупых ситуаций, когда окажется что вышел из строя или был обесточен ADSL-модем или аналогичное оборудование.

Убедившись, что NAT работает нормально, следует перейти к диагностике службы DNS. Как показывает практика, большинство неполадок связаны именно с ошибками в работе данной службы. Прежде всего поверим, как и каким сервером производится разрешение имен. Наберем следующую команду:

nslookup ya.ru
В качестве ответа вы должны получить список IP-адресов для данного хоста.

nat-proxy-troubleshoot-004.jpg
В противном случае налицо неполадки в службе DNS и теперь нужно их локализовать. Сложность заключается в том, что неисправен может быть как локальный, так и вышестоящий DNS сервер, к которому происходит обращение за разрешением имен, записи о которых отсутствуют в кэше. Косвенным признаком, указывающим на это, может быть ситуация, когда открываются только некоторые, часто посещаемые сайты. Чтобы развеять сомнения попробуем разрешить имя через сервер провайдера:

nslookup ya.ru YYY.YYY.YYY.YYY
где YYY.YYY.YYY.YYY - адрес DNS-сервера провайдера. Для контроля можете использовать публичные DNS-сервера, например OpenDNS:

nslookup ya.ru 208.67.222.222
Если публичный сервер и сервер провайдера выдают правильный ответ, то проблему стоит искать в локальном DNS, в качестве временной меры можно прописать на клиентах публичный DNS или DNS провайдера. В случае когда получен ответ от публичного сервера, а локальный и провайдерский не могут разрешить имя, проблема явно на стороне провайдера, в этом случае можно посоветовать отказаться от использования DNS-серверов провайдера, заменив их публичными серверами.

Теперь рассмотрим некоторые частные случаи, например когда не работает интернет через браузер, однако другие службы без проблем получают доступ к сети. Это явно указывает на наличие прокси-сервера и проблемы с ним. Лучшим способом диагностики является попытка выйти в интернет минуя прокси, для этого нужно убрать настройку отвечающую за прозрачное проксирование или убрать указание прокси в браузере. Если вы используете какую либо фильтрацию, то проверьте, не являются ли ваши проблемы результатом некорректной работы фильтров.

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

Другой частный случай - интернет в браузере есть, остальные службы доступ получить не могут. Это обычно указывает на неисправность NAT (HTTP идет через прокси), а также, в случае непрозрачного прокси, на проблемы с локальным DNS. Также будет не лишним проверить доступность неработающих служб, зачастую пользователь может говорить о неработающем интернете всего лишь на основании недоступного сервиса публичной почты или службы обмена сообщениями (самое время вспомнить про обновления ICQ и альтернативные клиенты).

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments