Etc hosts linux что это

Как настроить локальный DNS используя файл /etc/hosts в Linux

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

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

Например, изменив файл /etc/hosts на своей локальной системе, чтобы в нём содержалась запись связывающая доменное имя с IP, вы можете протестировать сайт в идентичном окружении, как если бы он был размещён на реальном доменном имени. Такой подход позволит проверить работу, например, абсолютных ссылок, которые включают в адресе также и домен. Даже работу SSL сертификата таким образом можно проверить на локальной машине до того, как сделать это на рабочей сервере.

Ещё одно применение локального разрешения имён в файле /etc/hosts — создание коротких, легко запоминающихся имён для других устройств и компьютеров в локальной сети, благодаря чему можно будет вместо ввода IP адреса указать понятное имя «kali» или «files» для доступа к другому компьютеру по SSH или на его веб-сервер.

/etc/hosts — это файл операционной системы, который переводим имена хостов или имена доменов в IP адреса.

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

  • Настройку постоянного IP в любом Linux вы можете сделать на примере описанном в инструкции «Как настроить Kali Linux на использование статичного IP адреса».
  • Настройка статичного IP в Windows описана в статье «Как веб-сервер на своём компьютере сделать доступным для других».

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

Что такое Переключатель сервисов имён в Linux (Name Service Switch)

Перед тем, как продолжить, вы должны понимать несколько вещей о другом важном файле, который расположен в /etc/nsswitch.conf. Он обеспечивает функции Переключателя сервисов имён, что означает, что он контролирует порядок (приоритет) в котором опрашиваются службы запросах к сервисам преобразования имени.

Если коротко, то за используемые для преобразования имён хостов службы перечислены в строке, которая начинается на «hosts:», пример данной строки:

Если в этой строке на первом месте слово «files» расположено перед словом «dns», то это означает, что для запросов к службе имён в начале делается запрос к файлу /etc/hosts, а затем к DNS. Но если слово «dns» стоит до «files», то при поиске IP адреса домена в начале будет сделан запрос DNS, и если не получено значение, то будут опрошены другие соответствующие службы или файлы.

Для наших целей важно, чтобы в строке «hosts:» присутствовало слово «files». А если вы хотите в файле /etc/hosts сделать записи для реальных доменных имён (например, для zalinux.ru), то необходимо, чтобы слово «files» в этой строке стояло раньше слова «dns», иначе вначале будет делаться запрос к DNS серверу, который будет возвращать IP сайта и очередь для получения IP из /etc/hosts не дойдёт

Читайте также:  Не активна кнопка домена windows 10

Проверьте содержимое этого файла:

Или просто посмотрите нужную строку:

Локальная настройка DNS используя файл /etc/hosts в Linux

Теперь откройте файл /etc/hosts используя любой текстовый редактор:

Добавьте в этот файл строки в формате:

Например, для моих данных я добавляю:

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

Изменения, внесённые в файл hosts, вступают в силу немедленно.

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

Или используем сокращённый псевдоним:

На хосте kali.hackware.lan у меня запущен веб-сервер, поэтому я могу получить к нему доступ в веб-браузере, набрав адрес http://kali.hackware.lan/ или более короткий псевдоним http://kali.

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

Если вы попытаетесь проверить IP адрес с помощью команды dig, nslookup или host, то для локальных хостов не будут найдены записи. Дело в том, что эти команды только делает запросы к DNS серверу и игнорируют настройки в файлах /etc/hosts и /etc/nsswitch.conf.

Формат файла /etc/hosts

Файл /etc/hosts в современных системах Linux присутствует скорее историческим причинам — ранее, до появления и распространения службы DNS, этот файл выполнял задачи по трансляции имён в IP адреса. В современных системах подразумевается, что функции этого файла может выполнять DNS сервер (например, локальный кэширующий DNS сервер, в котором присутствуют пользовательские записи и который, в случае если запрашиваемое имя не найдено, обращается к другому DNS серверу в Интернете). В принципе, аналогичный показанному результат действительно можно было достичь установив и настроив локальный DNS — в этом случае программы dig и другие правильно бы показывали IP адреса даже этих локальных хостов. Тем не менее как мы могли убедиться, использование файла /etc/hosts намного быстрее и удобнее для небольшого числа записей. По этой причине файл /etc/hosts по-прежнему часто применяется.

