Как настроить виртуальные хосты в Ubuntu или Debian. Файл hosts в Linux Файл host linux

Малоизвестная возможность под названием "файл hosts" может быть использована для модификации вашей системы в зависимости от ваших нужд. Нужно ли вам создать сокращения, заблокировать веб-сайты или что-то еще, все это вы можете сделать с помощью hosts-файла.

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

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

Если говорить понятным языком, то hosts-файл - это простой текстовый файл, который используется в любой операционной системе для перевода имен хостов в IP-адреса. Когда вы набираете имя хоста - например, facebook.com или myubuntu.ru - ваша система проверит файл hosts, чтобы получить IP-адрес, который требуется для соединения с соответствующим сервером. Но если вы откроете этот файл у себя на компьютере, вы быстро обнаружите, что там не хранится каталог всех сайтов Интернета. Там может быть всего лишь пара строк и ничего более. Ваша система сначала всегда проверяет hosts-файл, и все, что не задано в нем, будет найдено на DNS-серверах, заданные в ваших настройках сети (обычно это сервера вашего Интернет-провайдера).


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

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

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

В операционных системах Linux вы можете найти hosts-файл в /etc/hosts. Поскольку это обычный текстовый файл, вы можете просто использовать обычный текстовый редактор (неважно, терминальный или графический). К сожалению, есть только один графический инструмент, который предоставляет частичное управление файлом hosts - это приложение Domain Blocker от Linux Mint.

Эта программа работает, добавляя записи в ваш hosts-файл, которые перенаправляют указанные вами домены на 127.0.0.1 - то есть на ваш компьютер. Так или иначе, это все, что вы можете сделать с помощью Domain Blocker - все остальные способы использования файла hosts требуют от вас ручного редактирования файла с помощью текстового редактора.


Поскольку hosts - это системный файл, вам потребуются административные права, чтобы сохранять изменения в этот файл. Впрочем, вы можете отредактировать его с помощью команды терминала, такой как sudo nano /etc/hosts или gksu gedit /etc/hosts. Вам нужно использовать терминал, чтобы вы могли таким образом запустить требуемое приложение с административными правами. Вы также можете заменить nano или gedit на команду для запуска вашего любимого текстового редактора. Когда вы закончите редактирование файла в nano, вы можете нажать Ctrl+X, а затем y, чтобы подтвердить перезапись изменений

Как понять формат содержания файла hosts?

В файле hosts каждая запись находится на своей собственной строчке. Для целей нашей статьи вы можете использовать очень простой синтаксис - вы набираете IP-адрес, на который хотите перенаправлять имя хоста (домен), затем символ табуляции и собственно домен. Например, чтобы заблокировать Facebook, вы можете ввести 127.0.0.1facebook.com, где - нажатие Tab-клавиши на вашей клавиатуре. Чтобы убедиться в правильности ввода, вы можете также посмотреть на скриншот и сравнить его с тем, что находится у вас в файле.


Приведем другой пример использования этой возможности. Например, если у вас в домашней сети есть компьютер (допустим, его IP-адрес 192.168.1.10), на котором работает простой веб-сайт, делающий что-то полезное для вас. Вы можете ввести следующее в файл hosts: 192.168.1.10homeserver. Теперь, если вы откроете ваш браузер и просто введете в адресную строку http://homeserver , он автоматически отобразит вам содержание хоста 192.168.1.10. Это намного проще, чем вводить IP-адрес каждый раз.

Потенциальные проблемы

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

  • вводить http:// перед каждым адресом. Например, если у вас заблокирован Facebook через hosts-файл, Chrome обойдет блокировку, если вы просто введете facebook.com в адресную строку. Если вы введете

