Эта статья посвящена редактированию файла /etc/hosts в системе Debian. Но сначала давайте посмотрим, что такое файл Hosts.
Понимание файла Hosts
Все операционные системы хранят на машине файлы hosts для перевода имен хостов в IP-адреса. Всякий раз, когда вы открываете сайт, набирая его имя хоста, ваша система считывает файл hosts, чтобы проверить соответствующий IP, и затем открывает его. Файл hosts - это простой текстовый файл, расположенный в папке etc вашего Debian.
Вот как он выглядит:
Из того, что мы упомянули, вы, возможно, ожидаете, что в этом файле будет очень длинный список IP и соответствующих им имён хостов; но это не так. Файл hosts содержит всего несколько строк;
- Первая часть, по умолчанию, содержит имена хостов и IP-адреса вашего локального хоста и машины. Это та часть, которую вы обычно изменяете, чтобы внести желаемые изменения.
- Вторая часть содержит информацию о хостах с поддержкой IPv6, и вы вряд ли будете редактировать эти строки.
Всякий раз, когда вы вводите адрес, ваша система проверяет файл hosts на его наличие; если он там присутствует, вы будете направлены на соответствующий IP. Если имя хоста не определено в файле hosts, ваша система проверит DNS-сервер вашего интернета на наличие соответствующего IP и перенаправит вас соответствующим образом.
Зачем редактировать файл Hosts?
Редактируя файлы hosts, вы можете добиться следующего и многого другого:
- заблокировать веб-сайт
- справиться с атакой или решить проблему розыгрыша
- Создать псевдоним для местоположений на вашем локальном сервере
- переопределить адреса, которые предоставляет ваш DNS-сервер
- контролировать доступ к сетевому трафику
Как редактировать файл Hosts?
Редактировать текстовый файл hosts, расположенный по адресу /etc/hosts, можно только в качестве суперпользователя. Сначала вам нужно открыть его в текстовых редакторах, таких как VI editor, Nano editor или gedit и т.д. в терминале Debian. Затем нужно внести необходимые изменения и сохранить файл, чтобы эти изменения вступили в силу.
Итак, для начала давайте откроем Терминал через Поиск приложений (Application Launcher Search) следующим образом:
Доступ к программе запуска приложений Debian можно получить через клавишу Super/Windows.
В этой статье мы будем использовать редактор Nano для редактирования файла hosts. Пожалуйста, введите следующую команду, чтобы открыть файл hosts:
1 | sudo nano /etc/hosts |
Или
1 | sudo gedit /etc/hosts |
Как уже упоминалось, мы будем редактировать первую часть файла hosts, где задаются IP-адреса и имена хостов. Ниже мы расскажем о двух способах использования файла hosts:
- Заблокировать веб-сайт
- Доступ к удаленному компьютеру через псевдоним
Блокирование веб-сайта с помощью файла /etc/hosts
Вы можете заблокировать сайт, перенаправив его на IP вашего localhost или на маршрут по умолчанию.
Например, если мы хотим заблокировать google.com, мы можем добавить следующий текст в наш файл:
1 | 127.0.0.1 www.google.com |
Теперь, когда мы откроем сайт google, наша система возьмет IP нашего локального хоста (127.0.0.1) из файла hosts и перенаправит нас на него вместо IP google с нашего DNS-сервера.
ИЛИ
1 | 0.0.0.0 www.google.com |
Теперь, когда мы открываем сайт google, наша система будет брать IP маршрута по умолчанию (0.0.0.0) из файла hosts и перенаправлять нас на него вместо IP google с нашего DNS-сервера.
Вот как будет выглядеть отредактированный файл.
Пожалуйста, сохраните изменения, нажав ctrl+X, а затем введя y в подсказке имени файла.
Блокирование определенных веб-сайтов с помощью файла /etc/hosts
Теперь, когда вы попытаетесь открыть www.google.com из вашего браузера, вы увидите следующее сообщение об ошибке:
Обратите внимание, что в файле hosts мы указали полный адрес www.google.com, а не только имя хоста google.com, поскольку современные браузеры иногда обходят блокировку, если мы указываем только последнее.
Доступ к удаленному компьютеру через псевдоним
Теперь предположим, что у нас есть сервер, расположенный в локальной сети, к которому мы хотим получить доступ. Обычно нам приходится вводить IP-адрес сервера, чтобы получить к нему доступ, если он не определен в локальном DNS. Один из способов избежать ввода IP снова и снова - назначить псевдоним серверу в файле hosts следующим образом:
1 | 192.168.1.10 myserver |
IP соответствует местоположению сервера, к которому мы хотим получить доступ, а myserver - это новый псевдоним, который мы хотим использовать.
Теперь, когда мы сохраним файл и наберем myserver в адресной строке, мы будем перенаправлены на наш удаленный сервер.
Мы узнали, что, внеся очень простые изменения в файл hosts, мы можем настраивать и перенаправлять сетевой трафик в соответствии с нашими потребностями. Мы также можем избавиться от сетевой атаки или розыгрыша, восстановив файл hosts по умолчанию.
Карим Буздар