Файл /etc/hosts является простым текстовым файлом, в котором IP адреса связаны с именами хостов, каждая строка содержит по одному IP адресу. Для каждого хоста одна строка должна представлять следующую информацию:

Поля записи разделяются любым количеством пробелов и/или символов табуляции. Текст с символа «#» до конца строки является комментарием и игнорируется. Имена хостов могут содержать только буквы английского алфавита, знак минус (««) и точку («.«). Они должны начинаться с буквы и заканчиваться на букву. Необязательные псевдонимы указываются для изменений имён, альтернативных написаний, укороченных имён хостов или родовых имён хостов (например, localhost).

Источник

Linux: управление файлом hosts

Файл hosts — это текстовый файл на вашем компьютере, в котором содержится список доменных имен (хостов) с привязкой к IP-адресу сервера, на котором размещен ресурс. Одно из частых применений файла hosts — блокировка доступа к сайтам или создание персональных привязок (ярлыков) к сайтам. Эти задачи решаются путем добавления или правки нескольких строк в файле hosts.

Файл HOSTS на Linux

Файл HOSTS на операционных системах Linux, как и на других ОС, представляет собой простой текстовый файл, который можно открыть простым текстовым редактором, и содержит транслитерацию имен хостов (веб-адресов, URL) в IP-адреса. Например, когда вы вводите в адресную строку вашего браузера адрес какого-то сайта, например yandex.ru, то операционная система в первую очередь проверит ваш файл hosts на наличие в нем записи с указанием IP адреса сервера, на котором размещается искомый веб-сайт.

Если вы заглянете в ваш hosts-файл, то вы увидите там всего лишь пару строк, а не перечень всех сайтов во всемирной паутине.

Читайте также:  Копировать флешку с линукс

Это говорит о том, что система перед тем как искать запрашиваемый сайт на DNS-серверах, к примеру вашего интернет-провайдера, а сперва ищет IP-адрес сайта в файле hosts.

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

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

Целей использования файла hosts в вашей системе довольно много в зависимости от ваших потребностей.

Местоположение файла HOSTS на Linux

На компьютерах с операционными системами Linux файл hosts расположен по адресу:

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

Однако, т.к. hosts — системный файл, то вам нужны права администратора для сохранения изменений. Так, к примеру, чтобы изменить файл host в терминале Linux с помощью консольного редактора текста nano , вам нужно ввести сначала команду sudo , чтобы получить права суперпользователя:

или для редактора Vim :

Чтобы использовать использовать редактор с графическим интерфейсом, к примеру gedit , используйте gksu :

Вместо указанных редакторов вы можете использовать в терминале Linux любой предпочитаемый редактор. После внесения сохраните изменения и выйдите из режима редактирования. К примеру для nano нажмите Ctrl+X и затем y для подтверждения перезаписи файла.

Как добавить сайт в Hosts на Linux?

В файле hosts — каждая запись — это отдельная строка. Синтаксис здесь очень простой — введите IP-адрес, нажмите Tab на клавиатуре (допускается, но не желателен, пробел). Например, вы хотите заблокировать доступ к ВКонтакте:

Здесь 127.0.0.1 — петлевой IP адрес, который всегда будет указывать на ваш компьютер. Если веб-ресурс не размещен на вашей машине, то ваш браузер ответит на запрос, что сайт не найден. Теперь данный сайт заблокирован на вашем компьютере.

Создаем ярлыки в файле Hosts

Допустим, у вас есть компьютер подключенный к локальной сети имеет ip-адрес 192.168.1.5, на котором есть простенький сайт с чем-то полезным для вас. Добавьте следующую запись в файл hosts:

После сохранения изменений в вашем браузере в адресную строку введите http://homeserver и автоматически будете направлены на IP 192.168.1.5 и увидите содержимое вашего сайта.

Еще один вариант. У вас есть реальный веб-сайт site.ru, размещенный на каком-либо хостинге. Вы захотели перенести сайт к другому хостинг-провайдеру. Сервер нового хостера имеет другой IP адрес и вы не хотите ждать несколько часов до обновления DNS-серверов и привязки сайта к новому IP (например, 222.222.2.22), то вам нужно добавить в файл hosts запись

