Начало работы с DNS? Начните с посещения GitHub

задняя часть GitHub DNS
Начало работы с DNS? Начните с посещения GitHub

предисловие

Все занимаются развитием, естьGitHubАккаунт GitHub обязательно столкнется с такой ситуацией в повседневном использовании.Без изменения какой-либо конфигурации иногда можно нормально зайти на GitHub, а иногда он не отвечает напрямую.Попробуем разобраться,почему.

Процедура Melaleuca для доступа к GitHub

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

😂😂😂

Хотя это очень остро, по крайней мере, это может показать часть этого.

Я перерыл кучу запутанных стратегий в Интернете, и я знаю, что вы можете модифицировать компьютерHostsК файлу можно получить доступ нормально, поэтому я его искал.

шаг:Байду опыт

Эффект следующий:

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

Инструменты для веб-мастеров PING PING PING

Все они занимаются разработкой, и они будут использовать F12, чтобы увидеть, что такое адрес сети или запрос ресурса.В качестве примера возьмем самый медленный адрес выше, доменное имя:github.githubassets.com

Откройте функцию PING инструмента для веб-мастеров, адрес: http://ping.chinaz.com/github.githubassets.com

Результат выглядит следующим образом:

я нашел185.199.108.154Этот IP-адрес является быстрой партией, поэтому я немедленно заменил его.HostsIP-адрес, соответствующий доменному имени в

Посетите еще раз, эффект следующий:

Что было сказано в этой фразе? Шелковистая, как что, я чувствую, что это очень шелковисто~ 🤪

Проект GitHub регулярно выпускает последние версии Hosts.

Конечно, если вам приходится бросать каждый раз, когда вы посещаете, это не будет слишком неудобно, поэтому некоторые люди имеют проекты с открытым исходным кодом в Интернете и регулярно выпускают последние обновления.GitHubIP-адрес, ссылка: https://github.com/521xueweihan/GitHub520

Хозяева на момент написания

# github
185.199.108.154               github.githubassets.com
199.232.68.133                camo.githubusercontent.com
52.168.24.190                 github.map.fastly.net
199.232.69.194                github.global.ssl.fastly.net
140.82.112.4                  github.com
140.82.112.5                  api.github.com
199.232.68.133                raw.githubusercontent.com
199.232.68.133                user-images.githubusercontent.com
199.232.68.133                favicons.githubusercontent.com
199.232.68.133                avatars5.githubusercontent.com
199.232.68.133                avatars4.githubusercontent.com
199.232.68.133                avatars3.githubusercontent.com
199.232.68.133                avatars2.githubusercontent.com
199.232.68.133                avatars1.githubusercontent.com
199.232.68.133                avatars0.githubusercontent.com

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

Конечно, вы также можете вручную изменить

Почему я могу получить доступ к GitHub после смены хостов?

Обычно это Baidu + Google, сегодня я должен изучить принцип! Давайте пошагово Прежде всего, всем нужно дать понять, что в онлайн-мире域名Просто уникальный адрес, который существует для легкого запоминания и идентификации, то, что действительно работает, все ещеIP

Для чего нужен файл hosts?

Проще говоря, файл Hosts — это файл, в котором хранится локальное доменное имя URL и соответствующий ему IP-адрес, и он играет роль на этапе сетевого запроса.

Почему смена хостов вступает в силу?

Это включает в себя разрешение доменного имени, поскольку файл Hosts хранит域名иIP, так что это может сыграть роль на этапе разрешения доменного имени, почему? Поскольку в процессе разрешения доменного имени本机HostsРазбор в порядке два

А именно: парсинг браузера ->本机解析-"XXXX (будет упомянуто позже)

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

Что, черт возьми, такое разрешение DNS?

много раз упоминалось выше解析, по факту,DNS解析

В то же время, как упоминалось выше, что действительно играет роль в онлайн-мире, так этоIP, и вообще посещаем域名, почему этот эффект может быть достигнут, так это потому, что соответствие между доменными именами и IP-адресами хранится в файле с именемDNS(Domain Name System)в системе. DNS — это глобальная распределенная база данных, служба, которую она предоставляет, заключается в преобразовании доменных имен в IP-адреса в Интернете.

Весь процесс разрешения DNS

