Как настроить dns вместо использования hosts

Обновлено: 03.07.2024

DNS (система или служба доменных имен) - это иерархическая децентрализованная система / служба имен, которая переводит доменные имена в IP-адреса в Интернете или частной сети, а сервер, предоставляющий такую ​​службу, называется DNS-сервером.

Например, вы можете протестировать веб-сайт локально с собственным доменным именем перед тем, как сделать его общедоступным, изменив файл / etc / hosts в вашей локальной системе так, чтобы имя домена указывало на IP-адрес локального DNS-сервера, который вы настроили.

Файл / etc / hosts - это файл операционной системы, который преобразует имена хостов или доменов в IP-адреса. Это полезно для тестирования изменений веб-сайтов или конфигурации SSL до того, как сайт станет общедоступным.

Что такое файл / etc / hosts?

Это простой текстовый файл. Операционная система использует этот файл для сопоставления имени хоста с IP-адресом. Когда мы пытаемся получить доступ к хосту, используя имя хоста / домена, операционная система сначала проверяет, есть ли для него запись в файл hosts. Если он находит ассоциацию, он использует связанный IP-адрес для связи с хост-машиной. Вот пример того, как мы определяем записи в этой папке:

  • Расположение файла hosts в Windows:% SystemRoot% \ System32 \водитель\ etc \ host
  • Расположение файла Hosts в Linux: / etc / hosts
  • Давайте посмотрим, как мы можем использовать файл Hosts в сценарии балансировки нагрузки для доступа к веб-сайту с определенного сервера.

Редактирование файла Hosts в Windows 10

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


Чтобы отредактировать файл hosts в Windows 10, выполните следующие действия:

Добавить в список локальный список поиска очень просто. Просто запишите IP-адрес веб-сайта, поставьте пробел и затем адрес веб-сайта.

Не забудьте сохранить то, что вы добавили, при закрытии файла. Это все, что вам нужно сделать! Теперь ваш компьютер будет пропускать весь процесс поиска DNS при доступе к указанным вами веб-сайтам.

CCNA, веб-разработчик, ПК для устранения неполадок

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

Что такое DNS?

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

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

Зачем нужен собственный DNS?

Наличие собственного DNS-сервера позволяет централизовать настройки в одном месте вместо того, чтобы применять их индивидуально в / etc / hosts на каждом устройстве. Они будут применяться ко всему, что вы подключаетесь к своей сети, включая встроенное оборудование, которое не предоставляет другого способа настроить свой стек маршрутизации.

Собственный DNS-сервер также может повысить производительность и обеспечить дополнительный уровень устойчивости. Широкомасштабные сбои DNS не являются чем-то неслыханным; Использование настраиваемого сервера с долговечным кешем для критически важных служб, с которыми вы взаимодействуете, может помочь вам избежать простоев у выбранного вышестоящего провайдера.

DNS с Dnsmasq

Перед тем, как начать, стоит подумать о том, какие функции вам нужен ваш DNS-сервер. В этом руководстве мы рассмотрим настройку Dnsmasq с локальным кэшированием, некоторыми маршрутами пользовательских доменов и Google 8.8.8.8 в качестве нашего восходящего DNS-провайдера.

Схема маршрутизации будет выглядеть так:

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

Начиная

У вашего хозяина должен быть Статический IP назначенный. С этого момента IP 192.168.0.1 относится к серверу Dnsmasq.

Убедитесь, что Dnsmasq установлен:

Файл конфигурации Dnsmasq обычно находится в /etc/dnsmasq.conf. Это предварительно заполнено начальными настройками. Для эффективной работы Dnsmasq в сценарии локальной сети необходимо внести некоторые изменения. Запустите sudo nano /etc/dnsmasq.conf, чтобы открыть файл, затем используйте сочетание клавиш Ctrl + W, чтобы найти и раскомментировать следующие строки:

Чтобы настроить исходящий DNS-сервер, добавьте новую строку в файл конфигурации:

сервер = 8.8.8.8 сервер = 4.4.4.4

