Где находится файл hosts в Android-устройстве и как его открыть?

дек 29 2016 image

29 дек 2016

Допустим, что XAMPP у вас установлен на диске C: (C:xampp). А хранить свои проекты вы намереваетесь совершенно в другом месте на диске D: (D:MySites). Сразу хочу сказать, что лучше создавать папку для хранения своих проектов в месте, например, синхронизированном с облачным хранилищем, тогда вы можете иметь доступ и работать с очередным сайтом с разных компьютеров. Это очень удобно!

Итак, вводные получены, приступаем. В первую очередь создадим сам сайт, который в нашем примере будет состоять всего из одного файла index.php, размещенного в папке test1.loc (название папки сайта, оно же его доменное имя) по адресу D:MySites. Содержимое файла D:MySitestest1.locindex.php будет выглядеть следующим образом:

    echo "Hello World!";   

Открываем для редактирования C:xamppapacheconfextrahttpd-vhosts.conf и вносим соответствующие изменения, после чего файл будет выглядеть так:

# Virtual Hosts  #  # Required modules: mod_log_config    # If you want to maintain multiple domains/hostnames on your  # machine you can setup VirtualHost containers for them. Most configurations  # use only name-based virtual hosts so the server doesn't need to worry about  # IP addresses. This is indicated by the asterisks in the directives below.  #  # Please see the documentation at   #    # for further details before you try to setup virtual hosts.  #  # You may use the command line option '-S' to verify your virtual host  # configuration.    #  # Use name-based virtual hosting.  #  # NameVirtualHost *:80          DocumentRoot "C:/xampp/htdocs"      ServerName localhost        ServerAdmin webmaster@test1.loc          DocumentRoot "D:/MySites/test1.loc"          ServerName test1.loc  ServerAlias www.test1.loc  ErrorLog "D:/MySites/test1.loc/error.log"          CustomLog "D:/MySites/test1.loc/access.log" common    Require all granted  AllowOverride All  Order allow,deny  Allow from all      

Далее по адресу C:WindowsSystem32driversetc ищем файл hosts и так же, открываем его для редактирования.

Внимание! Иногда система делает файл hosts невидимым. В этом случае вы должны иметь права администратора, чтобы в свойствах родительской папки etc убрать значение «скрытый» для всех внутренних файлов. Чтобы не искать каждый раз файл hosts заново создайте его ярлык на рабочем столе.

