Сетевая ошибка в приложении YouTube при нахождении внутри домашней сети

Сетевая ошибка в приложении YouTube при нахождении внутри домашней сети

Уже довольно давно я сталкиваюсь с раздражающей проблемой, связанной с приложением YouTube, когда нахожусь в домашней сети. Приложение часто выдает сообщение «проверьте подключение к сети», когда я его открываю, в то время как остальной интернет работает нормально. Странно, но это происходит ТОЛЬКО с приложением YouTube на моем телефоне Android и iPhone моей жены. В то же время доступ через веб-сайт YouTube работает безупречно (с обоих телефонов), то же самое касается доступа с моего ПК или ноутбука и для остального интернета. Это на самом деле просто YouTube через приложение.

Я разместил свою проблему здесь на serverfault, поскольку я твердо уверен, что это как-то связано с DNS-сервером bind9, который я установил несколько месяцев назад на своем Banana Pi. Я просто настроил его, чтобы удобно разрешать имена хостов в моей локальной сети. Так что DNS просто настроен как пересылающий DNS, который пересылает все имена хостов, которые он не может разрешить сам, на серверы Google 8.8.8.8 и 8.8.4.4.

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

Я пробовал устанавливать несколько опций в конфигурации DNS туда и обратно, но безрезультатно. Когда я настраиваю маршрутизатор на отправку 8.8.8.8 в качестве DNS-сервера через DHCP, приложение работает на моем телефоне, и все в порядке. Когда я меняю его обратно на отправку моего локального DNS, приложение дает сбой. Пожалуйста, имейте в виду: ВСЕ другие веб-сайты и даже службы Google продолжают работать.

Вот моя конфигурация bind9, если это как-то поможет:

options {
  directory "/var/cache/bind";

  // If there is a firewall between you and nameservers you want
  // to talk to, you may need to fix the firewall to allow multiple
  // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

  // If your ISP provided one or more IP addresses for stable
  // nameservers, you probably want to use them as forwarders.
  // Uncomment the following block, and insert the addresses replacing
  // the all-0's placeholder.

  forwarders {
    8.8.8.8;
    8.8.4.4;
  };
  forward first;

  //========================================================================
  // If BIND logs error messages about the root key being expired,
  // you will need to update your keys.  See https://www.isc.org/bind-keys
  //========================================================================
  dnssec-validation auto;

  auth-nxdomain no;    # conform to RFC1035
  listen-on-v6 { any; };
  query-source address * port 53;
  query-source-v6 address * port 53;

  allow-query { any; };
  allow-query-cache { any; };
  allow-recursion { any; };

  response-policy { zone "overrides"; };
  cleaning-interval 60;
};

Может ли кто-нибудь помочь мне с этим и подсказать, где мне следует провести дальнейшее исследование? Могут ли быть задействованы какие-то другие порты, только при использовании приложения YouTube, или некоторые службы, которые Google блокирует? Или это просто мой DNS настроен правильно для 99,999% веба, и YouTube нуждается в дополнительной обработке?

Пожалуйста, помогите. Любой совет будет высоко оценен!

РЕДАКТИРОВАТЬ: Забыл упомянуть, что недавно заметил, что не могу зайти www.googleapis.comи со смартфона. Имя хоста просто не разрешается в браузере (Chrome), простой ping или nslookup тоже не работают. На моем ПК или ноутбуке все снова в порядке. Я понял это, потому что использую плагин YouTube на своем медиацентре (Kodi), который тоже сломался и жалуется host or service unknownпри попытке доступа к www.googleapis.com.

Может ли быть какая-то корреляция? Надеюсь, это поможет сузить круг вопросов.

ПРАВКА 2: С момента изменениявпередвариант в привязке от

forward first;

к

forward only;

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

решение1

Примечание: Согласно комментариям автора, использование , forward onlyа не , forward firstпохоже, решило эту проблему.


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

Лично я бы посоветовал сначала попробовать переадресаторы, отличные от Google -- мне не повезло с ними в BIND. Когда я использовал переадресаторы, я всегда возвращался либо к серверам своего интернет-провайдера, либодругие публичные DNS-опции.

Если смена серверов пересылки не помогает, можно рассмотреть другой вариант — самостоятельно решить проблему, добавив зону корневых ссылок, например:

zone "." {
     type hint;
     file "named.root";
};

Вы бы добавили этопослеваш optionsблок. С помощью такой настройки вы можете закомментировать пересылку и обойти любые задержки или проблемы с разрешением, которые они могут вызывать.

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

Что касается конкретных деталей настройки второго варианта, то в сети должно быть много руководств, но вот основные моменты:

  • Вам нужно будет взять копиюименованный.кореньфайл подсказок (или какая-то его вариация) черезftp.internic.net.

  • Вам нужно будет установить allow-recursionзапись, например, так localnets:

  • Возможно, вам придется провести небольшое исследование, чтобы найти правильное местоположение для named.root, поскольку его размещение может различаться в зависимости от дистрибутива.

Связанный контент