Как изменить файл hosts в ubuntu. Как настроить виртуальные хосты в Ubuntu или Debian

НАЗВАНИЕ
hosts - статическая таблица преобразования IP-адресов в
имена машин

СИНТАКСИС
/etc/hosts

ОПИСАНИЕ
На это странице содержится описание формата файла
/etc/hosts. Этот файл содержит текст, описывающий
соответствие IP-адресов и имен машин (по одному адресу в
строке). Для каждой машины в одной строке должна
присутствовать следующая информация:

IP_адрес каноническое_имя алиасы

Поля этой записи отделяются друг от друга пробелами и/или
табуляциями. Текст, начинающийся с символа "#", до конца
строки считается комментарием и игнорируется. Имена машин
могут содержать любой печатный символ, кроме разделителя
полей, символа новой строки или символа комментария.
Алиасы представляют собой измененные, альтернативные,
укороченные или обобщенные формы имен машин (например,
localhost). Формат таблицы имен машин описан в RFC 952.

Сервер доменных имен интернет Berkeley (BIND) содержит
сервер интернет-имен для машин UNIX. Он заменяет файл
/etc/hosts или систему поиска машин и освобождает машину
от необходимости полного подробного заполнения файла
/etc/hosts.

Несмотря на то, что функции этой таблицы давно исполняются
DNS, она все еще используется для

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

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

Изолированные узлы
Небольшие сайты, не подключенные к глобальной сети,
используют таблицу имен машин вместо DNS. Если
локальная информация меняется редко, а сеть не
подключена к интернет, то DNS вряд ли необходим.

ПРИМЕР
127.0.0.1 localhost
192.168.1.10 foo.mydomain.org foo
192.168.1.13 bar.mydomain.org bar
216.234.231.5 master.debian.org master
205.230.163.103 www.opensource.org

ИСТОРИЧЕСКАЯ СПРАВКА
Перед введением DNS, таблица имен машин была единственным
средством для преобразования имен машин в адреса в
растущей сети интернет. На самом деле, этот файл
создавался на основе официальной базы данных машин,
поддерживаемой в Сетевом информационном контрольном центре
(NIC), а также на основе локальных исправлений, содержащих
неофициальные алиасы и/или информацию о неизвестных
машинах. NIC больше не поддерживает файлы hosts.txt,
однако, во время написания этой страницы (около 2000 года)
существовали старые файлы hosts.txt на WWW. Они были
найдены; даты их размещения - 92, 94 и 95 годы.

Работая в других 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

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

Как изменить и управлять файлом 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 обойдет блокировку, если вы просто введете

There’s a single file on your computer that serves as a small gateway between you and the web. It’s called the hosts file. If you need to block websites or create personalized web shortcuts on Linux, you can tackle these jobs by adding or tweaking a few lines in the hosts file.

What’s the Linux Hosts File?

The hosts file is a plain text file that all operating systems use to translate hostnames (also known as web addresses or URLs) into IP addresses. When you type in a hostname, such as wikipedia.org, your system will look into the hosts file to get the IP address needed to connect to the appropriate server.

If you open the hosts file, you’ll quickly notice that it doesn’t have the directory of the entire internet in there. Instead, there might be just a couple lines and that’s it. What gives?

Turns out, your system will check the hosts file first before looking up a site on With DynDNS gone, here are the best free dynamic DNS providers, services, and DDNS alternatives to replace it. (usually your ISP’s DNS servers).

This means that you can use the hosts file to add to what the DNS servers can’t provide (such as aliases for locations on your local network, which is otherwise only possible if you have a DNS server set up within your local network) or override the IP addresses that your DNS servers would normally provide.

For example, if you ask for wikipedia.org, the DNS servers will return Wikipedia’s IP address to your computer. But if you wanted to block Wikipedia on that computer, you can add an entry in the hosts file that tells your computer that wikipedia.org points to some other IP address that’s different from Wikipedia’s actual IP address.

There are many other things you can do with the hosts file, but these are just some basic examples and other uses highly depend on your needs.

The Linux Hosts File’s Location

On Linux, you can find the hosts file under /etc/hosts . Since it’s a plain text file, you can open the hosts file using your preferred text editor.

However, since the hosts file is a system file, you’ll need administrative rights to save changes. So to edit the file using a Linux terminal-based text editor such as nano , you will need to first type sudo to gain superuser access:

Sudo nano /etc/hosts

To use a graphical text editor such as gedit, you can try gksu instead:

gksu gedit /etc/hosts

You have to use the terminal so you can launch the appropriate application with administrative rights. Just replace nano or gedit with your favorite terminal-based or graphical text editor. With nano, once you’re done editing the file, hit Ctrl + X , and then y to confirm overwriting the changes.

How to Add Sites to the Hosts File

In the hosts file, each entry has its own line. The syntax is simple. Type the IP address you want the hostname to translate to, press the tab key on your keyboard, and then type the hostname.

For example, to block Wikipedia, you’d type (remembering to use the tab key rather than the spacebar):

127.0.0.1 wikipedia.org

127.0.0.1 is the loopback IP address that will always point back to your own system. Since the web isn’t stored on your machine, your browser will say the site can’t be found. It is now effectively blocked.

If you feel intimidated by the terminal, check out Linux Mint’s Domain Blocker application (also known as mintnanny). It will add entries into the hosts file that point the hostnames you specify to 127.0.0.1. But to do anything else, you will still need to make changes with a text editor.

Create Shortcuts in the Hosts File

If you have a computer on your home network (say with an IP address of 192.168.1.10) that has a simple website that does something useful for you, you can type the following in your hosts file:

192.168.1.10 homeserver

Then, if you open your browser and just type in http://homeserver , it’ll automatically redirect to 192.168.1.10. And that’s much easier than typing in the IP address every time.

Alternatively, you can use the hosts file to create shortcuts to certain sites on the web. Use a command such as nslookup to find a website’s IP address, then add it to your hosts file alongside the desired shortcut, just as in the example above. But this only works on websites with dedicated IP addresses. It probably won’t work with most of the sites you visit.

Potential Issues With the Hosts File

So we’ve established how to make changes to the host file, but you may still run into issues when using Google Chrome. This web browser tends to ignore the hosts file unless you do one of two possible things:

  1. Type http:// at the beginning of each address. For example, if you have Wikipedia blocked in the hosts file, then Chrome will circumvent the block if you just type wikipedia.com into the address bar. If you type http://wikipedia.com into the address bar, it will follow the hosts file.
  2. Disable “Use a web service to help resolve navigation errors” in Chrome’s settings and then you won’t have to type http:// at the beginning every time. This is one of Using a Chromebook, but concerned about privacy? Tweak these 7 settings in the Chrome browser on Chrome OS to stay secure online. worth doing anyway.

Если нужно конфигурировать сетевую карту, то выберите 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

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