Получить доступ

Сервис A не может подключиться к сервису B. Как вы будете искать причину?

MiddleСети и прокси
Ещё спрашивают так:
  • Какими утилитами проверить сеть?
  • Connection refused или timeout — в чём разница?
Коротко

Идти по уровням снизу вверх: DNS (dig b.internal — резолвится ли и в тот ли адрес) → маршрут и доступность (ping, traceroute/mtr) → порт (nc -zv host 8080) → TLS (openssl s_client) → HTTP (curl -v). Характер ошибки подсказывает уровень: connection refused — хост доступен, но порт никто не слушает; timeout — пакеты теряются, чаще всего файрвол или маршрутизация.

  • На стороне B: ss -tlnp — слушает ли сервис и на каком адресе (127.0.0.1 или 0.0.0.0)
  • ping может быть запрещён, а TCP работать — не делать выводов по одному ping
  • tcpdump — последний аргумент: видно, доходят ли пакеты

А ещё В Kubernetes: Service, метки, Endpoints, NetworkPolicy, DNS внутри пода

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Команды по шагам:

dig +short b.internal                  # DNS
nc -zv b.internal 8080                 # TCP-порт
curl -v --max-time 5 http://b.internal:8080/health
openssl s_client -connect b.internal:443 -servername b.internal
ss -tlnp | grep 8080                   # на хосте B: кто слушает
sudo tcpdump -i any port 8080 -nn      # доходят ли пакеты

Разбор симптомов:

симптомвероятная причина
не резолвится имяDNS, опечатка, search-домены
connection refusedпроцесс не запущен, слушает не тот интерфейс
timeoutфайрвол, security group, маршрутизация
TLS-ошибкаистёк сертификат, нет SNI, не доверен CA
4xx/5xxсоединение есть, проблема в приложении или прокси

Что ещё проверить: прокси-переменные окружения (HTTP_PROXY), кэш DNS в приложении, MTU в туннелях и VPN (большие пакеты теряются, мелкие проходят), исчерпание исходящих портов или пула соединений.

Что хотят услышать

  • Последовательный разбор по уровням.
  • Различие refused и timeout.
  • Конкретные утилиты и что они показывают.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем