Linux аналог файла host

👠 КАК настроить файлы /ETC/HOSTS И /ETC/NSSWITCH.CONF

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

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

Но это не всегда так.

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

Вся причина в файлах хостов.

Если вы использовали Windows раньше, вы, вероятно, уже слышали о таком файле.

Там его чаще всего использовали для быстрого блокирования доступа к ресурсу.

Но его применение намного шире.

В этой статье мы рассмотрим, как настроить файл hosts в Linux, а также какие функции он нам предоставляет.

РАЗРЕШЕНИЕ ДОМЕННОГО ИМЕНИ В LINUX

Прежде чем перейти к самому файлу hosts, вам необходимо выяснить, как найти IP-адрес для доменного имени в Linux.

Я сказал, что операционная система немедленно отправляет запрос на DNS-сервер, но это не совсем так.

Существует определенный порядок поиска, в соответствии с которым он выполняется.

Этот порядок устанавливается в файле конфигурации /etc/nsswitch.conf.

Здесь нас интересует строка hosts.

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

Столбец «files» означает использование файла /etc/hosts, а «dns» означает использование службы доменных имен.

Если «files» расположены перед «dns», это означает, что система сначала попытается найти домен в /etc/hosts, а затем – по DNS.

Это конфигурация по умолчанию.

КОНФИГУРАЦИЯ ФАЙЛА HOSTS В LINUX

Файл hosts находится в каталоге /etc/.

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

Например, используя vim:

Синтаксис файла довольно прост.

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

Каждая из них выглядит так:

IP_ADDRESS domain alias

Обычно первая строка содержит правило для перенаправления всех запросов в домен localhost на локальный IP-адрес – 127.0.0.1.

Также в этом файле по умолчанию перенаправления размещаются для имени вашего компьютера и для адресов IPv6.

Вы можете создать свои собственные настройки для любого желаемого домена.

Для этого добавьте строку в конец файла.

Например, мы будем направлять все запросы в домен itisgood.ru по ip 127.0.0.1:

Обратите внимание, что здесь указан только домен, без протокола.

Вам не нужно указывать префикс http или https, иначе он не будет работать.

Но для субдомена www вам нужно создать отдельную запись или написать ее как псевдоним.

Теперь, когда вы запросите домен itisgood.ru, откроется наш локальный IP.

Читайте также:  Как отключить проверку драйверов при загрузке windows

Чтобы вернуть доступ к исходному ресурсу, просто удалите добавленную строку.

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

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

Просто добавьте данные в /etc/hosts и работайте как обычно.

В этой небольшой статье мы рассмотрели настройку DNS через файл hosts в Linux.

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

Источник

Файл 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.ru на ip 127.0.0.1:

Обратите внимание, что здесь указывается только домен, без протокола. Префикс http или https указывать не нужно, иначе ничего работать не будет. А вот для поддомена www нужно создавать отдельную запись или записывать его в виде алиаса. Например:

Читайте также:  Команда rmdir mac os

127.0.0.1 losst.ru www.losst.ru

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

Выводы

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

Источник

Как изменить файл Hosts в Linux и управлять им

На вашем компьютере есть один файл, который служит небольшим шлюзом между вами и сетью. Этот файл называется hosts. Если вам нужно заблокировать веб-сайты или создать персональные веб-ярлыки в GNU/Linux, вы можете решить эти задачи, добавив или изменив несколько строк в файле hosts.

Что такое файл Hosts?

Файл hosts – это простой текстовый файл, который все операционные системы используют для перевода имен хостов (также называемых веб-адресами или URL-адресами) в IP-адреса. Когда вы вводите имя хоста, такое как wikipedia.org, ваша система ищет файл hosts, чтобы получить IP-адрес, необходимый для подключения к соответствующему серверу.

Если вы откроете файл hosts, вы быстро заметите, что в нем нет каталога всего Интернета. Вместо этого может быть только пара строк и все. Что происходит?

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

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

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

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

Расположение файла Hosts в GNU/Linux

В GNU/Linux вы можете найти файл hosts в /etc/hosts . Поскольку это простой текстовый файл, вы можете открыть файл hosts с помощью предпочитаемого вами текстового редактора.

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

Читайте также:  Возможно этот диск поврежден проверьте что диск использует формат совместимый с windows

sudo nano /etc/hosts

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

gksu gedit /etc/hosts

Вы должны использовать терминал, чтобы вы могли запустить соответствующее приложение с правами администратора. Просто замените nano или gedit вашим любимым терминальным или графическим текстовым редактором. В nano, как только вы закончите редактирование файла, нажмите Ctrl+X , а затем y, чтобы подтвердить перезапись изменений.

Как добавить сайты в файл Hosts

В файле hosts каждая запись имеет свою собственную строку. Синтаксис прост. Введите IP-адрес, на который вы хотите перевести имя хоста, нажмите клавишу Tab на клавиатуре, а затем введите имя хоста.

Например, чтобы заблокировать Википедию, вы должны ввести (не забывая использовать клавишу Tab, а не пробел):

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

Если вы чувствуете, что терминал запугивает вас, ознакомьтесь с приложением Linux Mint Domain Blocker (также известным как 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

Таким образом, мы установили, как вносить изменения в файл хоста, но вы все равно можете столкнуться с проблемами при использовании Google Chrome. Этот веб-браузер имеет тенденцию игнорировать файл hosts, если вы не делаете одну из двух возможных вещей:

  1. Введите http:// в начале каждого адреса. Например, если у вас заблокирована Википедия в файле hosts, Chrome обойдет блокировку, если вы просто введете wikipedia.com в адресную строку. Если вы введете http://wikipedia.com в адресную строку, он будет следовать за файлом hosts.
  2. Отключите «Использовать веб-службу для разрешения проблем, связанных с навигацией» в настройках Chrome (Настройки – Дополнительные – Конфиденциальность и безопасность), и тогда вам не придется вводить http:// в названии каждого сайта.

Использовать веб-службу для разрешения проблем, связанных с навигацией

Как вы измените файл Hosts?

Файл hosts предлагает простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии GNU/Linux не поставляются с встроенным программным обеспечением для родительского контроля, эти знания могут пригодиться.

Источник

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