Linux host file directory

Как изменить файл 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-адрес, который всегда будет указывать на вашу собственную систему. Поскольку веб-страница не хранится на вашем компьютере, ваш браузер сообщит, что страница не может быть найдена. Сейчас она фактически заблокирована.

Читайте также:  Ricoh p501 драйвер linux

Если вы чувствуете страх перед терминалом, проверьте приложение 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.

Источник

Edit Etc/Hosts Linux

In various instances, you will need to edit the host file in the system. That can be to either use it as a firewall, i.e., control some network traffic, add a domain name, or test out its functionality.

The host file is a local file or local DNS system that contains a static table lookup for hostnames and IP addresses. It is available in all operating systems, including Windows, Linux, and macOS.

Because it is a local DNS system, it takes precedence over other DNS systems, making it a good choice for unrecognized domains.

This quick tutorial will help you understand what the file contains and how you can edit it.

How to Edit the Host File

You will find the Linux host file stored in the /etc directory. That means you will require sudo privileges or root user to modify its contents.

The general syntax for the entries in the host file is:

The IP address specified in the host file can be either an IPv4 or IPv6 address as long as it resolves to the specified domain.

Comments in Host File

The host file also supports comments that the system ignores. They begin with an octothorpe (#).

For example, the system will ignore the following entry.

Читайте также:  Linux ssh server centos

Rules for Naming Hostnames

Now, there are some rules to naming hostnames in the host file, allowing the system to resolve to the specified IP address.

  • Hostnames should not start with a hyphen or a special character except a wildcard character such as an asterisk.
  • The specified hostname should only contain alphanumeric characters a minus sign (-) and/or period (.)
  • The hostname should only begin and end with alphanumeric characters.

Example Use Case 1

Allow me to show you an example edit of the host file. In my example, I have a local website running on port 8000, and I want to use the domain development.local.

Since the domain development.local is not a valid domain, I cannot rely on DNS to resolve it. Hence, I can edit the host file as:

Finally, I can add the entry shown below:

Finally, open the browser and navigate to the address

If the hostname is correct, the website hosted on the specified port will load.

Example Use Case 2

The next use case is to block a website by redirecting the traffic to an invalid IP address. For example, to block google.com, add the IP address to localhost as:

NOTE: In the above example, we used the Hex IP notation to represent localhost.

To confirm the changes, open the browser and navigate to google.com

As you can see, the address does not resolve to the right address despite my internet connection working correctly.

A simple ping also shows that the address resolves to localhost as shown below:

NOTE: Modifications to the /etc/hosts files work instantly, excluding instances where applications cache the file.

Conclusion

In this tutorial, we covered how to edit the hosts file in Linux and use it as local DNS or a Firewall. Editing the host file comes in handy, especially in cases where the DNS server is down.

About the author

John Otieno

My name is John and am a fellow geek like you. I am passionate about all things computers from Hardware, Operating systems to Programming. My dream is to share my knowledge with the world and help out fellow geeks. Follow my content by subscribing to LinuxHint mailing list

Источник

The Hosts File on Linux

etc hosts

Linux hosts file

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:

The /etc/hosts file on Linux

From what we mentioned, you might expect 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, 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.

Читайте также:  Опции загрузки ядра linux

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:

Edit the /etc/hosts file with nano editor

As mentioned before, we will edit 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:

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.

Edited hosts file to block access to a domain

Now when you try to open www.google.com from your browser, you will see an error message as follows:

Site blocked successfully on the desktop

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 on 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.

Redirect domain to new IP

When we save 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 eliminate a network attack or prank by restoring the hosts file to its default.

Источник

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