- Файл hosts в Linux
- Разрешение доменных имён в Linux
- Настройка файла hosts в Linux
- Выводы
- Как изменить файл Hosts в Linux
- Что такое файл Hosts?
- Расположение файла Hosts в Linux
- Как добавлять сайты в Hosts файл
- Создание ярлыков в Hosts файле
- Потенциальные проблемы использования
- Как изменить файл Hosts в Linux и управлять им
- Что такое файл Hosts?
- Расположение файла Hosts в GNU/Linux
- Как добавить сайты в файл Hosts
- Создать ярлыки в файле Hosts
- Потенциальные проблемы с файлом Hosts
- Как вы измените файл Hosts?
Файл 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 нужно создавать отдельную запись или записывать его в виде алиаса. Например:
127.0.0.1 losst.ru www.losst.ru
Теперь при запросе домена losst.ru будет открываться наш локальный IP. Чтобы вернуть доступ к оригинальному ресурсу, достаточно убрать добавленную строчку. Но вы можете использовать не только локальный адрес, но и любой другой. Это очень удобно, если вы только зарегистрировали домен и доменная зона ещё не успела обновиться, а вы уже хотите работать с новым сайтом. Просто добавьте данные в /etc/hosts и работайте как обычно.
Выводы
В этой небольшой статье мы разобрали, как выполняется настройка DNS через файл hosts Linux. Как видите, с его помощью вы можете блокировать доступ к нежелательным ресурсам, например, к которым программы не должны получить доступ, а также использовать его в работе веб-мастера.
Источник
Как изменить файл Hosts в Linux
На вашем компьютере есть один файл, который служит небольшим шлюзом между вами и Интернетом. Его название — Hosts. Если вам нужно заблокировать веб сайты или создать персонализированные имена хостов в 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 в Linux
В Linux можно найти hosts файл в /etc/hosts. Поскольку это обычный текстовый файл, вы можете открыть его с помощью предпочитаемого вами текстового редактора.
Однако, поскольку файл hosts является системным файлом, вам понадобятся права администратора для сохранения изменений. Поэтому для редактирования файла с помощью терминального текстового редактора Linux, такого как nano, вам потребуется команда sudo, чтобы получить доступ к нему для суперпользователей:
Чтобы воспользоваться графическим текстовым редактором, например, gedit, используйте gksu:
Для запуска соответствующего приложения с правами администратора необходимо использовать терминал. Просто замените nano или gedit на любимый терминальный или графический текстовый редактор. С помощью nano, после редактирования файла, нажмите Ctrl + X, а затем Y, чтобы подтвердить перезапись изменений.
Как добавлять сайты в Hosts файл
В файле hosts каждая запись имеет свою собственную строку. Синтаксис прост. Введите IP-адрес, на который вы хотите перевести имя хоста, нажмите клавишу табуляции на клавиатуре, а затем введите имя хоста.
Например, чтобы заблокировать Википедию введите это (помните, что в качестве пробела используется табуляция):
127.0.0.1 — это loopback IP-адрес, который всегда будет указывать на вашу собственную систему. Поскольку веб-страница не хранится на вашем компьютере, ваш браузер сообщит, что страница не может быть найдена. Сейчас она фактически заблокирована.
Если вы чувствуете страх перед терминалом, проверьте приложение Linux Mint Domain Blocker (также известное как mintnanny). Оно добавит записи в файл hosts, указывающие на имена хостов, которые вы указываете в 127.0.0.1. Но чтобы сделать что-то еще, вам все равно придется вносить изменения с помощью текстового редактора.
Создание ярлыков в Hosts файле
Если у вас на компьютере развернута домашняя сеть и, скажем, по IP-адресу 192.168.1.10 у вас какая-либо полезная для вас веб-страница, вы можете указать псевдоним для быстрого доступа к нему:
Теперь, если вы откроете в браузере http://homeserver/, то автоматически попадете на 192.168.1.10. Это удобнее, чем каждый раз вводить IP-адрес вручную.
Кроме того, вы можете использовать файл hosts для создания ярлыков доступа к определенным сайтам в Интернете. Используйте такую команду, как nslookup, чтобы найти IP-адрес веб-сайта, затем добавьте его в файл hosts вместе с нужным ярлыком, как в примере выше. Но это работает только на сайтах с выделенными IP-адресами. Скорее всего, это не сработает с большинством сайтов, которые вы посещаете.
Потенциальные проблемы использования
Итак, вы теперь знаете, как вносить изменения в файл хоста, но при использовании Google Chrome вы можете столкнуться с радом проблем. Этот веб-браузер имеет тенденцию игнорировать файл hosts, если только вы не сделаете одну из двух возможных вещей:
- Вводите http:// в начале каждого адреса. Например, если у вас заблокирована Википедия в файле hosts, то Chrome обойдет этот блок, если вы просто введете wikipedia.com в адресную строку. Если вы введете http://wikipedia.com в адресную строку, то он будет следовать за файлом hosts.
- Отключите в настройках Chrome параметр «Использовать веб-сервис для устранения ошибок навигации», и вам не придется каждый раз вводить адрес http:// в начале работы. Это один из нескольких советов Google Chrome по обеспечению конфиденциальности, который стоит сделать в любом случае.
Файл hosts предоставляет простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии Linux не имеют встроенного программного обеспечения родительского контроля, эти знания могут пригодиться, если вы решите начать работу с компьютером под управлением 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 чтобы получить доступ суперпользователя:
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, если вы не делаете одну из двух возможных вещей:
- Введите http:// в начале каждого адреса. Например, если у вас заблокирована Википедия в файле hosts, Chrome обойдет блокировку, если вы просто введете wikipedia.com в адресную строку. Если вы введете http://wikipedia.com в адресную строку, он будет следовать за файлом hosts.
- Отключите «Использовать веб-службу для разрешения проблем, связанных с навигацией» в настройках Chrome (Настройки – Дополнительные – Конфиденциальность и безопасность), и тогда вам не придется вводить http:// в названии каждого сайта.
Использовать веб-службу для разрешения проблем, связанных с навигацией
Как вы измените файл Hosts?
Файл hosts предлагает простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии GNU/Linux не поставляются с встроенным программным обеспечением для родительского контроля, эти знания могут пригодиться.
Источник