Допустим, у веб-сайта нет доменного имени, такого как www.google.com, и единственный способ подключиться к нему — использовать IP-адрес, например 216.58.212.68. Если я добавлю в /etc/hosts запись, похожую на 0.0.0.0 216.58.212.68, будет ли она блокировать подключения к этому веб-сайту? Будет ли веб-браузер также заблокирован от его посещения?

Кроме того, применимо ли это также к локальным адресам, таким как 192.168.0.1?

5
isanae 13 Авг 2018 в 02:31

1 ответ

Лучший ответ

Нет. Файл hosts не влияет на маршрутизацию. Это влияет только на поиск имени. Поскольку 216.58.212.68 — это IP-адрес, система не будет искать его в таблице hosts.

Подробнее о файле hosts читайте здесь: http://manpages. ubuntu.com/manpages/trusty/man5/hosts.5.html

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

  1. Трафик Blackhole с помощью команды route:

    route add 216.58.212.68 gw 127.0.0.1 lo
    
  2. Отклонить трафик с помощью команды route:

    route add -host 216.58.212.68 reject
    
  3. Нулевой маршрут с помощью команды ip:

    ip route add blackhole 216.58.212.68/32
    

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

127.0.0.1    badactor.evil.com

Тогда любой трафик, пытающийся попасть на этот хост из вашей системы, будет фальсифицирован — если ваша система настроена на использование поиска файла hosts до DNS. Любой конкретный поиск на основе DNS по-прежнему будет работать, хотя вы можете использовать сервер DNSMASQ, такой как Pi Hole, чтобы блокировать даже DNS-запросы.

Обязательно прочтите справочные страницы для команд route и ip, чтобы понять, как сделать эти команды постоянными при перезагрузке, если они вам нужны.

14
Anthony Geoghegan 13 Авг 2018 в 13:00