Это указывает Dnsmasq пересылать неразрешенные запросы в 8.8.8.8. Если этот сервер недоступен, вместо него будет использоваться 4.4.4.4. Эти адреса являются первичными и вторичными преобразователями для службы DNS Google.

размер кеша = 1000

Сохраните и закройте файл сейчас.

Сопоставление имен хостов IP-адресам

Откройте / etc / hosts и добавьте свои маршруты в конец файла. Сначала идет IP-адрес, а затем имя, которое нужно назначить:

192.168.0.101 веб-сервер 192.168.0.105 gateway.lan

Тестирование вашего сервера

Перезапустите Dnsmasq, чтобы применить все ваши изменения:

перезапуск службы sudo dnsmasq

Убедитесь, что сервер работает правильно:

статус службы sudo dnsmasq

Вы должны увидеть, что активный (работает) отображается зеленым цветом. Если вы этого не сделаете, проверьте строки журнала в нижней части информации о состоянии, чтобы выяснить, что не так.


Теперь вы готовы протестировать свой сервер. Вы можете делать попытки поиска DNS вручную с помощью инструмента dig. Возможно, вам сначала потребуется установить пакет dnsutils.

Настройка вашей сети

Как только вы найдете страницу с правильными настройками, установите IP-адрес вашего сервера (192.168.0.1 в этом руководстве) в качестве основного DNS-сервера маршрутизатора. Рекомендуется настроить общедоступного поставщика DNS, например Google 8.8.8.8, в качестве вторичного сервера. Это гарантирует, что у вас по-прежнему будет доступ в Интернет, если ваш DNS-сервер выйдет из строя и отключится.

Теперь все устройства, подключенные к вашему маршрутизатору, будут делать DNS-запросы через ваш экземпляр Dnsmasq. Они смогут подключаться к вашим устройствам по назначенным им именам, таким как веб-сервер и gateway.lan, и смогут воспользоваться преимуществами кэширования DNS на сетевом уровне.

Заключение

После запуска Dnsmasq обычно не требует большого ручного вмешательства. Вы можете отслеживать журналы с помощью службы dnsmasq status или systemctl status dnsmasq. Теперь вы готовы использовать свой собственный DNS-сервер, максимизируя производительность и позволяя использовать внутренние доменные имена для доступа к устройствам в локальной сети.

Обратите внимание, что 172.16.0.10 и 202.101.116.9 это не тот же физический компьютер. Один из 202 них - это брандмауэр, который выполняет переадресацию порта 25 и 110 адреса в интрасети 172.16.0.10 .

Теперь мой вопрос: если пользователи внутри корпоративной локальной сети хотят разрешить mail.nlscan.com , она разрешается в 202.101.116.9 . Это правильно и работоспособно, НО НЕ ХОРОШО, потому что почтовый трафик направляется на компьютер брандмауэра, а затем возвращается 172.16.0.10 . Я надеюсь, что наши internal DNS server могут перехватить имя mail.nlscan.com и разрешить его до 172.16.0.10. Итак, я надеюсь, что я могу написать запись в файле "hosts", 172.16.0.12 чтобы сделать это. Но как Microsoft DNS server распознать этот файл "hosts"?

Может быть, вы предлагаете, почему бы не использовать интранет 172.16.0.10 для доступа к моему почтовому серверу? Я должен сказать, что это неудобно, предположим, что пользователь (сотрудник) работает на своем ноутбуке, днем ​​в офисе и ночью дома. Когда он дома, он не может использовать 172.16.0.10 .

Привет, Кори, боюсь, ты не правильно понял этот факт. Как позже говорит в этом разделе joeqwerty: файл hosts используется компонентом распознавания клиента DNS, а не компонентом DNS-сервера. Таким образом, редактирование хостов на 172.16.0.12 не помогает службе DNS Microsoft. Джун, вы можете пометить ответ как принятый, чтобы другие знали, каким было решение. Рад, что это сработало для вас! =)