Как изменить и управлять файлом hosts в Linux Малоизвестная возможность под названием "файл hosts" может быть использована для модификации вашей системы в зависимости от ваших нужд. Нужно ли вам создать сокращения, заблокировать веб-сайты или что-то еще, все это вы можете сделать с помощью hosts-файла.Но как производить в нем изменения? Здесь мы расскажем вам, как, и приведем несколько примеров использования, чтобы вы могли начать использование файла прямо сейчас.Что такое файл hosts?Если говорить понятным языком, то hosts-файл - это простой текстовый файл, который используется в любой операционной системе для перевода имен хостов в IP-адреса. Когда вы набираете имя хоста - например, facebook.com или myubuntu.ru - ваша система проверит файл hosts, чтобы получить IP-адрес, который требуется для соединения с соответствующим сервером. Но если вы откроете этот файл у себя на компьютере, вы быстро обнаружите, что там не хранится каталог всех сайтов Интернета. Там может быть всего лишь пара строк и ничего более. Ваша система сначала всегда проверяет hosts-файл, и все, что не задано в нем, будет найдено на DNS-серверах, заданные в ваших настройках сети (обычно это сервера вашего Интернет-провайдера).Но это также означает и то, что вы можете использовать файл Hosts, чтобы добавлять в него адреса, которые не могут быть предоставлены DNS-серверами (например, это могут быть алиасы различных местоположений в вашей домашней сети, что иначе будет доступно только в том случае, если у вас в локальной сети установлен и настроен собственный DNS-сервер), или для обхода IP-адресов, предоставляемых вашими DNS-серверами по-умолчанию.Например, если вы просите ваш браузер открыть facebook.com , DNS-сервера вернут IP-адрес Facebook на ваш компьютер. Но если вы вдруг захотите заблокировать Facebook на своем компьютере, вы можете добавить в hosts-файл запись, которая укажет вашему компьютеру, что все запросы на facebook.com нужно перенаправлять на какой-то другой IP-адрес, который отличается от настоящего IP-адреса Facebook. Чтобы заблокировать эту социальную сеть, вы можете просто прописать перевод запросов на facebook.com на IP-адрес 127.0.0.1 , который будет всегда возвращаться к вашей системе. Вы много чего можете сделать с помощью этого файла, а это лишь самый простой пример - все зависит от вашего желания и потребностей.Как отредактировать hosts-файлВ операционных системах Linux вы можете найти hosts-файл в /etc/hosts. Поскольку это обычный текстовый файл, вы можете просто использовать обычный текстовый редактор (неважно, терминальный или графический). К сожалению, есть только один графический инструмент, который предоставляет частичное управление файлом hosts - это приложение Domain Blocker от Linux Mint.Эта программа работает, добавляя записи в ваш hosts-файл, которые перенаправляют указанные вами домены на 127.0.0.1 - то есть на ваш компьютер. Так или иначе, это все, что вы можете сделать с помощью Domain Blocker - все остальные способы использования файла hosts требуют от вас ручного редактирования файла с помощью текстового редактора.Поскольку hosts - это системный файл, вам потребуются административные права, чтобы сохранять изменения в этот файл. Впрочем, вы можете отредактировать его с помощью команды терминала, такой как sudo nano /etc/hosts или gksu gedit /etc/hosts. Вам нужно использовать терминал, чтобы вы могли таким образом запустить требуемое приложение с административными правами. Вы также можете заменить nano или gedit на команду для запуска вашего любимого текстового редактора. Когда вы закончите редактирование файла в nano, вы можете нажать Ctrl+X, а затем y, чтобы подтвердить перезапись измененийКак понять формат содержания файла hosts?В файле hosts каждая запись находится на своей собственной строчке. Для целей нашей статьи вы можете использовать очень простой синтаксис - вы набираете IP-адрес, на который хотите перенаправлять имя хоста (домен), затем символ табуляции и собственно домен. Например, чтобы заблокировать Facebook, вы можете ввести 127.0.0.1facebook.com , где - нажатие Tab-клавиши на вашей клавиатуре. Чтобы убедиться в правильности ввода, вы можете также посмотреть на скриншот и сравнить его с тем, что находится у вас в файле.Приведем другой пример использования этой возможности. Например, если у вас в домашней сети есть компьютер (допустим, его IP-адрес 192.168.1.10), на котором работает простой веб-сайт, делающий что-то полезное для вас. Вы можете ввести следующее в файл hosts: 192.168.1.10homeserver. Теперь, если вы откроете ваш браузер и просто введете в адресную строку http://homeserver, он автоматически отобразит вам содержание хоста 192.168.1.10 . Это намного проще, чем вводить IP-адрес каждый раз.Потенциальные проблемыЕдинственная проблема, на которую я наткнулся, связана с работой браузера Chrome. Он стремится игнорировать hosts-файл, если вы не сделаете как минимум одну из двух возможных вещей:вводить http:// перед каждым адресом. Например, если у вас заблокирован Facebook через hosts-файл, Chrome обойдет блокировку, если вы просто введете

Если нужно конфигурировать сетевую карту, то выберите IP-адрес, полное доменное имя (FQDN), а также возможные алиасы, которые будут указываться в файле /etc/hosts . Синтаксис следующий:

IP_address myhost.example.org aliases

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

Диапазон приватных сетевых адресов Обычный префикс 10.0.0.1 - 10.255.255.254 8 172.x.0.1 - 172.x.255.254 16 192.168.y.1 - 192.168.y.254 24

x может быть любым числом в диапазоне 16 - 31. y может быть любым числом в диапазоне 0 - 255.

Допустимым приватным IP-адресом может быть 192.168.1.1. Допустимым полным доменным именем FQDN для этого IP может быть lfs.example.org.

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

Создайте файл /etc/hosts следующим образом:

