Linux hosts file include

Как изменить файл 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-адресами. Скорее всего, это не сработает с большинством сайтов, которые вы посещаете.

Читайте также:  Пропали значки с нижней панели windows 10

Потенциальные проблемы использования

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

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

Файл hosts предоставляет простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии Linux не имеют встроенного программного обеспечения родительского контроля, эти знания могут пригодиться, если вы решите начать работу с компьютером под управлением 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 нужно создавать отдельную запись или записывать его в виде алиаса. Например:

127.0.0.1 losst.ru www.losst.ru

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

Выводы

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

Источник

Читайте также:  Windows 10 блокнот темная тема

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

Источник

The Hosts File on Linux

All operating systems with network support have a hosts file to translate hostnames to IP addresses. Whenever you open a website by typing its hostname, your system will read through the hosts file to check for the corresponding IP and then open it. The hosts file is a simple text file located in the etc folder on Linux and Mac OS (/etc/hosts). Windows has a hosts file as well, on Windows you can find it in Windows\System32\drivers\etc\

Читайте также:  Linux добавить ssh public key

Here is how it looks like:

From what we mentioned, you might be expecting this file to have a very long list of IPs and corresponding hostnames; but that is not true. The hosts file only contains several lines;

  • The first part, by default, contains the hostnames and IP addresses of your localhost and machine. This is the part you will usually modify to make the desired changes.
  • The second part has information about IPv6 capable hosts and you will hardly be editing these lines.

Whenever you type an address, your system will check the hosts file for its presence; if it is present there, you will be directed to the corresponding IP. If the hostname is not defined in the hosts file, your system will check the DNS server of your internet to look up for the corresponding IP and redirect you accordingly.

Why Edit /etc/hosts file?

By editing the hosts files, you can achieve the following things:

  • Block a website
  • Handle an attack or resolve a prank
  • Create an alias for locations on your local server
  • Override addresses that your DNS server provides
  • Control access to network traffic

How to Edit /etc/hosts file?

You can edit the hosts text file, located at /etc/hosts only as a superuser. You will first have to open it in text editors such as VI editor, Nano editor or gedit, etc. in the Linux terminal. You will then make the required changes and save the file for these changes to take effect.

In this article, we will use the Nano editor to edit the file. Please type the following command:

As mentioned before, we will be editing the first part of the hosts file where IP addresses and hostnames are defined. We will explain the following two ways in which you can make use of the hosts file: Advertisement

  • Block a website
  • Access Remote Computer Through an Alias

Block a Website

You can block a website by redirecting it to the IP of your localhost or the default route.

For example, if we want to block google.com, we can add the following text to our file:

Now when we open the google website, our system will take the IP of our localhost (127.0.0.1) from the hosts file and redirect us to that instead of the google IP from our DNS server.

Now when we open the google website, our system will take the IP of the default route (0.0.0.0) from the hosts file and redirect us to that instead of the google IP from our DNS server.

This is how the edited file will look like. Please save the changes by hitting ctrl+X.

Now when you try to open www.google.com from your browser, you will see an error message as follows:

Please note that we have defined the complete address www.google.com instead of just the hostname google.com in the hosts file because modern browsers sometimes circumvent the block if we only define the latter.

There are also some predefined blocklists available that you may use in your hosts file: https://github.com/StevenBlack/hosts

Access Remote Computer through an Alias

Suppose we have a server located at a local network that we want to access. We usually have to type the server’s IP to access it unless it has been defined on our local DNS. One way to avoid typing the IP, again and again, is to assign an alias to the server in the hosts file as follows:

The IP corresponds to the location of the server we want to access and myserver is the new alias we want to use.

Now when we saved the file and type myserver in the address bar, we will be redirected to our remote server.

We have learned that by making very simple changes to the hosts file, we can customize and thus redirect the network traffic according to our needs. We can also get rid of a network attack or prank by restoring the hosts file to its default.

Karim Buzdar

About the Author: Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. You can reach Karim on LinkedIn

Источник

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