Войти
Android, Windows, Apple, Ликбез. Социальные сети. Драйверы
  • Японские телефоны Новый японский смартфон
  • Lenovo G500S: характеристики, основные особенности
  • Определяем серию продукта видеокарт Nvidia Характеристики карты nvidia 9800 gt
  • А конкуренты у смартфона есть
  • Что такое расширение файла TRZ?
  • Не работает динамик в "айфоне"
  • Файл hosts в Linux. Как настроить виртуальные хосты в Ubuntu или Debian Как открыть файл hosts в linux

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

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

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

    Разрешение доменных имён в Linux

    Прежде чем мы перейдём к самому файлу hosts, нужно разобраться, как происходит поиск IP-адреса для доменного имени в Linux. Я говорил, что операционная система сразу же отправляет запрос DNS-серверу, но это не совсем так. Существует определённый порядок поиска, согласно которому он выполняется. Этот порядок установлен в конфигурационном файле /etc/nsswitch.conf

    cat /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:

    127.0.0.1 localhost

    Также в этом файле по умолчанию размещаются перенаправления для имени вашего компьютера и для IPv6-адресов. Вы можете создать свои настройки для любого нужного домена. Для этого нужно добавить строчку в конец файла. Например, направим все запросы к домену losst.ru на ip 127.0.0.1:

    127.0.0.1 losst.ru

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

    127.0.0.1 losst.ru www.losst.ru

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

    Выводы

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

    Author Shekin Reading 6 min Published by July 21, 2015

    A little-known feature called “ the hosts file ” can be used to modify your system depending on your needs. Whether you need to create abbreviations to block websites or something else , all of this can be done using the hosts file.
    But how can I make changes to it ? Here we will tell you how , and provide some examples , so you can start using the file right now .

    What is the hosts file?
    If we talk in plain language, the hosts file is a simple text file that can be used on any operating system for translating host names into IP addresses. When you type a host name – for example, facebook.com or сайт – your system will check the hosts file to get the IP address, which is required for connecting to the appropriate server. But if you open this file on your computer, you will quickly find that there is not stored a directory of all websites on the Internet. There may be just a few lines and nothing more. Your system is always first checks the hosts file, and everything not specified in it, will be found on the DNS servers configured in your network settings (usually a server of your Internet provider).

    But it also means that you can use the Hosts file to add addresses that cannot be provided DNS servers (for example, it may be aliases of different locations on your home network that otherwise would be available only if the local network is installed and configured your own DNS server), or to bypass the IP addresses provided by your DNS servers by default.

    For example, if you ask your browser to open facebook.com the DNS server will return the IP address of Facebook on your PC. But if you suddenly want to block Facebook on your computer, you can add to hosts file entry that points to your computer that all requests for facebook.com need to redirect to some other IP address that is different from the real IP address of Facebook. To block this social network, you can simply register a transfer of requests facebook.com the IP address 127.0.0.1 , which will always return to your system. You can do a lot with this file, and this is just a very simple example – it all depends on your desires and needs.

    Warning : keep in mind, hosts this is a system file , edit it only if you know what you’re doing it !

    How to edit hosts file
    In Linux Mint you can find hosts file in /etc/hosts . Since this is a plain text file, you can just use a plain text editor (whether terminal or graphical). Unfortunately, there is only one graphic tool that provides partial control of the hosts file is the application Domain Blocker for Linux Mint.

    This program works by adding entries to your hosts file which redirects your specified domains to 127.0.0.1 – that is on your computer. Anyway, that’s all you can do with Domain Blocker – all other use of the hosts file require you to manually edit the file with a text editor.

    As hosts it is a system file , you’ll need administrative rights to save changes to the file. However, you can edit it using terminal commands such as

    sudo nano / etc/hosts

    sudo gedit /etc/hosts

    You can also replace the nano or gedit on the command to start your favorite text editor . When you’re finished editing the file in nano , you can press Ctrl +X and then y to confirm the overwriting of changes.

    How to understand the format of the contents of the hosts file ?
    In the hosts file each record is on its own line. For the purposes of our article you can use a very simple syntax – you type the IP address to which you want to redirect the host name (domain) , then the tab character (TAB) and the actual domain . For example , to block Facebook , you can enter 127.0.0.1-facebook.com where is the Tab key on your keyboard . To make sure it is entered correctly , you can also look at the screenshot and compare it with what is in your file.

    Hosts – change and manage the /etc/hosts file

    Here is another example of use of this opportunity . For example , if your home network is the computer (for example, its IP address is 192.168.100.1 ) running a simple website that makes something useful for you. You can enter the following in the hosts file : 192.168.100.1 –myhomeserver . Now , if you open your browser and just type in the address bar http://myhomeserver it will automatically show you the contents of the host 192.168.100.10 . It is much easier than to enter the IP address every time.

    Potential problems
    The only problem that I came across, related to the work of the Chrome browser. Chrome tends to ignore the hosts file, if you don’t do at least one of two possible things:
    – to enter http:// in front of each address. For example, if you blocked Facebook via hosts file, Chrome will bypass the lock if you simply enter facebook.com in the address bar. If you enter http://facebook.com in the address bar, Chrome “listen” hosts file and block the website of this social network.
    – disable the option “Use a web service to help resolve navigation errors ” in the Chrome settings, and then you don’t have to type http:// before the address each time

    Try it!
    Hosts is a small magic file, which offers several useful features. Even if you don’t need any features that it provides (although, perhaps , you think ), to see how it works will be very helpful. If you ever get into a situation where you could use the hosts file, you are familiar with them and know how to configure.

    What is in your hosts file ? Are there any unique cases of such use ? Tell us in the comments !

    Малоизвестная возможность под названием "файл 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 в адресную строку. Если вы введете

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

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

    Прежде чем мы перейдём к самому файлу hosts, нужно разобраться, как происходит поиск IP-адреса для доменного имени в Linux. Я говорил, что операционная система сразу же отправляет запрос DNS-серверу, но это не совсем так. Существует определённый порядок поиска, согласно которому он выполняется. Этот порядок установлен в конфигурационном файле /etc/nsswitch.conf

    cat /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:

    127.0.0.1 localhost

    Также в этом файле по умолчанию размещаются перенаправления для имени вашего компьютера и для IPv6-адресов. Вы можете создать свои настройки для любого нужного домена. Для этого нужно добавить строчку в конец файла..0.0.1:

    127.0.0.1 сайт

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

    127.0.0..сайт

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

    Выводы

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

    Об авторе

    Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

    (CentOS) и Windows-машины. Файл Linux имеет две вкладки с вкладками после IP-адреса (localhost.localdomain localhost), а в Windows – только один. Если я хочу отредактировать файл hosts в Windows с именем машины (etest) вместо localhost, я просто заменю слово localhost на имя машины, которое я хочу. Машина не обязательно должна быть частью домена.

    На машине Linux две записи localhost.localdomain и localhost похоже, указывают, что мне понадобится, чтобы машина была частью домена. Это правда?

    Могу ли я просто отредактировать обе записи в etest чтобы она читала:

    127.0.0.1 etest etest

    или требуется, чтобы я заменил одну запись доменным именем?

    Кроме того, пожалуйста, дайте мне знать, для чего предназначена вторая строка файла /etc/hosts на машине Linux.

    ::1 localhost6.localdomain6 localhost6

    файл hosts на машине Linux:

    # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6

    файл hosts на машине Windows:

    # Copyright (c) 1993-1999 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a "#" symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 127.0.0.1 localhost

    3 Solutions collect form web for “Формат / etc / hosts в Linux (отличается от Windows?)”

    Вы всегда хотите, чтобы адрес 127.0.0.1 сначала разрешался на localhost. Если есть домен, вы также можете использовать его, но затем убедитесь, что localhost указан вторым. Если вы хотите добавить псевдонимы для своего компьютера, которые будут искать обратный адрес, вы можете продолжать добавлять их как значения, разделенные пробелами в этой строке. Указание домена здесь необязательно, но не удаляйте «localhost» из параметров.

    Формат /etc/hosts в Linux и Windows одинаковый:

    IP address hostname ...

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

    Вам не нужно создавать хост-часть домена. Попробуй и посмотри. Но было бы неплохо использовать.localdomain если у вас нет реального доменного имени. Он может сделать разрешение имен узлов немного быстрее из-за опции ndots в ndots /etc/resolv.conf .

    Обратите внимание, что в этом смысле домен означает домен DNS (например, google.com или stackexchange.com), а не домен Windows или что-то в этом stackexchange.com .

    Строка, начинающаяся с::1 , для IPv6 . ::1 как 127.0.0.1 по новой схеме адресации. Запустите ifconfig lo и вы увидите, что у него два адреса. Обратите внимание на запись, начинающуюся с inet6 .

    $ ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ...

    Дополнительную информацию см. На странице руководства (5) .

    Я не могу говорить о том, как Windows может отличаться от Linux, но формат определения локальной машины влияет на результаты, которые вы получите из команды «hostname».

    Формат, который я нахожу, работает наиболее последовательно:

    127.0.0.1 etest.mydomain.com etest localhost

    Важная вещь, которую я нашел, – это иметь полное доменное имя и псевдонимы в любом порядке после него.

    Если вы экспериментируете с повторной организацией имен после IP-адреса, а затем с помощью команд «hostname -s» (короткое имя) и «hostname -f» (полное доменное имя или FQDN) вы увидите, что я имею в виду. Он должен выглядеть примерно так:

    $ hostname -s etest $ hostname -f etest.mydomain.com

    «hostname» сам по себе должен возвращать любое имя, которое вы указали для хоста, в /etc/conf.d/hostname или / etc / hostname (расположение файла зависит от дистрибутива, но должно быть найдено в / etc где-то).

    Если вы измените порядок имен, вы можете обнаружить, что «hostname -f» дает вам ответы типа «localhost» или «hostname: system error». Единственное соглашение, которое я нашел, что работает правильно, – это сначала указать FQDN.

    Я всегда устанавливаю локальную адресную строку IPv6 (:: 1) так же, как:

    ::1 etest.mydomain.com etest localhost

    Я знаю, что некоторые дистрибутивы задают имя IPv6 как нечто вроде ip6-localhost. Я пока не использую IPv6, поэтому не могу прокомментировать, какими будут лучшие настройки для этой строки. Я могу просто сказать, что в сети IPv4 он работает, чтобы иметь обе строки с одинаковыми именами.