Вносим в файл hosts следующие записи (ниже строки # localhost name resolution is handled within DNS itself):

...  # localhost name resolution is handled within DNS itself.  127.0.0.1       localhost  ::1             localhost  127.0.0.1       test1.loc  127.0.0.1       www.test1.loc

Последним шагом производим запуск или перезапуск локального сервера и в адресной строке браузера вводим адрес нашего сайта http://test1.loc/ и жмем «enter». Если все сделано правильно, то в окне браузера вы увидите Hello World!

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

—>

Tutorial

Введение

Веб-сервер Apache — популярный способ размещения сайтов в Интернете. Согласно оценкам, в 2019 году на базе этого веб-сервера работали 29% всех активных сайтов. Он обеспечивает разработчикам преимущества гибкости и надежности. Используя Apache, администратор может настроить один сервер для хостинга нескольких доменов или сайтов через единый интерфейс или IP-адрес, используя систему сопоставления.

Каждый домен или сайт («виртуальный хост»), настроенный с помощью Apache, направляет посетителя в определенную директорию, где хранятся данные этого сайта. При этом не показывается никаких признаков того, что этот же сервер обслуживает другие сайты. Эта схема поддерживает расширение без программных ограничений, пока сервер сможет выдерживать нагрузку. Базовая единица, описывающая отдельный сайт или домен, называется виртуальный хост.

В этом руководстве мы рассмотрим настройку виртуальных хостов Apache на сервере Ubuntu 18.04. Во время этого процесса вы научитесь предоставлять разный контент разным посетителям в зависимости от того, какие домены они запрашивают.

Предварительные требования

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

Для выполнения этих шагов у вас должен быть установлен сервер Apache. Если вы еще не установили Apache, вы можете сделать это с помощью диспетчера пакетов apt:

sudo apt update sudo apt install apache2 

Если вам требуются более подробные инструкции или информация по настройке брандмауэра, воспользуйтесь обучающим руководством Установка веб-сервера Apache в Ubuntu 18.04.

Для целей настоящего руководства наша конфигурация предусматривает создание виртуального хоста для example.com и еще одного для test.com. В руководстве будут размещаться ссылки на них, однако вам следует использовать собственные домены или значения при выполнении указаний.

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

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

Шаг 1 — Создание структуры директорий

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

Наша корневая директория документов (директория верхнего уровня, где Apache ищет выводимый контент) будет задана как отдельные директории в директории /var/www. Здесь мы создадим директории для каждого из виртуальных хостов, которые мы планируем создать.

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

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

sudo mkdir -p /var/www/example.com/public_html sudo mkdir -p /var/www/test.com/public_html 

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

Шаг 2 — Предоставление разрешений

Теперь у нас имеется структура директорий для наших файлов, но они принадлежат пользователю root. Если мы хотим, чтобы обычный пользователь имел возможность изменять файлы в веб-директориях, мы можем изменить структуру владения следующим образом:

sudo chown -R $USER:$USER /var/www/example.com/public_html sudo chown -R $USER:$USER /var/www/test.com/public_html 

Переменная $USER будет принимать значение текущего пользователя в системе при нажатии клавиши ENTER. Так наш обычный пользователь теперь является владельцем субдиректорий public_html, где мы будем хранить наш контент.

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

sudo chmod -R 755 /var/www 

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

Шаг 3 — Создание демонстрационных страниц для каждого виртуального хоста

Теперь у нас имеется структура директорий. Давайте создадим контент для вывода.

Для демонстрационных целей мы создадим страницу index.html для каждого сайта.

Начнем с example.com. Мы можем открыть файл index.html в текстовом редакторе, в данном случае мы используем nano:

nano /var/www/example.com/public_html/index.html 

В этом файле мы создадим документ HTML, указывающий на связанный с ним сайт. Документ будет выглядеть так:

/var/www/example.com/public_html/index.html

        Welcome to Example.com!           Success! The example.com virtual host is working!     

Сохраните и закройте файл (в nano нажмите CTRL + X, затем Y и ENTER) после завершения редактирования.

Мы можем скопировать этот файл и использовать его в качестве основы для нашего второго сайта:

cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html 

Затем мы можем открыть файл и изменить соответствующую информацию:

nano /var/www/test.com/public_html/index.html 

/var/www/test.com/public_html/index.html

        Welcome to Test.com!       Success! The test.com virtual host is working!     

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

Шаг 4 — Создание новых файлов виртуального хоста

Файлы виртуального хоста указывают фактическую конфигурацию виртуальных хостов и задают способ ответа веб-сервера Apache на запросы различных доменов.

В Apache имеется файл виртуального хоста по умолчанию с именем 000-default.conf, который мы можем использовать в качестве исходной точки. Мы скопируем его для создания файла виртуального хоста для каждого из доменов.

Мы начнем с одного домена, настроим его, скопируем для второго домена и внесем несколько дополнительных корректировок. Конфигурация Ubuntu по умолчанию требует, чтобы каждый файл виртуального хоста имел расширение .conf.

Создание первого файла виртуального хоста

Скопируйте файл для первого домена:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf 

Откройте новый файл в редакторе с привилегиями root:

sudo nano /etc/apache2/sites-available/example.com.conf 

Без комментариев этот файл будет выглядеть примерно так:

/etc/apache2/sites-available/example.com.conf

     ServerAdmin webmaster@localhost     DocumentRoot /var/www/html     ErrorLog ${APACHE_LOG_DIR}/error.log     CustomLog ${APACHE_LOG_DIR}/access.log combined  

В файле мы настроим элементы для нашего первого домена и добавим несколько дополнительных директив. Этот раздел виртуального хоста соответствует любым запросам на порт 80, используемый по умолчанию для протокола HTTP.

Вначале нам нужно изменить директиву ServerAdmin на адрес электронной почты, доступный администратору сайта.

ServerAdmin admin@example.com 

После этого нам нужно будет добавить две директивы. Директива ServerName задает базовый домен, который должен соответствовать этому определению виртуального хоста. Скорее всего, это будет ваш домен. Вторая директива под названием ServerAlias определяет дополнительные имена, которые должны соответствовать, как если бы они были базовыми. Это полезно для подстановки заданных вами хостов, таких как www:

ServerName example.com ServerAlias www.example.com 

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

DocumentRoot /var/www/example.com/public_html 

После этого наш файл виртуального хоста должен выглядеть следующим образом:

/etc/apache2/sites-available/example.com.conf

     ServerAdmin admin@example.com     ServerName example.com     ServerAlias www.example.com     DocumentRoot /var/www/example.com/public_html     ErrorLog ${APACHE_LOG_DIR}/error.log     CustomLog ${APACHE_LOG_DIR}/access.log combined  

Сохраните и закройте файл.

Копирование первого виртуального хоста и настройка для второго домена

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

Для начала скопируйте файл:

sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf 

Откройте новый файл в редакторе с привилегиями root:

sudo nano /etc/apache2/sites-available/test.com.conf 

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

/etc/apache2/sites-available/test.com.conf

     ServerAdmin admin@test.com     ServerName test.com     ServerAlias www.test.com     DocumentRoot /var/www/test.com/public_html     ErrorLog ${APACHE_LOG_DIR}/error.log     CustomLog ${APACHE_LOG_DIR}/access.log combined  

Сохраните файл и закройте его после завершения.

Шаг 5 — Активация новых файлов виртуального хоста

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

Мы используем инструмент a2ensite для активации каждого из наших сайтов. Дополнительную информацию об этом скрипте можно найти в документации по a2ensite.

sudo a2ensite example.com.conf sudo a2ensite test.com.conf 

Отключите сайт по умолчанию, заданный в файле 000-default.conf:

sudo a2dissite 000-default.conf 

После завершения нужно перезапустить Apache для вступления изменений в силу и использовать команду systemctl status для подтверждения успешного перезапуска.

sudo systemctl restart apache2 sudo systemctl status apache2   

Теперь наш сервер должен быть настроен для обслуживания двух сайтов.

Шаг 6 — Настройка локального файла hosts (необязательно)

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

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

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

Если вы используете компьютер под управлением Mac или Linux, отредактируйте локальный файл с привилегиями администратора, введя следующую команду:

sudo nano /etc/hosts 

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

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

Для доменов, указанных в настоящем руководстве, замените IP-адрес сервера на your_server_IP, и ваш файл будет выглядеть примерно так:

/etc/hosts

127.0.0.1   localhost 127.0.1.1   guest-desktop your_server_IP example.com your_server_IP test.com 

Сохраните и закройте файл.

При таких настройках все запросы доменов example.com и test.com на нашем компьютере будут перенаправляться на наш сервер. Так мы можем протестировать виртуальные хосты, хотя и не являемся владельцами этих доменов.

Шаг 7 — Тестирование результатов

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

http://example.com 

Вы должны увидеть страницу, выглядящую примерно так:

image

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

http://test.com 

Если все эти сайты работают ожидаемым образом, вы успешно настроили два виртуальных хоста на одном сервере.

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

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

Заключение

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

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

Привет! Сегодня мы поговорим о таком нужном понятии, как виртуальные хосты (Virtual Hosts) в web-сервере nginx. В качестве примера мы будем использовать операционную систему Ubuntu. Для других Linux-систем настройка будет выглядеть очень похоже. Эта статья-инструкция будет интересна, в основном, начинающим web-мастерам и администраторам, т.к. у них чаще всего возникает данный вопрос.

Виртуальный хост — это…

Для начала давайте дадим определение виртуальному хосту. Итак, виртуальный хост — это разделение адресного пространства web-сервера, например, по имени сайта, позволяющее запускать несколько web-сайтов/приложений на одном физическом сервере. Если говорить в терминологии документации nginx, виртуальный хост также называется «Server Block», но для большего сходства с Apache я буду называть его единообразно, т.к. назначение у них одно и то же. И ещё одно соглашение — давайте то, что мы будем настраивать, для простоты называть сайтом.

Создание виртуального хоста

Многие команды в этой инструкции требуют наличия у вашего пользователя прав sudoer’а на VPS. Поэтому, если у вас их нет, настроить виртуальные хосты у вас, к сожалению, вряд ли получится.

Предустановка

Сейчас я скажу вещь, которую необходимо знать каждому! Для того, чтоб настроить виртуальный хост в nginx, вам нужен установленный на вашей машине wеb-сервер nginx. Капитан Очевидность с нами! Если nginx у вас уже установлен, можете смело пропускать этот шаг и двигаться дальше по инструкции. Если же его у вас по каким-то причинам на машине всё ещё нет, введите в консоли команду:

sudo apt-get install -y nginx

Опцию «-y» команде apt-get мы добавляем для того, чтоб не отвечать да-да-да на назойливые вопросы установщика, ведь мы уверены, что хотим поставить этот пакет и согласны с использованием занимаемого им места на диске. Если вы всё-таки не уверены, что со всем согласны, то не добавляйте эту опцию.

Создание директории сайта

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

Путь к этой папке в конфигурации создаваемого хоста будет Document Root, своего рода контекстом, точкой изоляции, выше которой снаружи без предварительной настройки конфигурации подняться нельзя и относительно которой строятся пути до запрашиваемых файлов. С опцией «-p» у команды mkdir мы можем не заботиться о создании родительских директорий, они будут созданы автоматически:

sudo mkdir -p /var/www/mysite.ru/public_html

Здесь мы используем реальный подтверждённый DNS домен с корректными записями, указывающими на нашу машину. Для создания виртуального хоста с незарегистрированным доменом, например, для локальной разработки, вам необходимо внести соответствующую запись в файле /etc/hosts. Подробнее об этом будет в конце статьи.

Права доступа

Сейчас права у нашей созданной папки есть только у root-пользователя. Мы должны дать права на директорию для нужного пользователя, чтоб не работать с ней постоянно в режиме супер-пользователя. Вы можете заменить пользователя «www-data», используемого ниже, на другого, но по умолчанию nginx работает от имени именно этого пользователя.

sudo chown -R www-data:www-data /var/www/mysite.ru/public_html

Теперь сделаем так, чтобы все пользователи могли читать наши новые файлы:

sudo chmod 755 /var/www

Мы подразумеваем, что работаем с VPS, на котором все пользователи ничего плохого не затевают или на котором есть только вы. Поэтому мы можем дать права 755 на папку /var/www. Если в вашем случае нельзя выдавать всем пользователям системы права на чтение этой директории, изучите вопрос с разграничением прав и настройте самостоятельно.

Теперь у вас всё с правами готово!

Создание страницы

Теперь нам необходимо разместить в нашей папке какие-нибудь статические файлы (HTML-страницы, картинки, скрипты, стили и т.д.), которые наш сервер будет раздавать. Давайте создадим HTML-страницу index.htm, которая будет на нашем сайте главной:

sudo nano /var/www/mysite.ru/public_html/index.htm

И добавим в него немного разметки, которая будет показываться пользователю:

          mysite.ru              Ура! Вы смогли настроить Virtual Host в nginx!      

Сохраняем и выходим.

Создание конфигурации виртуального хоста

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

В nginx в директории /etc/nginx/sites-available есть шаблон для создаваемых конфигураций. Давайте скопируем его для нашего сайта:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/mysite.ru

Конфигурация виртуального хоста

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

sudo nano /etc/nginx/sites-available/mysite.ru

Нам нужно внести изменения в текущую конфигурацию. В результате для нашего простого случая должно получиться примерно следующее:

server {          listen   80;          root /var/www/mysite.ru/public_html;          index index.html index.htm;          server_name mysite.ru www.mysite.ru;  }

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

Всё, с этим файлом мы закончили. Сохраняйте его и закрывайте.

Активация виртуального хоста

В nginx есть папки sites-available и sites-enabled. В первой хранятся конфигурации ВСЕХ виртуальных хостов, которые могут быть на данном сервере, а в директории sites-enabled символические ссылки на активные. Никто не запрещает в sites-enabled размещать оригинал файла конфигурации, а не ссылку, но это будет менее удобно, т.к. в случае необходимости отключения придётся либо удалять файл (тогда будет проблематично включить обратно), либо перемещать его в другую директорию (тогда мы должны помнить, куда мы перенесли). Гораздо проще грохнуть символическую ссылку!

Поэтому, теперь, чтоб активировать наш виртуальный хост, нам нужно создать символическую ссылку между директорией sites-available, где лежит наш файл конфигурации, и sites-enabled. В Apache для этого есть специальная команда a2ensite. В nginx такой команды нет, поэтому выполним следующее:

sudo ln -s /etc/nginx/sites-available/mysite.ru /etc/nginx/sites-enabled/mysite.ru

Чтобы избежать «conflicting server name error» и быть уверенным, что ваш сайт отдаёт нужную информацию, можно из числа активных хостов удалить дефолтный:

sudo rm /etc/nginx/sites-enabled/default

Перезагрузка

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

sudo nginx -t

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

Если в ответ вы получили примерно следующее:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok  nginx: configuration file /etc/nginx/nginx.conf test is successful

То всё у вас хорошо и вы можете смело перезапускать сервер командой:

sudo service nginx restart

В противном случае вам надо посмотреть файл конфигурации хоста. Что-то вы там не так указали.

Настройка локальных хостов

Если вы указали в качестве server name IP-адрес, вы можете пропустить этот шаг, т.к. настройка локального хоста вам не нужен, ваш виртуальный хост будет работать и без него. Но, если вы хотите работать с вашим виртуальным хостом без реального доменного имени, вы можете настроить локальные хосты на вашей машине. Как я уже говорил выше, это очень удобно, например, при разработке. Я могу создать mysite.dev, и на нём будет крутиться локальная нестабильная версия сайта. Для MacOS и Linux-систем надо выполнить следующую команду:

sudo nano /etc/hosts

Если вы работаете под Windows, то файл с локальных хостов должен лежать примерно по этому пути C:WindowsSystem32driversetchosts.

Добавляем запись о новом локальном хосте в файл. В нашем случае нужно добавить две записи, т.к. в server_name мы указали два домена.

12.34.56.789    mysite.ru  12.34.56.789    www.mysite.ru

Теперь до тех пор, пока эта запись не будет удалена, обращения по адресу mysite.ru будут получать информацию о данном хосте из этого файлика и перенаправлять вас к вашему удаленному серверу. Если сервер развернут локально, нужно написать вместо «12.34.56.789» «127.0.0.1».

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

Результаты

Теперь мы можем посмотреть результаты наших трудов! Вводим в браузере адрес http://mysite.ru или http://www.mysite.ru и любуемся созданной нами главной страницей из index.htm. Оба адреса должны показывать нашу главную страницу. Вот и всё! Наш виртуальный хост прекрасно работает.

Если тебя заинтересовал вопрос более сложной настройки nginx, то можете почитать статью про синтаксис location в nginx с примерами.

Заключение

Спасибо, что дочитали статью до конца! Если тебе понравилась эта инструкция, не забудь поделиться ссылкой со всеми неравнодушными к данной теме, написать комментарий с отзывом и просто полистать другие статейки моего блога Если после выполнения инструкции у тебя что-то не получилось, пиши в комментариях, попробуем разобраться вместе.

Previous Entry | Next Entry

Советы чайника. hosts-файл: устраняем последствия вирусной атаки

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

Немного терминологии• DNS (англ. аббревиатура от Domain Name System) – Служба доменных имен. Устанавливает соответствие между числовыми IP-адресами и текстовыми именами.• DNS (англ. аббревиатура от Domain Name Server) – сервер доменных имен; служебный компьютер локальной или Глобальной Сети, переводящий имена компьютеров в доменных записях в IP-адреса.• DNS-кэш (кэш распознавателя DNS) – временное хранилище предыдущих DNS-запросов на локальном ПК. Снижает время выполнения запроса, уменьшает сетевой и интернет-трафик.• host (англ.) – главная вычислительная машина; хост, любое устройство, подключенное к сети и использующее протоколы TCP/IP. • IP (англ. Internet Protocol) – Интернет-протокол; протокол сетевого уровня из набора протоколов Интернет.• IP-адрес (англ. IP address) – используется для идентификации узла в сети и для определения информации маршрутизации. Состоит из идентификатора сети (network ID) и идентификатора хоста (host ID).• Name Resolution (англ.) – разрешение доменных имен; процесс преобразования имени компьютера в соответствующий IP-адрес.• Name Resolution Service – сервис разрешения имен; в сетях TCP/IP преобразует имена компьютеров в IP-адреса и наоборот.• TCP/IP (англ. аббревиатура от Transmission Control Protocol/Internet Protocol) – протокол управления передачей информации, основной протокол транспортного и сеансового уровней, обеспечивающий надежные полнодуплексные потоки. Предназначен для использования в Глобальной Сети и для объединения неоднородных сетей.• URL (англ. аббревиатура от Uniform Resource Locator) – унифицированный указатель информационного ресурса; стандартизованная строка символов, указывающая местонахождение ресурса в сети Интернет.*** Что такое hosts-файлhosts-файл в Windows и других операционных системах используется для связи (сопоставления) имен хостов (узлов, серверов, доменов) с их IP-адресами (name resolution). В hosts-файле по умолчанию прописан всего один IP-адрес (127.0.0.1), зарезервированный для localhost, то есть для локального ПК.Файл hosts представляет собой обычный текстовый файл (не имеющий расширения). Дисковый адрес файла hosts:• Windows 9598ME – WINDOWS;• Windows NT2000XPVista7 – WindowsSystem32driversetc.Когда интернет-пользователь набирает в своем веб-браузере адрес (URL) какого-либо сайта (веб-страницы) и нажимает Enter:– браузер пользователя проверяет в hosts-файле, не является ли введенное имя собственным именем компьютера (localhost);– если нет, то браузер ищет запрашиваемый адрес (имя хоста) в файле hosts;– если имя хоста найдено, браузер обращается к соответствующему этому хосту IP-адресу, указанному в hosts-файле;– если имя хоста не обнаружено в файле hosts, тогда браузер обращается к кэшу распознавателя DNS (DNS-кэш);– если имя хоста найдено в кэше, браузер обращается к соответствующему этому хосту IP-адресу, сохраненному в кэше DNS;– если имя хоста не обнаружено в кэше распознавателя DNS, браузер обращается к DNS-серверу;– если запрашиваемая веб-страница (сайт) существует, DNS-сервер переводит заданный пользователем URL-адрес в IP-адрес;– веб-браузер загружает запрошенный ресурс.*** История возникновения hosts-файлаКогда компьютеры были ну очень большими, а Интернет был еще совсем маленьким, уже тогда для удобства пользователей хостам присваивались имена. Хостов тогда было мало. Для сопоставления текстовых имен IP-адресам необходимо было послать запрос на главный хост, который высылал список всех имен и адресов. Этот файл (host file) регулярно рассылался всем компьютерам, подключенным к Сети. По мере развития и расширения Глобальной Сети возрастало количество хостов, серверов, пользователей, – непомерно разрастался и host file. Возникали значительные задержки при регистрации и получении имени новым компьютером, подключаемым к Сети. Слишком много времени затрачивалось и на рассылку host file… Для решения этих проблем была создана DNS – Служба доменных имен. О hosts-файле на время забыли…*** Типовое содержимое файла hosts • Windows XP:# 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 host127.0.0.1 localhost• Windows Vista:# Copyright (c) 1993-2006 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 host127.0.0.1 localhost::1 localhost• Windows 7:# Copyright (c) 1993-2009 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# localhost name resolution is handled within DNS itself.# 127.0.0.1 localhost# ::1 localhost *** Использование hosts-файлаhosts-файл можно использовать для ускорения работы в Глобальной Сети и сокращения трафика – вследствие уменьшения запросов к DNS-серверу для часто посещаемых ресурсов. Например, вы часто загружаете ресурсы google.ru и google.com. Откройте файл hosts и после строки 127.0.0.1 localhost введите строки209.85.229.104 google.ru 74.125.232.20 google.comЭто позволит веб-браузеру не обращаться к серверу DNS, а сразу устанавливать соединение с сайтами google.ru и google.com.Иногда hosts-файл используют для блокировки нежелательных ресурсов (например, рассылающих спам и вредоносное программное обеспечение). Для этого нужно после строки 127.0.0.1 localhost ввести строку127.0.0.1 URL_блокируемого_ресурсаСуть этой манипуляции в том, что блокируемый ресурс сопоставляется с IP-адресом 127.0.0.1, который является адресом локального компьютера, – поэтому нежелательный ресурс не будет загружаться.*** Правила редактирования hosts-файла1. Каждый элемент должен располагаться в отдельной строке.2. IP-адрес должен начинаться с первой позиции строки, за ним (в этой же строке) должно следовать соответствующее ему имя хоста.3. IP-адрес и имя узла должны разделяться хотя бы одним пробелом.4. Комментарии должны предваряться символом #.5. Если комментарии используются в строках соответствия доменных имен, они должны следовать за именем узла и отделяться от него символом #.*** Использование hosts-файла вирусописателямиЗлоумышленники давно уже облюбовали hosts-файл, – с его помощью на зараженном ПК подменяются настоящие адреса веб-ресурсов. После этого веб-браузер перенаправляет пользователя на сайты с вредоносным ПО, или, например, блокирует доступ к сайтам производителей антивирусов.Вредоносное ПО маскирует модификацию hosts-файла следующим образом:– чтобы затруднить обнаружение строк, добавленных вирусом, они записываются в конец файла – после пространной пустой области, образуемой в результате многократного перевода строк;– после этого оригинальному hosts-файлу присваивается атрибут Скрытый (по умолчанию скрытые файлы и папки не видны);– создается ложный hosts-файл, который в отличие от настоящего файла hosts (не имеющего расширения) имеет расширение .txt (по умолчанию для зарегистрированных типов файлов расширения не отображаются):*** hosts-файл: как устранить последствия вирусной атакиОткройте hosts-файл (если вирус установил файлу атрибут Скрытый, потребуется в Свойствах папки включить опцию Показывать скрытые файлы и папки);– появится окно Windows с сообщением «Не удалось открыть следующий файл…»;– установите переключатель Выбор программы из списка вручную –> OK;– в окне Выбор программы в прокручиваемом списке Программы выделите Блокнот –> OK;– файл hosts откроется в Блокноте;– удалите все строки, кроме 127.0.0.1 localhost;– сохраните hosts-файл (обратите внимание что программу Блокнот надо открывать с правами Администратора, иначе сохранить изменения не удастся).Валерий СидоровИсточник: http://netler.ru/ikt/hosts.htmP.S. Обратите внимание, что в папке где находится hosts-файл должны находится только следующие файлы:- hosts- lmhosts.sam- networks- protocol- servicesНикаких других файлов быть не должно. Смело удаляйте все другие файлы, т.к. это последствия вирусной атаки. Иногда вирусы создают подменные hosts-файлы. Т.е. войдя в папку вы увидите не один файл hosts, а два (или больше). Иногда они скрыты, тогда необходимо открыть «свойства папок» (Пуск > Панель управления > Сервис > Параметры папок > Вид) и поставить галочку в строке «показывать скрытые файлы, папки и диски». Если вы обнаружили несколько файлов hosts необходимо отредактировать один из них в соответствии с типовым содержимым корпорации Microsoft, а остальные удалить.Также для восстановления файла hosts можно воспользоватся маленькой утилитой от компании Мicrosoft.скачать её можно ЗДЕСЬ (968 kB), или с сайта Мicrosoft.Дополнительно для особо любознательных: Компиляция текста и ссылки ©Енот69

Profile

Бесплатный софт, программы, литература, сов.

Latest Month

December 2018
S M T W T F S
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

View All Archives

Tags

View my Tags page

Categories

View my Categories page Powered by LiveJournal.com Designed by 126 голосов 2 ответа Создание виртуального хоста на ubuntu linux 12.10 Я использую tomcat 7.0.42 на Ubuntu Linux 12.10. Я указываю свой браузер на http://localhost:8080/myapp Могу ли я создать виртуальный хост в ubuntu, который позволит мне попасть по тому же адресу, … 188 голосов 3 ответа Разница между основным и локальным значениями phpinfo() У меня есть чистая установка CentOs с php 5.2.13. В php.ini, который загружен и присутствует в заголовке phpinfo(), у меня есть safe_mode=off в информации phpinfo() у меня есть // local value — saf… 77 голосов 2 ответа Как фильтровать список виртуальных хостов Apache, используя grep У меня есть сервер Apache, настроенный со многими виртуальными хостами, и хотел бы иметь возможность фильтровать их с помощью grep. # httpd -S | grep «myStr» Однако этот подход не работает — я все … 63 голоса 2 ответа Настройка нескольких хранилищ ключей в JBoss в зависимости от запрашиваемого имени хоста У меня есть приложение J2EE, развернутое в JBossAS. Мое приложение должно отвечать на два разных имени хоста ( https://foo.com/myApp и https://bar.com/myApp ). Это тот же самый экземпляр приложения… 88 голосов 1 ответ Wildfly 8.2/Undertow — свойство placeholder, похоже, не работает для атрибута alias в конфигурации хоста Я пытаюсь обобщить конфигурацию XML Wildfly (8.2 Final), чтобы иметь один файл конфигурации XML со ссылками на свойства системы ( $ {what.ever.value.key.from.proerties} ), чтобы отличить dev. и pro… 89 голосов 2 ответа Дилемма: в реальном времени создавать виртуальные хосты или crontab? Я разрабатываю панель управления хостингом хостинга с помощью codeigniter. Все идет нормально. 🙂 Теперь я работаю над решением, создающим виртуальные хосты. Мой сценарий оболочки, который создает … 139 голосов 1 ответ Конфигурация Apache для изменения URL-адресов в адресной строке браузеров Я новичок в Apache. Я пытаюсь настроить его на моем localhost, чтобы провести некоторое тестирование. Я уже развернул веб-сайт PHP на Apache, и он работает хорошо. Мой httpd-vhosts.conf: 63 голоса 1 ответ Имя сервера для виртуального хоста apache не работает должным образом Я пытаюсь создать виртуальный хост в apache, поэтому я могу получить доступ к локальному сайту через localhost, но используя другой порт, чем по умолчанию: 80, я хочу, чтобы http://localhost:8080 з… 88 голосов 2 ответа virtualhost на xampp и доступный с внешнего устройства Я запускаю XAMPP на своем ноутбуке WIN7 для разработки веб-сайтов. Теперь я использую virtualhost и измененный файл hosts, поэтому я могу получить доступ к моему сайту «www.thisshouldbemysite.nl» ч… 125 голосов 1 ответ VirtualHost на сервере Apache — CentOS Я новичок в сервере Apache и буду признателен за любую помощь, которую вы, ребята, относите к VirtaulHost. Контекст: я настраиваю CA/Web Server на CentOS 5.8 с Apache Server, и я хотел бы иметь общ… 118 голосов 1 ответ Виртуальный хостинг на моем устройстве Android не работает Я пытаюсь Виртуальный хостинг на моем устройстве Android. Для этого я отредактировал файл hosts по следующему пути: /system/etc/hosts как: 127.0.0.1 localhost 192.168.69.65 myserver.test.com Но это… 108 голосов 2 ответа LogLevel rewrite не регистрирует Я пытаюсь отлаживать переписывание на веб-сайте joomla на xampp. Я наблюдаю следующее: сайт работает После включения перезаписи URL в Joomla BE ни одна из ссылок не работает, но главная страница вс… 63 голоса 1 ответ Создание виртуального хоста на Websphere Websphere позволяет создавать виртуальные хосты. Я также могу сопоставить любое количество псевдонимов хоста (имя хоста и порт) с виртуальным хостом. Означает ли это, что Websphere начинает прослуш… 109 голосов 2 ответа Nginx и Phusion Passenger (настройка mutmiple Virtual Hosts) Я пытаюсь настроить несколько приложений Ruby on Rails на своей локальной машине с помощью Phusion Passenger и Nginx. К сожалению, я не могу найти подходящее решение для этого при поиске в Google. … 63 голоса 1 ответ Хостинг нескольких виртуальных хостов/доменов в wildfly Это связано с двумя сообщениями — Хостинг нескольких доменов с помощью WildFly (Undertow) , WildFly → Undertow → отображение поддомена в файл войны не р 108 голосов 2 ответа Symfony: многие проекты во многих разных областях Я изучаю Symfony прямо сейчас. Я создал 2 проекта Symfony с двумя разными доменами. Тем не менее, мой второй домен указывает на первое, и не знаю почему. Я следую этому руководству, знаменитому job… 100 голосов 2 ответа Виртуальный хост из Apache — это другой домен/каталог, но только первый Я настроил два виртуальных хоста cuckoo.net и fb.core.net на локальный IP-адрес (127.0.0.1) Но когда я обращаюсь ко второму домену: fb.core.net , он всегда возвращает первый. Пожалуйста, рассмотрит… 108 голосов 1 ответ Golang webapp с несколькими виртуальными хостами Apache К сожалению, я не смог развернуть базовый Golang WebApp на рабочем сервере. Пройдя много документации и учебников, я понял, что мне нужно запустить Golang WebApp в качестве Daemon. Во-первых: произ… 64 голоса 1 ответ MAMP Virtualhost на Mac не работает Я попытался создать виртуальный хост с MAMP в первый раз. Я проехал несколько учебников, но то, что я сделал, не работает… Позволь мне объяснить: Сначала я добавил в /etc/hosts новую строку 127.0… 63 голоса 1 ответ WWW и https перенаправления не работают по желанию Кажется, я не могу заставить myredirects работать по своему желанию. Мои цели: Перенаправление http://example.com на https://www.example.com Перенаправление http://www.example.com на 77 голосов 1 ответ почему хозяин отсутствует в моих заголовочных заголовках HTTP-запроса? Я распечатываю все заголовки, и я получаю: map[Cookie:[_ga=GA1.2.843429125.1462575405] User-Agent:[Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9…. 63 голоса 1 ответ Xampp 1.7.3 обновление запрещенных виртуальных хостов доступ запрещен У меня есть аналогичная проблема с сообщением другого пользователя здесь Проблемы с установкой XAMPP v1.7.4, локальный хост не работает Обновление xampp до 1.7.3 (osx) в моем случае нарушило мои ви… 98 голосов 2 ответа Где файл журнала местоположений httpd server Пожалуйста, помогите, я на самом деле не администратор сервера, я просто хочу знать, у моего сервера есть виртуальный хост, например: ServerAdmin arif@dummy-host.example.com DocumentRoot /var/www/t… 108 голосов 1 ответ Маршрутизация домена root в одно приложение, суб-uri в другое приложение в Apache Я пытаюсь запустить два приложения в одном домене с помощью Apache, с основным приложением в домене «root» www.sitename.com и суб-приложение по адресу www.sitename.com/blog . В настоящее время я пы… 125 голосов 2 ответа apache2 — имя_сервера в виртуальном хосте не работает Это моя первая настройка виртуального хоста для локальной работы и тестов на моем компьютере. Я пытаюсь получить доступ к blog.dev, который я конфигурирую на сайтах — доступно/по умолчанию, но он н… 98 голосов 2 ответа Apache предоставляет неверный SSL-сертификат У меня есть сервер, на котором работает Debian 8.1 с Apache 2.4.10 и OpenSSL 1.0.1k. У меня есть домен example.com с несколькими подобластями, такими как www.example.com, cloud.example.com и db.exa… 64 голоса 2 ответа Как обеспечить заказное разрешение имен в контейнерах Docker Предположим, у меня есть следующая файловая структура . ├── docker-compose.yml └── webserver ├── Dockerfile ├── html │ ├── test1 │ │ └── index.html │ └── test2 │ └── index.html 132 голоса 1 ответ Как отклонить https-запросы на общедоступный IP-адрес моих серверов У меня есть сервер Apache 2 с 6 виртуальными хостами. Все виртуальные хосты работают через SSL. Однако, если вы делаете запрос на мой IP-адрес сервера (например: https://11.22.33.444 ), поскольку н… 63 голоса 2 ответа Xampp vhosts не работают У меня проблемы с xampp. Установив его, мои виртуальные хосты вообще не хотят работать. Когда я пытаюсь получить доступ к http://localhost/ — работает хорошо. Но если я наберу что-то еще, например … 98 голосов 2 ответа Apache vhost разрешает localhost document root Я загрузил apache2.2.22 src из http://httpd.apache.org/download.cgi и произвел установку. Установка отлично работает. Но проблема возникает, когда я пытаюсь добавить vhosts. Я добавил 2 виртуальных… 100 голосов 2 ответа Резервирование CakePHP не работает на виртуальном хосте Я хотел бы рассказать вам о проблеме, с которой я сейчас сталкиваюсь. Дело в том, что я переместил проект cakephp из тестовой среды в производственную среду, производственный сервер обрабатывает не… 119 голосов 2 ответа Виртуальные хосты Apache Non-www не работают Я создаю файл виртуальных хостов на моем ящике CentOS 7, и мне не удается правильно разрешить мой домен. Вот как выглядит мой текущий /etc/httpd/conf.d/vhost.conf NameVirtualHost *:80 89 голосов 2 ответа После настройки виртуального хоста в zend-проекте изображение проекта не видно Мой проект Структура выглядит следующим образом: / общественное .htaccess index.php шаблон……….. данные uploads (все загруженное изображение этим приложением) ………………… как эти пер… 108 голосов 1 ответ Виртуальный хост НЕ будет работать в MAMP, но работает на localhost: 8888 Создал новый проект Laravel в htdocs в MAMP. Следуя всем шагам, добавили виртуальные хосты, изменили файл conf, etc/hosts, перезапустили mamp и мой компьютер несколько раз, но я просто не могу запу… 77 голосов 1 ответ Apache wamp, проблема установки рамки zend (проблема с разрешением и многое другое) Я пытаюсь установить zend framework очень наивно, просматривая в Интернете настройки, но когда я применяю эти настройки, он не работает. Я получаю следующую ошибку запрещено У вас нет разрешения на… 100 голосов 1 ответ Проблемы с виртуальными хостами Apache Недавно я только что установил сервер на основе RHEL, на котором работают два домена. Тем не менее, я испытываю трудности с удалением обоих доменов из браузера. Моя конфигурация: NameVirtualHost *:… 124 голоса 1 ответ apache 2.4.10 ошибка 403 в псевдонимах Я обновил свой сервер apache до версии 2.4.10 с версии 2.2.x на debian7, и у меня проблема с несколькими виртуальными хостами. Когда я пытаюсь загрузить страницу, я запретил ошибку [403]. Если я вк… 77 голосов 1 ответ Каков правильный способ настройки Apache для работы над проектом через локальную сеть У меня есть проект, запущенный на виртуальном хосте apache. имя файла conf — btapp.local.conf это содержимое файла ServerName btapp.local DocumentRoot /var/www/btapp/app/we… 88 голосов 1 ответ Динамические репозитории subversion через поддомены (в Apache) Я пытаюсь настроить перевод субдомен-репозиторий в Apache. Пример: foobars.domain.com -> /server/svnrepos/foobars Я попытался сделать это с помощью mod_rewrite : RewriteCond %{HTTP_HOST} !^www…. 89 голосов 1 ответ Перенаправление apache2 vhost Я определил разные узлы в моем файле хоста Windows, по одному для каждой версии проекта (rc1, rc2 и т.д.). Я хотел бы создать один vhost для каждого релиза, чтобы я мог перенаправлять непосредствен…

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Citilink-kabinet.ru
Добавить комментарий