Как добавить хост в строку: Как добавить в файл hosts строку, простой способ его изменить
Содержание
Как добавить в файл hosts строку, простой способ его изменить
Сегодня в статье мы расскажем, как можно прописать в hosts какую-либо информацию. Этим файлом уже давно не пользуются так, как раньше, однако даже сейчас он может помочь в ряде случаев.
Файл hosts — это текстовый документ, который расположен непосредственно в устройстве, к нему имеет доступ администратор этого устройства. Но самое главное, что файл hosts имеет приоритет над DNS-серверами, и именно это свойство позволяет использовать данный файл в своих целях.
В современных компьютерах файл hosts пустой по умолчанию. Любая информация, которая в него попадает, не появляется там случайно: ее добавляет администратор устройства или вирусная программа. В первом случае работа файла хост контролируется и не наносит вреда, а во втором случае может вызвать ряд неприятных проблем.
Назначение файла hosts
Прежде чем что-то прописать в файле hosts, нужно немного понимать суть его работы, чтобы не навредить своему устройству и своей работе за компьютером. В эпоху зарождения интернет-сети файл hosts имел принципиально важное значение. Он был полон определенной информации, и без него невозможно было посетить какой-либо сайт.
Большинство продвинутых пользователей знают, что каждый сайт в интернете обладает IP-адресом. Именно по этому IP-адресу, а не по домену, как считают некоторые, браузер находит нужный вам сайт. IP-адрес сайта выглядит примерно так:
103.54.95.98
Согласитесь, что запоминать такое количество цифр для каждого понравившегося сайта — это очень неудобно, а может, и вовсе нереально. Чтобы облегчить доступ к сайтам, люди придумали доменное имя. Как выглядит доменное имя — знают все. Вот, например, доменное имя нашего портала:
codernet.ru
При этом нашему домену соответствует собственный IP-адрес — «5.188.159.143». Чтобы зайти на наш сайт, в браузерной строке нужно ввести либо домен, либо IP-адрес. Так как вводить цифры не очень удобно, мы вводим домен. Однако, чтобы открыть наш сайт, браузер отправляет запрос к DNS-серверам, чтобы те «подсказали», какой IP-адрес соответствует нашему домену, потому что найти сайт можно только по IP. Таким образом получаем, что DNS-сервер — это условное место, где хранится связка «домен сайта – IP сайта». Причем здесь файл hosts?
DNS-серверы появились не сразу. До них местом хранения пар «домен сайта – IP сайта» был файл hosts. Давным-давно файл hosts контролировался информационным центром NIC (Network Information Center). Только этот центр имел право редактировать файл hosts. Когда какой-то пользователь или компания хотели добавить собственный сайт в интернет, они направляли заявку в NIC по электронной почте или звонили по телефону, а данная компания вносила сайт в файл hosts. Потом файл hosts обновлялся на компьютерах пользователей, и только после этого сайт становился доступным. Такой алгоритм добавления сайтов в сеть не выдержал высокого роста желающих иметь свой собственный сайт, поэтому и было принято решение вывести информацию из файла hosts в отдельные DNS-серверы.
Однако вся «фишка» в том, что браузер, прежде чем отправить запрос в DNS-сервер, до сих пор «проверяет» файл hosts. Как мы уже писали, файл hosts выше по приоритету, чем DNS-сервер. Таким образом, вы даже сейчас можете воспользоваться этим файлом и прописать в hosts какую-то информацию. Например, вы хотите заблокировать доступ для компьютера к какому-то ресурсу. В этом случае вам нужно в файл hosts добавить строку, где домен будет действителен, а IP-адрес — нет. Тогда браузер никогда не сможет открыть этот сайт.
Например, вы хотите заблокировать доступность нашего сайта на вашем устройстве, чего делать не рекомендуется! Чуть выше мы писали действующий IP-адрес нашего сайта. Вам необходимо просто сделать некорректным IP сайта и добавить в файл hosts такую строку:
952.562.459.522 codernet.ru
IP-адрес некорректный, поэтому в этом случае наш сайт никогда не откроется на вашем компьютере, и неважно, что где-то в DNS-серверах записан корректный адрес нашего сайта.
Как прописать информацию в hosts
В старых версиях операционных систем редактировать файл hosts было нетрудно, но начиная с Windows 7 процесс редактирования этого файла немного усложнился. Чтобы прописать в файл hosts какую-то информацию, нужны две принципиальные вещи:
Доступ к операционной системе с правами администратора, потому что с гостевым доступом отредактировать этот файл не получится. Либо доступ с правами администратора к текстовому редактору. Это системный файл, и он по-своему защищен.
Любой текстовый редактор. Файл hosts — это текстовый документ, хоть и без специального текстового расширения, поэтому для его редактирования подойдет простой «Блокнот» или любая программа, с помощью которой вы редактируете текст.
Если «Блокнот» и права администратора есть, тогда можете приступать к редактированию файла hosts. Располагается он в следующих местах:
В операционной системе Виндовс всех версий найти его можно по следующему пути: C:Windows\System32\drivers\etc\hosts.
В дистрибутивах операционной системы Linux его можно найти по следующему пути: «Файловая система»\etc\hosts.
В MacOS до 9-й версии этот файл располагается просто в системной папке или по пути: «Системная папка»\Preferences\hosts. В MacOS 10-й и новее версиях этот файл можно найти по следующему пути: «Системная папка»\private\etc\hosts или «Системная папка»\etc\hosts.
Если файл hosts был найден и вы готовы прописать в нем что-то свое, важно перед редактированием выполнить одно действие — нужно скопировать и сохранить оригинальную версию hosts где-нибудь отдельно. На тот случай, если ваше редактирование hosts по итогу будет неудачным, у вас всегда будет возможность заменить отредактированный файл на оригинальный, чтобы восстановить нормальную работу устройства.
Само редактирование файла hosts сводится к простому действию: вам нужно вводить пару «IP-адрес сайта – домен сайта» с каждой новой строчки. Для удобства каждый пустой файл hosts обладает примером заполнения. То есть, открыв hosts, вы увидите шаблон, как его правильно заполнить. Важно только знать, что комментарии в hosts пишутся после знака «решетки» (#).
Заключение
Зачем править hosts? — могут спросить некоторые пользователи. На самом деле, желание что-то прописать в hosts может сложиться в двух случаях:
Когда нужно перенаправить пользователя компьютера с одного ресурса на другой. Кстати, таким способом активно пользуются злоумышленники. Они создают вирусные программы, которые могут редактировать hosts. Эти программы изменяют hosts таким образом, чтобы пользователь попадал не на привычную ему страницу, а на фишинговую, которая очень похожа на оригинал. На этой странице злоумышленник может получить какую-то конфиденциальную информацию от пользователя, например, скомпрометировать страницу онлайн-банка пользователя.
Когда нужно заблокировать какой-то ресурс. Как мы уже писали, если добавить в hosts домен сайта и рядом с ним недействительный IP-адрес, тогда этот сайт будет заблокирован.
поиск и настройка соответствий – Beget
Что такое файл hosts
Файл hosts – это документ, который присутствует на каждом ПК и содержит сведения о домене и IP-адресе, относящимся к нему. С помощью внесения записей в этот файл можно ограничить доступ к каким-то сайтам и осуществить перенаправление с определенных страниц на другие ресурсы. Если в файле для домена будет указан IP другого сервера, то откроется именно этот ресурс, поскольку не будет запроса к авторитетному DNS-серверу.
Внесение изменений в файл может понадобиться, если требуется проверка работоспособности сайта по его основному адресу после смены хостинг-провайдера. Кэш DNS в таком случае может «помнить» предыдущую адресную запись, поэтому обращение к сайту будет происходить по “старому” IP. Если вы не хотите ждать обновления кэша DNS, следует указать нужную связку домена и IP-адреса в hosts. Подобные корректировки вносятся от имени администратора. Они предельно просты – необходимо лишь указать в hosts требуемый IP, поставить пробел, а затем прописать доменное имя.
Особенности добавления соответствия IP-адреса и домена сайта в файл /etc/hosts
Обновление DNS обычно занимает до 4 часов, однако DNS-кэш интернет-провайдера может обновляться гораздо дольше – до 3 дней. Если для домена недавно были изменены NS-записи либо домен был зарегистрирован недавно, можно проверить работоспособность сайта, прописав в файл hosts соответствие IP-адреса сервера и домена.
Узнать IP-адрес сервера, на котором расположен ваш аккаунт, можно в разделе DNS панели управления хостингом.
А-запись вашего технического домена содержит нужный адрес. Технический домен имеет вид ваш_логин.beget.tech, в примере на скриншоте ниже это z964375h.beget.tech.
Windows
В ОС Windows для добавления соответствия домена и IP-адреса в файл hosts найдите в меню «Пуск» программу Блокнот (Notepad), нажмите на значок программы правой кнопкой мыши и выберите в Windows пункт «Запуск от имени администратора»:
При необходимости введите пароль администратора, после чего откройте подменю Windows: Файл -> Открыть:
В открывшемся окне вставьте путь к файлу в поле «Имя файла»:
c:\windows\system32\drivers\etc\hosts
и нажмите кнопку «Открыть».
Стандартный hosts в Windows выглядит так:
Добавьте в конец файла IP-адрес сервера и в той же строке через пробел доменное имя. Например:
5.101.152.56 primer.ru www. primer.ru
Осталось сохранить изменения. Для этого воспользуйтесь подменю Файл -> Сохранить или сочетанием клавиш CTRL+S.
MacOS
В MacOS для добавления соответствия домена и IP-адреса в hosts откройте контекстное меню файлового менеджера Finder. Для этого нажмите правой кнопкой мыши на иконку Finder или после наведения курсора на иконку коснитесь двумя пальцами тачпада. Затем выберите Переход к папке.
Затем укажите в адресной строке путь до файла hosts: /private/etc/hosts и нажмите кнопку «Перейти».
Далее необходимо скопировать hosts на рабочий стол. После чего открыть скопированный файл в текстовом редакторе, например, в стандартном редакторе TextEdit.
Дублировать файл необходимо, поскольку оригинальный файл защищен от редактирования.
Стандартный файл hosts выглядит так:
Добавьте в конец файла IP-адрес сервера и в той же строке через пробел доменное имя. Например:
Осталось сохранить изменения. Для этого воспользуйтесь меню Файл -> Сохранить или нажмите на клавиатуре сочетание клавиш ⌘ и S, затем кнопку Сохранить в появившемся окне.5.101.152.56 primer.ru www.primer.ru
Осталось сохранить изменения. Для этого воспользуйтесь меню Файл -> Сохранить или нажмите на клавиатуре сочетание клавиш ⌘ и S, затем кнопку Сохранить в появившемся окне.
Остается заменить старый файл /private/etc/hosts на новый (отредактированный), перетащив отредактированный файл в окно Finder, в директорию /private/etc/hosts и подтвердив замену.
Для замены файла потребуется:
Нажать на кнопку Аутентификация после перемещения файла в окно файлового менеджера Finder.
Выбрать вариант замены, нажав на кнопку Заменить.
Ввести логин и пароль администратора вашего Mac и подтвердить действие.
Обычно логин и пароль соответствуют данным для авторизации вашей учетной записи пользователя операционной системы.
Linux и MacOS
Другой вариант редактирования файла hosts, подходящий в том числе для Операционных систем Linux — редактирование содержимого файла hosts через Терминал.
Для этого в Терминале вводим sudo nano /etc/hosts
и нажимаем клавишу Enter (Ввод). После чего нужно указать пароль от учётной записи пользователя Mac (или Linux, если вы используете её).
Стандартный файл hosts, открытый в текстовом редакторе nano, выглядит так:
Добавьте в конец файла IP-адрес сервера и в той же строке через пробел доменное имя. Например:
5.101.152.56 primer.ru www.primer.ru
Осталось сохранить изменения. Для этого нажмите на клавиатуре сочетание клавиш ⌘ и X — Exit (выход).
Для ОС Linux сочетание клавиш Сtrl и X.
Выбрать вариант выхода с сохранением изменений, нажав сочетание клавиш ⌘ и Y — Yes (Да).
Для ОС Linux сочетание клавиш Сtrl и Y.
И, не меняя название файла, нажать клавишу Enter (Ввод).
Вариант для ОС Linux совпадает — клавиша Enter (Ввод).
Теперь ваш компьютер знает, какому серверу посылать запросы, чтобы открыть сайт. Иногда для применения изменений может потребоваться перезагрузка компьютера и очистка кэша браузера.
Когда у провайдера точно обновятся данные DNS, — например, через неделю — рекомендуем удалить соответствие адреса и домена из файла hosts. Это избавит от возможных проблем в будущем: адрес сервера иногда меняется, и если он будет жестко прописан в hosts, с вашего компьтера сайт окажется недоступен.
Удачной работы! Если возникнут вопросы, пишите нам через раздел «Помощь и поддержка», будем рады помочь!
windows 7 — SQL Server добавляет хост для строки подключения
Задавать вопрос
спросил
Изменено
11 лет, 5 месяцев назад
Просмотрено
781 раз
Имя моего сервера теперь AVI-PC\SQLEXPRESS
и он работает, я хочу добавить другой хост к SQL Server.
Я хочу добавить sqllocalhost\SQLEXPRESS
.
Итак, я пошел в etc/host и добавил следующую строку:
127.0.0.1 sqllocalhost
но подключиться не смог.
Итак, я пропинговал AVI-PC
и получил следующий адрес: fe80::bdc4:33a7:b403:d7f6%10
.
Итак, я попытался добавить
fe80::bdc4:33a7:b403:d7f6%10 sqllocalhost
и все еще не работает.
(я перезагрузил сервер и ПК).
Редактировать
Это конфигурация:
это исключение:
=========================== ======== Не удается подключиться к sqllocalhost. ==================================== При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server) (поставщик данных . Net SqlClient)
- sql-server-2008
- windows-7
- хост
Вы хотите создать псевдоним SQL Server. Верно?
Допустим, у вас есть
SEXYMF-ПК\SQLEXPRESS
И вы хотите подключиться к этому серверу с другим именем: dev\SQLEXPRESS
. Для этого вам нужно перейти в «Пуск»> «Все программы»> «Microsoft SQL Server 2008»> «Инструменты настройки»> «Диспетчер конфигурации SQL Server
». см.:
- Конфигурация собственного клиента SQL 10.0
- Клиентские протоколы
- Псевдонимы
Щелкните правой кнопкой мыши Псевдонимы и выберите Новый псевдоним. Там вы вводите
- Псевдоним = dev\SQLEXPRESS
- № порта =
- Протокол = TCP/IP
- Сервер = SEXYMF-ПК\SQLEXPRESS
Нажмите «ОК» и все. Теперь вы можете подключиться к вашему SEXYMF-PC\SQLEXPRESS, используя dev\SQLEXPRESS
EDIT:
Можете ли вы подключиться к «SEXYMF-PC\SQLEXPRESS» с помощью SQL Server Management Studio? Если да, попробуйте подключиться к вашему псевдониму: dev\SQLEXPRESS. Это работает?
Относительно этого сообщения:
(поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server)
1. Проверьте, включена ли служба обозревателя SQL SErver.
2. Снова проверьте диспетчер конфигурации SQL Server в разделе «Конфигурация SQL Native Client 10.0» > «Клиентские протоколы» > «Именованные каналы» и установите значение «Включено» (если оно отключено).
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
linux — Что эквивалентно —add-host=host.
docker.internal:host-gateway в файле Compose
Фактический эквивалент Docker Compose достигается добавлением той же строки к параметрам extra_hosts
(#Doc ) как:
версия: «3.9» услуги: постгрес: изображение: postgres:14.1-яблочко среда: POSTGRES_PASSWORD: **** порты: - "5433:5432" дополнительные_хосты: - "host.docker.internal: хост-шлюз"
Вы можете видеть, что он был успешно сопоставлен с IP-адресом интерфейса docker0
, здесь 172.17.0.1
, изнутри вашего контейнера, например:
$ docker-compose up -d $ docker-compose exec postgres bash
затем изнутри контейнера:
root@5864db7d7fba:/# apt update && apt -y install netcat root@5864db7d7fba:/# nc -vz host.docker.internal 80 Подключение к порту host.docker.internal (172.17.0.1) 80 [tcp/http] выполнено успешно!
(при условии, что порт 80 не закрыт и не ограничен IP-адресом интерфейса docker0
брандмауэром на хост-компьютере).
Подробнее об этом можно узнать здесь:
https://medium.com/@TimvanBaarsen/how-to-connect-to-the-docker-host-from-inside-a-docker-container-112b4c71bc66
Но … остерегаться…
Предупреждение ⚠️
Обычно это всегда соответствует IP-адресу 172.17.0.1
интерфейса docker0
на хост-компьютере. Следовательно, если вы запускаете контейнер с помощью файла Compose (то есть, не используя docker run
), бесконечно высока вероятность того, что этот контейнер будет полагаться на сеть, созданную во время сборки сервисов Compose. И эта сеть будет использовать случайный адрес шлюза в форме 172.xxx.0.1
, который наверняка будет отличаться от шлюза докера по умолчанию 172.17.0.1
, это может быть, например, 172.22.0.1
.
Это может вызвать некоторые проблемы, если, например, вы явно авторизовали соединения только с 172.17.0.1
на порт локальной службы на хост-компьютере.
Действительно, невозможно будет пропинговать порт этой службы изнутри контейнера именно из-за этого другого назначенного адреса шлюза ( 172.22.0.1
).
Таким образом, и поскольку вы не можете заранее знать, какой адрес шлюза будет иметь сеть Compose, я настоятельно рекомендую вам разумно создать пользовательское определение сети
в файле Compose, например:
версия: '3.9' сети: сеть1: имя: моя-сеть прикрепляемый: правда IPAM: драйвер: по умолчанию конфигурация: - подсеть: 172.18.0.0/16 ip_range: 172.18.5.0/24 шлюз: 172.18.0.1 услуги: постгрес: изображение: postgres:14.1-яблочко среда: POSTGRES_PASSWORD: **** порты: - "5433:5432" сети: - сеть1
При необходимости я также рекомендую использовать какой-нибудь калькулятор диапазона IP-адресов, например http://jodies.de/ipcalc?host=172.18.5.0&mask1=24&mask2=, чтобы помочь себе в этой задаче, особенно при определении диапазонов с помощью CIDR. обозначение.
Наконец, раскрутите контейнер. И проверьте правильность использования нового указанного адреса шлюза 172.18.0.1
:
$ docker inspect tmp_postgres_1 -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' 172.18.0.1
Присоединитесь к нему, установите netcat
и проверьте:
root@9fe8de220d44:/# nc -vz 172.18.0.1 80 Подключение к 172.18.0.1 80 порту [tcp/http] выполнено успешно!
(вам также может потребоваться соответствующим образом адаптировать правила брандмауэра и/или разрешенные IP-адреса для вашей локальной службы, например базы данных)
Другим решением
является подключение к существующей по умолчанию сети bridge
с использованием сети docker
. Для этого после запуска контейнера выполните следующую команду:
$ docker network connect bridge tmp_postgres_1
Теперь проверка должна дать вам два IP-адреса; тот, который вы настроили (если есть) или тот, который был автоматически настроен докером во время создания контейнера, и мост
IP:
$ docker inspect tmp_postgres_1 -f '{{range . NetworkSettings.Networks}}{ {.Шлюз}}{{конец}}' 172.17.0.1 172.18.0.1
или
, вы можете пропустить создание сети вручную и прямо указать в определении службы Compose, чтобы присоединиться к мост
сеть с использованием флага network_mode:
следующим образом:
версия: '3.9' услуги: постгрес: изображение: postgres:14.1-яблочко среда: POSTGRES_PASSWORD: **** порты: - "5433:5432" # удаленные сети: и добавьте это: network_mode: мост дополнительные_хосты: - "host.docker.internal: хост-шлюз"
Теперь, независимо от того, использовали ли вы метод docker network connect...
или флаг network_mode:
в файле Compose, вы обычно успешно присоединяетесь к стандартному мост
сети со шлюзом 172.17.0.1
, это позволит вам использовать этот IP-адрес шлюза для подключения к вашему хосту, либо введя его числовое значение, либо, если установлено, переменную host. docker.internal
:
root@9fe8de220d44:/# nc -vz 172.18.0.1 80 Подключение к 172.18.0.1 80 порту [tcp/http] выполнено успешно! root@9fe8de220d44:/# nc -vz 172.17.0.1 80 Подключение к 172.18.0.1 80 порту [tcp/http] выполнено успешно! root@9fe8de220d44:/# nc -vz host.docker.internal 80 Подключение к порту host.docker.internal (172.17.0.1) 80 [tcp/http] выполнено успешно!
⚠️ Но, присоединившись к сети bridge
, вы также позволяете своему контейнеру взаимодействовать со всеми другими контейнерами в этой сети (если у них есть опубликованные порты) и наоборот. Поэтому, если вам нужно явно отделить его от этих других контейнеров, лучше не делать этого и придерживаться собственной сети!
Что, если что-то пойдет не так?
Если вы испортили свою сеть докеров после некоторых испытаний, вы можете столкнуться с таким сообщением об ошибке:
Создание tmp_postgres_1... ошибка
ОШИБКА: для tmp_postgres_1 Не удается запустить службу postgres: не удалось создать конечную точку tmp_postgres_1 на сетевом мосту: сеть 895de42e2a0bdaab5423a6356a079fae55aae41ae268ee887ed214bd6fd88486 не существует
ОШИБКА: для postgress Не удается запустить службу postgres: не удалось создать конечную точку tmp_postgres_1 на сетевом мосту: сеть 895de42e2a0bdaab5423a6356a079fae55aae41ae268ee887ed214bd6fd88486 не существует
ОШИБКА: обнаружены ошибки при запуске проекта.