В Интернете есть много схем этого процесса, и я позаимствовал одну из них, как показано ниже:

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

  2. Собственный системный кеш: как упоминалось выше, черезhostsфайл для сопоставления доменных имен и IP-адресов.В древние времена многие нежелательные программы незаметно изменяли файл hosts системы для достиженияDNS劫持Цель состоит в том, чтобы указать доменное имя Taobao другомуIP, а затем разверните торговый центр Taobao с высокой имитацией, тихо ожидающий, пока вы введете номер своей учетной записи, пароль, а затем крутите ...

  3. Локальная система службы разрешения доменных имен: Локальная система доменных имен (LDNS) обычно является сервером доменных имен в локальной области. Это относительно близко к вашему местоположению, система Windows использует командуipconfigВы можете просматривать в системах Linux и Mac напрямую использовать командуcat /etc/resolv.confдля просмотра адреса службы LDNS. LDNS обычно кэширует большую часть результатов разрешения доменных имен, и большая часть работы по разрешению почти завершена.

    Далее идет так называемый递归解析


  4. Разрешение корневого доменного имени: когда локальная система службы разрешения доменных имен не может разрешить13根Инициировать запрос на разрешение доменного имени

    Примечание. Так называемый корень 13 относится к корневому серверу доменных имен, который является необходимой инфраструктурой для построения Интернета. Корневой сервер в основном используется для управления основным каталогом Интернета.Поскольку протокол UDP используется в разрешении DNS, он может передавать только действительные пакеты размером 512 байт.Поэтому можно построить только 13 корневых серверов AM, и должно быть быть более 13 реальных рабочих операций сервера, но содержит много образов сервера

  5. Сервер разрешения имен корневого домена возвращаетgTLD (Generic top-level domain)На локальный сервер разрешения, то есть домен верхнего уровня, которому принадлежит доменное имя и его сервер, например: .com .cn и т.д.

  6. После того, как локальный сервер разрешения узнает адрес сервера доменных имен верхнего уровня, он инициирует запрос разрешения.

  7. Сервер разрешения доменных имен верхнего уровня возвращает权限域名服务器информация на локальный сервер синтаксического анализа,权限域名服务器Например: taobao.com

  8. После того, как локальный сервер разрешения узнает адрес авторитетного сервера доменных имен, он инициирует запрос разрешения.

  9. Авторитетный сервер доменных имен возвращает IP-адрес, соответствующий доменному имени, локальному серверу разрешения.

  10. Локальный сервер синтаксического анализа кэширует соответствующую информацию и возвращает ее пользователю.

Он немного круглый? Давайте возьмем всю картину,递归解析Следующее:

Спросите еще раз, почему вы можете получить доступ к GitHub, изменив хосты

Разобравшись с вышеизложенным, лучше ответить на этот вопрос, ведь GitHub — это все-таки иностранный сайт, и при посещении есть слойDNS污染, то есть соответствующее доменное имя указывает на недостижимый IP-адрес или IP-адрес, к которому запрещен доступ, поэтому его нельзя использовать во многих случаях.

После изменения файла Hosts можно избежать загрязнения DNS и получить прямой доступ к целевому IP.Конечно, является ли этот метод универсальным?

Ответ: Конечно, нет, потому что, как упоминалось ранее, уровень шлюза может контролировать определенные IP-адреса, чтобы запретить доступ.

Целый инструмент для проверки догадки, кстати, взгляните на весь наш процесс запроса:

Название программы: BestTrace

Доменное имя, которое я запрашиваю,github.githubassets.com, окончательный IP-адрес получателя запроса совпадает с IP-адресом, настроенным моими хостами, тогда я поменяю его на facebook.com

Видно, что когда запрос достигает IP 221.183.46.249, весь запрос перехватывается, так что это не панацея

Помимо доступа к GitHub, когда еще его можно использовать?

например скачатьIDEA插件Если вы обнаружите, что библиотека плагинов не может быть обновлена ​​или загрузка не удалась, вы можете использовать инструмент PING, чтобы настроить лучший IP-адрес для легкой загрузки ~

Что может DNS, кроме разрешения

Умный DNS

Сетевой запрос обрабатывается сервером разрешения доменных имен и назначается лучшему IP-адресу сервера.

Например: является ли источником запроса China Telecom или China Unicom и т. д. Если это China Telecom, то разрешенный IP-адрес будет распределен на соответствующий IP-адрес China Telecom, либо будет возвращен IP-адрес ближайшего сервера.

Горизонтальное масштабирование обратного прокси

В типичной архитектуре Интернета можно увеличитьweb-serverДля расширения производительности веб-слоя, но обратный прокси-сервер nginx по-прежнему является единственным входом во всю систему.

Если пропускная способность системы превышает предел производительности nginx, то расширяться будет сложно, и нужноdns-serverдля горизонтального расширения.

То есть сервер разрешения DNS упорядоченно разрешает доменные имена в разные уровни шлюза.Каждый раз, когда делается запрос на разрешение DNS, в результате опроса возвращается другой IP-адрес, так что может быть достигнуто горизонтальное расширение nginx.Этот метод называется ""Циклический перебор DNS"

Наконец

Использованная литература:

Анализ всего процесса разрешения DNS в Blog Park

Что еще может делать DNS, помимо разрешения доменных имен?

Если вы считаете, что это полезно для вас, не забудьте поставить лайк~ Вы также можете отсканировать QR-код, чтобы подписаться на меня и вместе продвигаться к вершине технических специалистов!

В этой статье используетсяmdniceнабор текста