Cat > /etc/hosts < "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost <192.168.1.1> # End /etc/hosts (network card version) EOF

Значения <192.168.1.1> и следует изменить в соответствие с требованиями конкретных пользователей или иными требованиями (если адрес IP назначается сетевым / системным администратором и машина подключается к существующей сети). Необязательные имена алиасов можно опустить.

Если не требуется конфигурировать сетевую карту, создайте файл /etc/hosts следующим образом:

Cat > /etc/hosts < "EOF" # Begin /etc/hosts (no network card version) 127.0.0.1 localhost # End /etc/hosts (no network card version) EOF

Предыдущий раздел:

Файл hosts используется для локальной установки соответствия между IP адресом и доменом. Расположенная в нём информация имеет наивысший приоритет и распространяется только в пределах компьютера, на котором этот файл изменялся.

Видео о работе с файлом hosts

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

Найти файл hosts в системе не составит никакого труда.

В случае данный файл расположен в следующей директории:

/etc/hosts

В случае Windows:

C:/Windows/System32/Drivers/etc/hosts

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

1) Пуск -> Выполнить -> regedit -> OK ;

2) Windows + R -> regedit -> ОК .

Интересующая нас запись реестра располагается в:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath

  • Открываем параметр DataBasePath и в поле Значение указываем новый путь.

Как должен выглядеть файл hosts?

По-умолчанию в чистой системе в файле hosts не указываются никакие значения, а присутствуют исключительно закомментированные строки (начинаются с символа «# ») с описанием файла.

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

Как изменить файл hosts?

  • Открываем hosts в каком-либо доступном в системе текстовом редакторе. Для Windows подойдет стандартный «Блокнот» либо «Wordpad».
  • Опускаемся в конец файла и вводим значения в следующем порядке:
IP-адрес доменное имя
  • После внесения изменений сохраняем файл.
  • Ниже представлен пример указания для домена yourdomain.tld IP-адреса 127.0.0.1 .

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

Как сохранить файл hosts?

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

  1. Отображается ошибка «Отказано в доступе» (либо англоязычный вариант — You don’t have permissions). Вам нужно проверить, что вы открываете файл с правами суперпользователя (администратора). Поскольку это системный файл, его не могут менять пользователи, которым не присвоены права администратора.
  2. Файл сохраняется в неверном формате, например, hosts.txt. В первую очередь нужно проверить, имеется ли возможность в текстовом редакторе указать, чтобы файл сохранился без расширения. Если же нет, вам нужно включить в настройках системы отображение расширений файлов, сохранить файл в формате.txt, а затем изменить его имя, предварительно удалив старый файл hosts.

Как закомментировать строку в hosts?

Для комментирования строки используется символ «# », который устанавливается в её начале и таким образом действие записи в этой строке прекращается. Этот способ удобен в случае, если какая-либо запись может потребоваться в дальнейшем, либо необходимо добавить текст с описанием. Также, комментарий можно вставлять и не в начале строки, а, например, после записи IP и домена.

Работая в других OC вы может уже и знаете где находится файл hosts, но перейдя на Ubuntu Linux, вы можете немного потеряться где данный файл находится и как его редактировать.

Что такое файл hosts? Где он находится в Ubuntu и как его редактировать, вам интересно, читаем материал ниже.

HOSTS - это текстовый файл, который содержит базу данных доменных имен и используется для их трансляции в сетевые адреса узлов. Запрос к этому файлу играет очень важную роль и имеет очень высокий приоритет перед обращением к DNS-серверам. В отличие от DNS который обновляется от 30 минут до 2-3 суток, содержимое файла контролируется администратором компьютера и может обновляться в любой момент при необходимости.

Работая в других OC, вы может уже и знаете где находится файл hosts, но перейдя на любую другую, например Ubuntu Linux, вы без подсказки будете долго искать, а где данный файл находится и как его редактировать.

  • C:\WINDOWS\system32\drivers\etc - в Windows
  • /etc/hosts - В Ubuntu

Для открытия файла hosts на редактирование в Ubuntu, откройте терминал (CTRL+ALT+T) и выполните команду:

Sudo gedit /etc/hosts

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

127.0.0.1 localhost 127.0.1.1 your-pc # The following lines are desirable for IPv6 capable hosts::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters

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

Файл hosts имеет следующий формат:

{IP - IP адрес узла} {Название хоста - имя узла в домене}.{Домен - доменное имя} {Алиас - определяет дополнительное имя узла}

Более подробную информацию по работе с файлом hosts вы можете получить выполнив в терминале команду man hosts .

Пример записи:

193.109.247.234 linuxsoid.com 88.212.202.38 li.ru

вот так все просто, вносим изменения, сохраняем и готово, будут вопросы, спрашивайте в комментариях к материалу.