Теперь в вашем браузере откроется сайт, перенесенный на новый сервер.

on Пятница, 05 Апрель 2019. Posted in Linux

Источник

Где находится файл hosts и как его изменить

Файл hosts — текстовый документ, который содержит в себе информацию о домене и IP-адресе, который ему соответствует. Файл hosts появился во времена зарождения Интернета (ARPANET) и служил неким маршрутизатором, пока на замену ему не пришла служба DNS. Но до сих пор он не утратил важности и по-прежнему используется как инструмент, который обладает приоритетом перед обращением к DNS-серверам.

Зачем нужен файл hosts

Предположим: вы зарегистрировали домен и привязали его к Hosting Linux. Но чтобы увидеть сайт, вам нужно дождаться делегирования домена на DNS-серверы. В файле hosts вы можете указать ваш домен и IP-адрес хостинга, а затем открыть браузер и зайти на ваш сайт, не дожидаясь делегирования домена. Также с его помощью вы можете заблокировать на локальном компьютере доступ к определённому сайту, указав соответствующую запись.

Читайте также:  Windows system32 drivers etc hosts что за файл

Где находится файл hosts

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

Windows XP, 2003, Vista, 7, 8, 10 — c:\windows\system32\drivers\etc\hosts

Linux, Ubuntu, Unix, BSD — /etc/hosts

Редактировать файл etc hosts нужно от имени администратора, иначе вы не сможете сохранить внесённые изменения.

Как внести изменения в файл hosts

Ниже мы рассмотрим, как редактировать и как сохранить файл hosts. Важно открыть файл с правами администратора, иначе система не даст вам его сохранить. Выберите вашу операционную систему и следуйте инструкции:

Запустите Блокнот или любой другой редактор от имени администратора. Откройте Пуск, найдите нужный редактор, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора:

Как отредактировать файл hosts

В меню «Файл» нажмите Открыть и перейдите в каталог, в котором расположен файл hosts. Измените тип файла на «Все файлы»:

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Чтобы изменить файл hosts в виндовс 10 (8), выполните следующие действия:

Запустите Блокнот или любой другой редактор от имени администратора. Для этого найдите его в Пуске, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора:

В меню «Файл» нажмите Открыть и перейдите в каталог, где находится файл hosts . Измените тип файла на «Все файлы»:

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

В Linux файл hosts находится в папке etc. Чтобы отредактировать его:

Введите в терминал linux команду hosts: sudo nano /etc/hosts

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Файл hosts в Ubuntu редактируется так же, как и во всех Unix-системах.

Файл hosts в Mac OS расположен в каталоге: /private/etc/hosts. Чтобы изменить его:

Введите команду: sudo nano /etc/hosts и нажмите Enter:

Добавьте в конце файла необходимую запись в формате:

123.123.123.123 faq-reg.ru www.faq-reg.ru

123.123.123.123 — IP-адрес вашего сервера или хостинга,

faq-reg.ru — имя вашего домена.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Также вы можете заблокировать определенный сайт через файл hosts, воспользовавшись инструкцией ниже:

Блокировка доступа к сайту через файл hosts

Доступ к сайту также можно ограничить для локального компьютера. Для этого укажите адрес страницы (домен) в файле hosts. Заблокировать IP нежелательного сайта не требуется. Блокировка осуществляется по локальному хосту с фиксированным IP (127.0.0.1):

В указанной на скриншоте строке укажите IP-адрес 127.0.0.1 и через пробел адрес нежелательного сайта. Чтобы заблокировать несколько сайтов, повторите действие в следующей строке. В примере ниже в файле hosts отказано в доступе (заблокирован доступ) к сайтам «vk.com» и «youtube.com»:

Готово! Доступ к сайтам будет ограничен на определенном ПК.

Оригинальный файл hosts и как его восстановить

Скачать оригинал файла hosts можно на разных ресурсах. Но мы не рекомендуем делать это, так как файл может быть заражен.

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

По умолчанию файл hosts выглядит следующим образом:

Источник

Оцените статью