- Как я могу указать IP и порты для имени хоста в файле хостов Windows?
- Сценарий типичной проблемы
- Возможное решение
- обзор
- действия
- Ссылки на ресурсы:
- The Hosts File on Linux
- Why Edit /etc/hosts file?
- How to Edit /etc/hosts file?
- Block a Website
- Access Remote Computer through an Alias
- Karim Buzdar
- 👠 КАК настроить файлы /ETC/HOSTS И /ETC/NSSWITCH.CONF
- РАЗРЕШЕНИЕ ДОМЕННОГО ИМЕНИ В LINUX
- КОНФИГУРАЦИЯ ФАЙЛА HOSTS В LINUX
- Как изменить файл Hosts в Linux
- Что такое файл Hosts?
- Расположение файла Hosts в Linux
- Как добавлять сайты в Hosts файл
- Создание ярлыков в Hosts файле
- Потенциальные проблемы использования
Как я могу указать IP и порты для имени хоста в файле хостов Windows?
Я хочу указать имена хостов с двумя разными портами в hosts файле Windows .
Есть ли способ сделать это? Или это не разрешено самой Windows?
Я трачу свое время на поиски решения в течение последних 8 часов.
Можно ли указать порты в файле хоста hosts ? Например: 127.0.0.1:80 и 127.0.0.1:9211
Просто используйте IP-адреса без портов. Пример:
Затем для доступа к 192.168.2.50:5555 из вашего браузера (или другой программы):
hosts Файл можно найти по адресу:
Linux /etc/hosts
Windows : C:\Windows\System32\drivers\etc\hosts
Вы не можете связать номер порта с именем хоста, сопоставленным с IP в файле hosts. Вы можете достичь этого с помощью Fiddler, используя FiddlerScript:
- hosts Файл только для разрешения имен
- Браузер , при отсутствии непосредственно с указанием порта: то есть :
, по умолчанию порт 80
Сценарий типичной проблемы
- приложения обычно устанавливают свои серверы на тот же адрес IP по умолчанию 127.0.0.1 ака localhost (определенного в файле хостов) .
чтобы избежать коллизий между, возможно, другими существующими / работающими серверами, приложение, как правило, позволяет изменить порт, но не IP-адрес.
2а. Если бы вы могли изменить ip-адрес сервера на другой в зарезервированном адресном пространстве loopback 127.0.0.0/8 , вы, вероятно, не пытались бы устанавливать порты в файле hosts.
Возможное решение
Вы можете обойти это, используя Windows Networking Network netsh в качестве прокси порта.
обзор
действия
- Запустите свой сервер на localhost:8081
- Добавьте «локальный DNS» в файл hosts в качестве новой строки
- 127.65.43.21 example.app
- Любой свободный адрес в сети 127.0.0.0/8 может быть использован.
- Примечание: я предполагаю, 127.65.43.21:80 что не занят другой службой.
- Вы можете проверить с netstat -a -n -p TCP | grep «LISTENING»
- 127.65.43.21 example.app
- добавьте следующую конфигурацию сети с помощью утилиты netsh
- netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
- Доступ к серверу по адресу http://example.app
Примечания:
— Эти команды / изменения файла должны выполняться с правами администратора.
— netsh portproxy нуждается в библиотеках ipv6 даже только для использования v4tov4, обычно они также будут включены по умолчанию, в противном случае установите их с помощью следующей команды: netsh interface ipv6 install
Вы можете увидеть запись, которую вы добавили с помощью команды:
netsh interface portproxy show v4tov4
Вы можете удалить запись с помощью следующей команды:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Ссылки на ресурсы:
Примечание: этот ответ является дублированием моего ответа, который обсуждался в этом аналогичном вопросе / ответе по stackoverflow.
Источник
The Hosts File on Linux
All operating systems with network support have a hosts file to translate hostnames to IP addresses. Whenever you open a website by typing its hostname, your system will read through the hosts file to check for the corresponding IP and then open it. The hosts file is a simple text file located in the etc folder on Linux and Mac OS (/etc/hosts). Windows has a hosts file as well, on Windows you can find it in Windows\System32\drivers\etc\
Here is how it looks like:
From what we mentioned, you might be expecting this file to have a very long list of IPs and corresponding hostnames; but that is not true. The hosts file only contains several lines;
- The first part, by default, contains the hostnames and IP addresses of your localhost and machine. This is the part you will usually modify to make the desired changes.
- The second part has information about IPv6 capable hosts and you will hardly be editing these lines.
Whenever you type an address, your system will check the hosts file for its presence; if it is present there, you will be directed to the corresponding IP. If the hostname is not defined in the hosts file, your system will check the DNS server of your internet to look up for the corresponding IP and redirect you accordingly.
Why Edit /etc/hosts file?
By editing the hosts files, you can achieve the following things:
- Block a website
- Handle an attack or resolve a prank
- Create an alias for locations on your local server
- Override addresses that your DNS server provides
- Control access to network traffic
How to Edit /etc/hosts file?
You can edit the hosts text file, located at /etc/hosts only as a superuser. You will first have to open it in text editors such as VI editor, Nano editor or gedit, etc. in the Linux terminal. You will then make the required changes and save the file for these changes to take effect.
In this article, we will use the Nano editor to edit the file. Please type the following command:
As mentioned before, we will be editing the first part of the hosts file where IP addresses and hostnames are defined. We will explain the following two ways in which you can make use of the hosts file: Advertisement
- Block a website
- Access Remote Computer Through an Alias
Block a Website
You can block a website by redirecting it to the IP of your localhost or the default route.
For example, if we want to block google.com, we can add the following text to our file:
Now when we open the google website, our system will take the IP of our localhost (127.0.0.1) from the hosts file and redirect us to that instead of the google IP from our DNS server.
Now when we open the google website, our system will take the IP of the default route (0.0.0.0) from the hosts file and redirect us to that instead of the google IP from our DNS server.
This is how the edited file will look like. Please save the changes by hitting ctrl+X.
Now when you try to open www.google.com from your browser, you will see an error message as follows:
Please note that we have defined the complete address www.google.com instead of just the hostname google.com in the hosts file because modern browsers sometimes circumvent the block if we only define the latter.
There are also some predefined blocklists available that you may use in your hosts file: https://github.com/StevenBlack/hosts
Access Remote Computer through an Alias
Suppose we have a server located at a local network that we want to access. We usually have to type the server’s IP to access it unless it has been defined on our local DNS. One way to avoid typing the IP, again and again, is to assign an alias to the server in the hosts file as follows:
The IP corresponds to the location of the server we want to access and myserver is the new alias we want to use.
Now when we saved the file and type myserver in the address bar, we will be redirected to our remote server.
We have learned that by making very simple changes to the hosts file, we can customize and thus redirect the network traffic according to our needs. We can also get rid of a network attack or prank by restoring the hosts file to its default.
Karim Buzdar
About the Author: Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. You can reach Karim on LinkedIn
Источник
👠 КАК настроить файлы /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.
Как видите, с его помощью вы можете заблокировать доступ к нежелательным ресурсам, например, к которым программы не должны получать доступ.
Источник
Как изменить файл 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-адрес вручную.
Кроме того, вы можете использовать файл hosts для создания ярлыков доступа к определенным сайтам в Интернете. Используйте такую команду, как nslookup, чтобы найти IP-адрес веб-сайта, затем добавьте его в файл hosts вместе с нужным ярлыком, как в примере выше. Но это работает только на сайтах с выделенными IP-адресами. Скорее всего, это не сработает с большинством сайтов, которые вы посещаете.
Потенциальные проблемы использования
Итак, вы теперь знаете, как вносить изменения в файл хоста, но при использовании Google Chrome вы можете столкнуться с радом проблем. Этот веб-браузер имеет тенденцию игнорировать файл hosts, если только вы не сделаете одну из двух возможных вещей:
- Вводите http:// в начале каждого адреса. Например, если у вас заблокирована Википедия в файле hosts, то Chrome обойдет этот блок, если вы просто введете wikipedia.com в адресную строку. Если вы введете http://wikipedia.com в адресную строку, то он будет следовать за файлом hosts.
- Отключите в настройках Chrome параметр «Использовать веб-сервис для устранения ошибок навигации», и вам не придется каждый раз вводить адрес http:// в начале работы. Это один из нескольких советов Google Chrome по обеспечению конфиденциальности, который стоит сделать в любом случае.
Файл hosts предоставляет простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии Linux не имеют встроенного программного обеспечения родительского контроля, эти знания могут пригодиться, если вы решите начать работу с компьютером под управлением Linux.
Источник