Последняя часть этого поста неверна. У меня сложилось впечатление, основываясь на некоторых материалах, которые я прочитал в Интернете (если он есть в Интернете, это должно быть правдой!), Что часть задач службы DNS-сервера Windows по созданию своего кэша заключалась в том, чтобы также загрузить свой файл хоста в кэшировать вместе с данными локальной зоны. Я искал вокруг и не мог найти убедительных доказательств этого. Я проверил теорию на своем собственном компьютере с Server 2008 R2 и обнаружил, что файл hosts не использовался для построения кэша DNS-сервера.

Старая, неправильная запись начинается:

Используйте ipconfig / displaydns на любом компьютере с Windows (в частности, на вашем компьютере с Server 2003 DNS), чтобы просмотреть записи файла хоста. Также имейте в виду, что отрицательные ответы кэшируются на ваших клиентах, поэтому всегда запускайте ipconfig / flushdns на клиентах, с которыми вы экспериментируете. В противном случае вы в конечном итоге подвергнете себя жестокому обращению с различными жесткими объектами, поскольку вы удивляетесь, почему ваши клиенты не могут разрешить имя, которое вы только что ввели в файл зоны / хоста. знак равно

Обновление 30.03.2020: Кстати, правка hosts также позволяет создать сайт без домена на хостинге, когда в ходе веб-разработки у клиента пока не зарегено никакое имя. В данном случае в этом файле тестовый домен привязывается к реальному веб-серверу.

Но сегодня хотел рассказать немного о другом:) Без предыстории пост получился бы вообще мизерным, поэтому решил поделиться некоторыми наблюдениями. Про перенос wordpress блогов напишу еще небольшой пост на wordpress inside для начинающих.

Итак, вернемся все же к DNS и файлу hosts. Вообще DNS – это система доменных имен, которая привязывает конкретный IP адрес хостинга к доменному имени. Если вы только зарегистрировали новый домен или осуществляете переезд сайта / блога, то при этом производится редактирование DNS записи, где указывают новые данные для домена. Фишка в том, что данный процесс обновления DNS может занимать определенное время – от нескольких минут, до пары часов. Один раз у меня он обновлялся вообще больше суток. Не знаю от чего это зависит, возможно, от действий хостера, если смена производится вручную или еще от каких-то других условий, но иногда бывают ситуации, когда обновление DNS вам нужно как можно быстрее.

Вообще перенос блога дело хлопотное немного в плане временных затрат – пока скопируешь базу данных, файлы хостинга, проходит определенное время, а ты сидишь и смотришь как тают драгоценные минуты:) А тут еще ждать обновления DNS. Но есть один метод дабы не тратить время впустую.

На компьютере в операционной системе Windows есть файл hosts. Это текстовый файл, который также содержит базу доменных имен, при этом использует их при трансляции в сетевые адреса узлов (так по умному говорит Википедия).

Особенность файла hosts в том, что он имеет приоритет перед обращением к DNS-серверам и самое главное – вы можете запросто менять этот файл!

У меня на компьютере (Vista / Win7) файл hosts находится по адресу C:\Windows\System32\drivers\etc. Он не имеет никакого расширения, но запросто редактируется блокнотом. Синтаксис файла предельно прост – сначала пишете IP адрес, а затем доменное имя, например:

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

А в открывшемся окошке посмотреть, что обращение производится к нужному IP.

Вот, в принципе, и все. Через некоторое время можно попробовать закомментировать запись в файле hosts и проверить к какому IP обращается домен – если DNS обновилось, смело удаляем лишнюю запись. Метод простой, наверное, многие о нем слышали, но, думаю, не все. А поскольку я сталкиваюсь с ним уже раз второй-третий, то решил записать информацию в блог – дабы потом не искать повторно по всему интернету. Вот уж действительно подтверждение того, что персональный блог может служить архивом полезной информации и чем-то вроде записной книги.


Далее открываете в блокноте файл hosts, правите и без проблем сохраняете. Вот такой вот небольшой хак получается:)

Читайте также: