Hosts linux не работает

👠 КАК настроить файлы /ETC/HOSTS И /ETC/NSSWITCH.CONF

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

Когда программе требуется доступ к сайту по ее доменному имени, операционная система отправляет запрос на DNS-сервер, чтобы выяснить, с какого IP-адреса пересылать пакеты.

Но это не всегда так.

Например, когда мы получаем доступ к домену localhost, запрос всегда отправляется на наш локальный компьютер.

Вся причина в файлах хостов.

Если вы использовали Windows раньше, вы, вероятно, уже слышали о таком файле.

Там его чаще всего использовали для быстрого блокирования доступа к ресурсу.

Но его применение намного шире.

В этой статье мы рассмотрим, как настроить файл hosts в Linux, а также какие функции он нам предоставляет.

РАЗРЕШЕНИЕ ДОМЕННОГО ИМЕНИ В LINUX

Прежде чем перейти к самому файлу hosts, вам необходимо выяснить, как найти IP-адрес для доменного имени в Linux.

Я сказал, что операционная система немедленно отправляет запрос на DNS-сервер, но это не совсем так.

Существует определенный порядок поиска, в соответствии с которым он выполняется.

Этот порядок устанавливается в файле конфигурации /etc/nsswitch.conf.

Здесь нас интересует строка hosts.

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

Столбец «files» означает использование файла /etc/hosts, а «dns» означает использование службы доменных имен.

Если «files» расположены перед «dns», это означает, что система сначала попытается найти домен в /etc/hosts, а затем – по DNS.

Это конфигурация по умолчанию.

КОНФИГУРАЦИЯ ФАЙЛА HOSTS В LINUX

Файл hosts находится в каталоге /etc/.

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

Например, используя vim:

Синтаксис файла довольно прост.

Он содержит несколько строк с доменными именами и IP-адресами, которые вам нужно использовать.

Каждая из них выглядит так:

IP_ADDRESS domain alias

Обычно первая строка содержит правило для перенаправления всех запросов в домен localhost на локальный IP-адрес – 127.0.0.1.

Также в этом файле по умолчанию перенаправления размещаются для имени вашего компьютера и для адресов IPv6.

Вы можете создать свои собственные настройки для любого желаемого домена.

Для этого добавьте строку в конец файла.

Например, мы будем направлять все запросы в домен itisgood.ru по ip 127.0.0.1:

Обратите внимание, что здесь указан только домен, без протокола.

Вам не нужно указывать префикс http или https, иначе он не будет работать.

Но для субдомена www вам нужно создать отдельную запись или написать ее как псевдоним.

Теперь, когда вы запросите домен itisgood.ru, откроется наш локальный IP.

Чтобы вернуть доступ к исходному ресурсу, просто удалите добавленную строку.

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

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

Просто добавьте данные в /etc/hosts и работайте как обычно.

В этой небольшой статье мы рассмотрели настройку DNS через файл hosts в Linux.

Как видите, с его помощью вы можете заблокировать доступ к нежелательным ресурсам, например, к которым программы не должны получать доступ.

Читайте также:  Создание статического маршрута windows

Источник

Как изменить файл 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-адрес вручную.

Читайте также:  Материнская плата аудио драйвер для windows

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

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

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

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

Файл hosts предоставляет простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии Linux не имеют встроенного программного обеспечения родительского контроля, эти знания могут пригодиться, если вы решите начать работу с компьютером под управлением Linux.

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Решено: вопрос по фалй /etc/hosts (вопрос по фалй /etc/hosts)

Модератор: SLEDopit

Решено: вопрос по фалй /etc/hosts

Сообщение v4567 » 11.04.2014 13:18

Есть внутренний сервер с виртуальными хостами. У сервака один ip.
И клиентские компьютеры с линуксом.
Для работы самое простое решение — прописал в файле /etc/hosts
xxx.xxx.xxx.xxx хост1
xxx.xxx.xxx.xxx хост2
xxx.xxx.xxx.xxx хост3

Но такое решение не работает.

Вот содержимое относящее к hosts в следующих файлах:

/etc/host.conf
order hosts, bind

/etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

/etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus

Судя по этим файлам должно всё работать, но не работает.
dns внутренних хостов не преобразовываются в ip. Может файл /etc/hosts сейчас уже системой не используется? Если не используется то как тогда организовать такое преобразования не используя bind?

Источник

Как перезагрузить /etc/hosts после редактирования в Linux?

Главное меню » Linux » Как перезагрузить /etc/hosts после редактирования в Linux?

В этой статье будет рассмотрено, как можно отредактировать файл hosts и устранить любые проблемы, связанные с ним.

Файл Hosts

Как мы упоминали ранее, файл hosts отвечает за предоставление соответствующих IP-адресов для доменных имен. Файл hosts можно найти в любой операционной системе, и он имеет приоритет над системой доменных имен (DNS). Это означает, что всякий раз, когда осуществляется доступ к домену, сначала выполняется поиск соответствующего IP-адреса в файле hosts.

Если операционная система не может найти какой-либо связанный IP-адрес с доменным именем в файле hosts, система затем запрашивает DNS, чтобы предоставить связанный IP. По сути, файл hosts – это карта, которая связывает доменные имена с соответствующими IP-адресами.

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

Читайте также:  Atiwinflash для windows 10 64 bit softportal

Файл Hosts в Linux

Как мы уже говорили ранее, файл hosts – это простой текстовый файл, содержащий IP-адреса и доменные имена. Формат содержимого файла хоста следующий.

IP address Domain Name Domain Aliases

Стоит отметить, что любые строки, начинающиеся с символа #, обрабатываются как комментарии в файле hosts, что означает, что они не будут проверяться. Комментарии создаются для удобства пользователя и игнорируются компилятором/интерпретатором. В большинстве систем Linux файл hosts обычно находится в /etc/hosts.

Редактирование файла Hosts в Linux

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

Откройте новый экземпляр командного терминала, войдя в него через меню приложений или нажав сочетание клавиш Ctrl + Alt + T.

Как мы упоминали ранее, файл hosts – это, по сути, текстовый файл, содержащий IP-адреса и доменные имена. Итак, как редактировать текстовый файл? Конечно, через текстовый редактор. Следующим шагом является открытие файла hosts в текстовом редакторе, и это можно сделать с помощью команды, приведенной ниже.

Или, если вам нравится использовать vim, выполните команду ниже.

Поскольку мы пытаемся открыть и отредактировать системный файл, нам предлагается ввести пароль администратора. Это сделано для сохранности, поэтому, как только вы авторизуете права root, мы можем перейти к следующему шагу.

Что касается редактирования файла hosts не является основной целью этой статьи; мы рассмотрим это только вкратце.

Предположим для начала, что вы хотите заблокировать YouTube в своей системе Ubuntu по какой-либо причине. Это можно сделать, просто добавив небольшую строку кода в конец файла hosts.

Очевидно, вы можете заменить YouTube любым другим веб-сайтом по вашему выбору.

Итак, с учетом сказанного, нам пора перейти к перезагрузке etc/hosts/ после редактирования файла hosts. Теперь мы рассмотрим некоторые часто возникающие проблемы, связанные с этим предметом, и способы их решения.

Проблемы, связанные с редактированием файла hosts

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

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

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

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

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

Наконец, если ваша система использует dnsmasq, вы можете попробовать следующую команду:

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

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