- Файл hosts на Linux
- Как отредактировать файл hosts в Linux
- Как настроить локальный DNS используя файл /etc/hosts в Linux
- Что такое Переключатель сервисов имён в Linux (Name Service Switch)
- Локальная настройка DNS используя файл /etc/hosts в Linux
- Формат файла /etc/hosts
- Файл hosts в Linux
- Разрешение доменных имён в Linux
- Настройка файла hosts в Linux
- Выводы
- Как редактировать файл Hosts и управлять им в Linux
- Что такое файл hosts в Linux?
- Сайт каталога файлов хостов Linux
- Как добавить сайты в файл Hosts
- Создайте ярлыки в файле Hosts
- Возможные проблемы с файлом Hosts.
- Как редактировать файл hosts?
Файл hosts на Linux
В этой статье мы расскажем, что такое файл hosts Linux, как его использовать и как изменить файл hosts в Linux.
Данные любого сайта находятся на физическом сервере. Чтобы браузер нашёл нужный сервер, он должен знать его IP-адрес. Узнать, какому IP соответствует домен, можно с помощью DNS-системы. DNS ― это своеобразная телефонная книга, где записаны абсолютно все домены и соответствующие им IP-адреса. До появления DNS использовался hosts. Hosts ― это текстовый файл, в котором находятся данные домена и его IP.
С появлением DNS hosts поменял сферу применения. Настройки в файле для браузера более приоритетны. Поэтому, перед тем как обратиться к DNS, браузер проверяет настройки hosts. Если в файле нет никаких данных по нужному хосту (домену), браузер обращается к DNS-системе. Эту особенность можно использовать. С помощью файла hosts можно:
- Указать псевдоним для локальной сети.
- Запретить посещение какого-либо сайта. Такой метод часто применяется на рабочих компьютерах, чтобы сотрудники не отвлекались на развлекательные сайты. Также ограничения можно установить для детских устройств. Например, вы не хотите, чтобы ребёнок посещал сайт youtube.com, впишите в hosts 127.0.0.1 youtube.com. 127.0.0.1 ― эта запись заставляет систему обращаться к собственному компьютеру.
- Просмотреть сайт до внесения его в DNS-систему. Если вы прописали DNS-серверы для домена, изменения вступят в силу в течение 24 часов. В некоторых случаях увидеть свой сайт нужно быстрее. Для этого вручную впишите свой домен и соответствующий ему IP. Тогда браузеру будет неважно, есть ли данные о этом сайте в единой системе.
Как добавить нужные данные, мы расскажем в инструкции ниже.
Как отредактировать файл hosts в Linux
В Linux файл hosts находится в папке /etc/hosts. Обратите внимание! Обычно для редактирования hosts нужен доступ суперпользователя.
Чтобы отредактировать его:
Введите в терминал Linux команду hosts:
Hosts Linux настройка
Добавьте в конце файла необходимую запись. Например, мы добавим в конце файла запись:
- 123.123.123.123 — IP-адрес сервера или хостинга,
- faq-reg.ru — имя домена.
Ubuntu файл hosts
Файл hosts редактируется одинаково во всех Unix-системах.
Если вы не хотите разбираться, как работать с файлом hosts, но заблокировать нежелательные сайты нужно, воспользуйтесь приложением Linux Mint Domain Blocker. Оно самостоятельно добавит домены, которые нужно заблокировать, в файл hosts. Эта программа пользуется тем же способом, что и пользователь при ручной блокировке. Linux Mint Domain Blocker вместо правильного IP добавляет 127.0.0.1.
Как настроить локальный 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 не дойдёт
Проверьте содержимое этого файла:
Или просто посмотрите нужную строку:
Локальная настройка 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).
Файл hosts в Linux
Система доменных имен DNS используется для определения, какой IP принадлежит к нужному домену в сети интернет. Когда какой-либо программе понадобится обратиться к сайту по его доменному имени, операционная система отправляет к DNS-серверу запрос, чтобы узнать, по какому IP ей дальше передавать пакеты. Но так происходит не всегда. Например, когда мы обращаемся к домену localhost, то всегда запрос отправляется нашему локальному компьютеру.
Всему причиной файл hosts. Если вы раньше пользовались Windows, то, наверное, уже слышали о таком файле. Там чаще всего он использовался для того, чтобы быстро заблокировать доступ к какому-либо ресурсу. Но применение его гораздо шире. В этой статье мы рассмотрим, как настроить файл hosts в Linux, а также какие возможности он нам предоставляет.
Разрешение доменных имён в Linux
Прежде чем мы перейдём к самому файлу hosts, нужно разобраться, как происходит поиск IP-адреса для доменного имени в Linux. Я говорил, что операционная система сразу же отправляет запрос DNS-серверу, но это не совсем так. Существует определённый порядок поиска, согласно которому он выполняется. Этот порядок установлен в конфигурационном файле /etc/nsswitch.conf
Здесь нас интересует строчка hosts. В ней в порядке очередности записаны службы, которые используются для поиска IP-адреса для доменного имени. Пункт files означает использование файла /etc/hosts, а dns — сервиса доменных имён интернета. Если files расположена перед hosts, это означает, что сначала система попытается найти домен в /etc/hosts, а уже потом по DNS. По умолчанию дело обстоит именно так.
Настройка файла hosts в Linux
Нужный нам файл находится в директории /etc/. Для его открытия можно использовать любой текстовый редактор как в командной строке, так и в графическом интерфейсе, только открывать его нужно с правами суперпользователя. Например, с помощью vim:
sudo vi /etc/hosts
sudo gedit /etc/hosts
Синтаксис файла довольно простой. В нём находится несколько строчек с доменными именами и IP-адресами, которые нужно для них использовать. Каждая из них выглядит вот так:
ip_адрес домен алиас
Обычно первая же строчка создаёт правило для перенаправления всех запросов к домену localhost на локальный IP-адрес — 127.0.0.1:
Также в этом файле по умолчанию размещаются перенаправления для имени вашего компьютера и для IPv6-адресов. Вы можете создать свои настройки для любого нужного домена. Для этого нужно добавить строчку в конец файла. Например, направим все запросы к домену losst.pro на ip 127.0.0.1:
Обратите внимание, что здесь указывается только домен, без протокола. Префикс http или https указывать не нужно, иначе ничего работать не будет. А вот для поддомена www нужно создавать отдельную запись или записывать его в виде алиаса. Например:
127.0.0.1 losst.pro www.losst.pro
Теперь при запросе домена losst.pro будет открываться наш локальный IP. Чтобы вернуть доступ к оригинальному ресурсу, достаточно убрать добавленную строчку. Но вы можете использовать не только локальный адрес, но и любой другой. Это очень удобно, если вы только зарегистрировали домен и доменная зона ещё не успела обновиться, а вы уже хотите работать с новым сайтом. Просто добавьте данные в /etc/hosts и работайте как обычно.
Выводы
В этой небольшой статье мы разобрали, как выполняется настройка DNS через файл hosts Linux. Как видите, с его помощью вы можете блокировать доступ к нежелательным ресурсам, например, к которым программы не должны получить доступ, а также использовать его в работе веб-мастера.
Как редактировать файл Hosts и управлять им в Linux
На вашем компьютере есть единственный файл, который действует как небольшой шлюз между вами и Интернетом. запуск У него есть файл hosts. Если вам нужно блокировать веб-сайты или создать Пользовательские веб-ярлыки В Linux вы можете управлять этими функциями, добавляя или изменяя некоторые строки в файле hosts.
Что такое файл hosts в Linux?
Файл hosts — это простой текстовый файл, используемый всеми операционными системами. Чтобы перевести имена хостов (также известные как веб-адреса или URL-адреса) в IP-адреса. Когда вы вводите имя хоста, например wikipedia.org , ваша система будет искать в файле hosts айпи адрес Требуется для подключения к соответствующему серверу.
Если вы откроете файл Hosts, вы быстро заметите, что в нем нет всего каталога Интернета. Вместо этого может быть только две строки, и все. Какой результат это дает?
Как оказалось, ваша система сначала проверит файл Hosts, прежде чем искать местоположение на DNS-серверы указывается в настройках сети (обычно это DNS-серверы вашего интернет-провайдера).
Это означает, что вы можете использовать файл Hosts для добавления любых изменений, чтобы они не могли для DNS серверов Предоставьте их (например, псевдонимы для сайтов в вашей локальной сети, что возможно только в том случае, если у вас есть DNS сервер настроить в вашей локальной сети) или в обход IP-адреса Предоставляется DNS-серверами в обычном режиме.
Например, если вы заказываете wikipedia.org , DNS-серверы вернут айпи адрес Википедия на свой компьютер. Но если вы хотите заблокировать Википедию на этом компьютере, вы можете добавить запись в файл Hosts, которая сообщает вашему компьютеру, что wikipedia.org Он указывает на какой-то другой IP-адрес, отличный от фактического IP-адреса Википедии.
Есть много других вещей, которые вы можете сделать с файлом Hosts, но это всего лишь базовые примеры, и некоторые из них сильно зависят от ваших потребностей.
Сайт каталога файлов хостов Linux
В Linux вы можете найти файл Hosts в / Etc / хостов. Поскольку это простой текстовый файл, вы можете открыть файл Hosts в своем любимом текстовом редакторе.
Однако, поскольку файл Hosts является системным файлом, для сохранения изменений вам потребуются права администратора. Итак, чтобы отредактировать файл с помощью текстового редактора на базе Linux, например карликовый Во-первых, вам нужно будет ввести sudo для доступа к пользователю root:
Чтобы использовать графический текстовый редактор, например Gedit , вы можете вместо этого попробовать gksu:
Вы должны использовать Терминал, чтобы иметь возможность запускать соответствующее приложение с правами администратора. Просто замените nano или gedit своим любимым графическим текстовым редактором. После использования nano и завершения редактирования файла нажмите Ctrl + X , затем y, чтобы подтвердить перезапись изменений.
Как добавить сайты в файл Hosts
В файле Hosts каждая запись имеет отдельную строку. Синтаксис прост. Введите IP-адрес, на который нужно преобразовать имя хоста, нажмите клавишу табуляции на клавиатуре, а затем введите имя хоста.
Например, чтобы заблокировать Википедию, вы можете ввести (не забудьте использовать клавишу табуляции вместо клавиши.). пространство ):
127.0.0.1 Это IP-адрес обратной петли, который всегда указывает на вашу систему. А поскольку Интернет не хранится на вашем устройстве, ваш браузер сообщит, что веб-сайт не может быть найден. Теперь он эффективно заблокирован.
Если вас пугает то, как работать с Терминалом, попробуйте Блокировщик доменов для Linux Mint (также известный как mintnanny). Он добавит записи в файл Hosts, которые относятся к именам хостов, которые вы укажете для 127.0.0.1. Но чтобы сделать что-нибудь еще, вам все равно придется вносить изменения в текстовом редакторе.
Создайте ярлыки в файле Hosts
Если у вас есть компьютер в вашей домашней сети (например, он использует IP-адрес: 192.168.1.10), на котором есть простой веб-сайт, который делает что-то полезное для вас, вы можете записать следующее в свой файл hosts:
Затем, если вы откроете браузер и просто наберете http://homeserver , он будет автоматически перенаправлен на 192.168.1.10. Это намного проще, чем каждый раз вводить IP-адрес.
Кроме того, вы можете использовать файл Hosts для создания ярлыков для определенных веб-сайтов. Используйте такую команду, как nslookup, чтобы найти IP-адрес веб-сайта, а затем добавьте его в файл Hosts вместе с желаемым ярлыком, как показано в примере выше. Но это работает только на сайтах с Выделенные IP-адреса. Вероятно, это не работает с большинством посещаемых вами сайтов.
Возможные проблемы с файлом Hosts.
Мы показали, как вносить изменения в файл Hosts, но вы все равно можете столкнуться с проблемами при использовании Google Chrome. Этот веб-браузер имеет тенденцию игнорировать файл hosts, если вы не выполните одно из двух возможных действий:
- Письмо http:// в начале каждого адреса. Например, если вы заблокировали Википедию в файле Hosts, Chrome обойдет этот запрет, если вы введете wikipedia.com Только в адресной строке. Если вы напечатаете http://wikipedia.com В адресной строке браузер будет следовать инструкциям в файле hosts.
- Вы должны отключитьИспользование веб-службы для устранения ошибок навигацииВ настройках Chrome вам не нужно вводить http:// Сначала каждый раз. Это один из нескольких советов по обеспечению конфиденциальности в Google Chrome, которые все равно стоит выполнить.
Как редактировать файл hosts?
Файл Hosts предоставляет простой способ заблокировать доступ к определенным веб-сайтам на вашем компьютере. Поскольку многие версии Linux не поставляются с ним Приложение для родительского контроля Эти знания могут пригодиться, если вы решите Ваши дети используют компьютер с Linux Для того, чтобы заявить о работе с мощной операционной системой.