Как настроить локальный DNS используя файл /etc/hosts в Linux
DNS (система или служба доменных имён) — это иерархическая, децентрализованная служба/система наименования и перевода доменных имён в IP адреса в Интернете или в приватной сети, а также серверы, которые предоставляют такой сервис и называют DNS серверами.
Эта статья объясняет, как настроить локальный DNS используя файл /etc/hosts в системах Linux для локального разрешения доменов или тестирования веб-сайтов перед размещением их на доступном глобально веб-сервере.
Например, изменив файл /etc/hosts на своей локальной системе, чтобы в нём содержалась запись связывающая доменное имя с IP, вы можете протестировать сайт в идентичном окружении, как если бы он был размещён на реальном доменном имени. Такой подход позволит проверить работу, например, абсолютных ссылок, которые включают в адресе также и домен. Даже работу SSL сертификата таким образом можно проверить на локальной машине до того, как сделать это на рабочей сервере.
Ещё одно применение локального разрешения имён в файле /etc/hosts — создание коротких, легко запоминающихся имён для других устройств и компьютеров в локальной сети, благодаря чему можно будет вместо ввода IP адреса указать понятное имя «kali» или «files» для доступа к другому компьютеру по SSH или на его веб-сервер.
/etc/hosts — это файл операционной системы, который переводим имена хостов или имена доменов в IP адреса.
Внимание: если в вашей сети компьютерам IP адрес назначается автоматически при каждой загрузке, то при следующем включении IP может измениться и вы не сможете подключиться к устройству по имени, так как оно будет указывать на старый IP. Чтобы этот метод работал и после перезагрузки, настройте статические IP адреса для всех устройств, к которым вы будете обращаться по имени хоста, и которые вы добавите в файл hosts.
Для целей настоящей статьи мы будем использовать следующий домен, имена хостов и IP адреса (используйте значения в соответствии с вашей локальной сетью).
Что такое Переключатель сервисов имён в Linux (Name Service Switch)
Перед тем, как продолжить, вы должны понимать несколько вещей о другом важном файле, который расположен в /etc/nsswitch.conf. Он обеспечивает функции Переключателя сервисов имён, что означает, что он контролирует порядок (приоритет) в котором опрашиваются службы запросах к сервисам преобразования имени.
Если коротко, то за используемые для преобразования имён хостов службы перечислены в строке, которая начинается на «hosts:», пример данной строки:
Если в этой строке на первом месте слово «files» расположено перед словом «dns», то это означает, что для запросов к службе имён в начале делается запрос к файлу /etc/hosts, а затем к DNS. Но если слово «dns» стоит до «files», то при поиске IP адреса домена в начале будет сделан запрос DNS, и если не получено значение, то будут опрошены другие соответствующие службы или файлы.
Для наших целей важно, чтобы в строке «hosts:» присутствовало слово «files». А если вы хотите в файле /etc/hosts сделать записи для реальных доменных имён (например, для zalinux.ru), то необходимо, чтобы слово «files» в этой строке стояло раньше слова «dns», иначе вначале будет делаться запрос к DNS серверу, который будет возвращать IP сайта и очередь для получения IP из /etc/hosts не дойдёт
Проверьте содержимое этого файла:

Или просто посмотрите нужную строку:
Локальная настройка DNS используя файл /etc/hosts в Linux
Теперь откройте файл /etc/hosts используя любой текстовый редактор:
Добавьте в этот файл строки в формате:
Например, для моих данных я добавляю:
Сохраните и закройте файл.
Изменения, внесённые в файл hosts, вступают в силу немедленно.
Далее проверьте, что всё работает как и ожидается. Выполним пинг первого хоста командой ping. Для других хостов можно сделать аналогичную проверку:
Или используем сокращённый псевдоним:

На хосте kali.hackware.lan у меня запущен веб-сервер, поэтому я могу получить к нему доступ в веб-браузере, набрав адрес http://kali.hackware.lan/ или более короткий псевдоним http://kali.

Важно: обращаться по этим именам к другим компьютерам я могу только с тех систем, где добавлены аналогичные записи в файл /etc/hosts.
Если вы попытаетесь проверить IP адрес с помощью команды dig, nslookup или host, то для локальных хостов не будут найдены записи. Дело в том, что эти команды только делает запросы к DNS серверу и игнорируют настройки в файлах /etc/hosts и /etc/nsswitch.conf.
Формат файла /etc/hosts
Файл /etc/hosts в современных системах Linux присутствует скорее историческим причинам — ранее, до появления и распространения службы DNS, этот файл выполнял задачи по трансляции имён в IP адреса. В современных системах подразумевается, что функции этого файла может выполнять DNS сервер (например, локальный кэширующий DNS сервер, в котором присутствуют пользовательские записи и который, в случае если запрашиваемое имя не найдено, обращается к другому DNS серверу в Интернете). В принципе, аналогичный показанному результат действительно можно было достичь установив и настроив локальный DNS — в этом случае программы dig и другие правильно бы показывали IP адреса даже этих локальных хостов. Тем не менее как мы могли убедиться, использование файла /etc/hosts намного быстрее и удобнее для небольшого числа записей. По этой причине файл /etc/hosts по-прежнему часто применяется.
Файл /etc/hosts является простым текстовым файлом, в котором IP адреса связаны с именами хостов, каждая строка содержит по одному IP адресу. Для каждого хоста одна строка должна представлять следующую информацию:
Поля записи разделяются любым количеством пробелов и/или символов табуляции. Текст с символа «#» до конца строки является комментарием и игнорируется. Имена хостов могут содержать только буквы английского алфавита, знак минус («—«) и точку («.«). Они должны начинаться с буквы и заканчиваться на букву. Необязательные псевдонимы указываются для изменений имён, альтернативных написаний, укороченных имён хостов или родовых имён хостов (например, localhost).
Просмотр и изменение DNS в Linux

Если Linux снабжён графическим интерфейсом, достаточно открыть сведения о сетевом соединении и посмотреть в строчку DNS.
По понятным причинам нас этот способ не очень интересует. Да и элементы интерфейса могут у разных сред рабочего стола различаться. Рассмотрим просмотр и настройку DNS в терминале Linux.
Традиционно DNS в Linux настраивалась через файл /etc/resolv.conf. Сейчас, однако, он может оказаться бесполезным. Откроем его любым консольным текстовым редактором, например nano:
Мы можем увидеть следующее:
Это значит, что в системе есть systemd, который содержит свой локальный сервер DNS. Его адрес и прописан в этом файле. Однако, в конечном итоге, используются другие DNS-серверы! Посмотреть их можно по-разному. Можно использовать команду
Вы увидите нечто подобное тому, что на скриншоте ниже. Если в системе несколько сетевых интерфейсов, информация будет предоставлена по каждому.
Другой способ — использовать утилиту nmcli. Введите команду
Как изменить DNS? Если в системе нет systemd, то это можно сделать редактированием файла /etc/resolv.conf. Откройте его любым текстовым редактором, найдите строку nameserver и впишите адреса DNS-серверов. Если их несколько, введите их адреса последовательно. Например:
Если в ОС есть systemd, вышеописанных способ бесполезен, поскольку настройки будут перезаписываться при перезагрузке системы. В данном случае нам нужно редактировать файл /etc/systemd/resolved.conf.
В разделе Resolve отредактируйте строку DNS. При необходимости уберите символ # для раскомментирования. Адреса DNS-серверов прописываются через запятую.
Как видим на этом примере, systemd несколько усложнил операционную систему Linux. Однако настроить DNS в ней до сих пор не составляет труда. Кроме того, в Linux можно пользоваться и файлом hosts.
Настройка dns linux mint
В данной статье речь пойдет о сетевых настройках в операционных системах по управлением Debian, Ubuntu, Linux Mint, Knoppix.
Основные конфигурационные файлы
Сетевые настройки осуществляются методом правки конфигурационных файлов, а также с помощью графических программ. В этом разделе рассмотрим файлы конфигурации, используемые в операционных системах Ubuntu, Linux Mint, Knoppix т.п.
Файл настройки сетевых интерфейсов /etc/network/interfaces
В этом файле настраиваются основные данные для сетевых интерфейсов, такие как ip адрес (address), сетевая маска (netmask), адрес сети (network), braodcast адрес (broadcast), шлюз по умолчанию (gateway).
Пример настройки интерфейса «lo», «eth0» и «eth1» для Ubuntu, Linux Mint, Debian.
Файл /etc/hosts
Впоследнее время неактуален, раньше использовался для соответствия списока ip-адресов и символьных имен, хотя иногда всеже используется.
Файл с настройкой сетевого имени /etc/hostname
В Debian и Ubuntu существует специальный файл /etc/hostname, в котором можно изменить сетевое имя, однако чтобы изменения вступили в силу, требуется перезагрузка системы.
Файл настроек DNS серверов /etc/resolv.conf
В этом файле перечисляется список ip адресов DNS серверов.
Управление сетевыми интерфейсами.
Для просмотра состояния и конфигурации интерфейса существуют специальные команды:
Посмотреть таблицу маршрутизации можно используя команду:
В Ubuntu, Debian, Linux Mint, Knoppix существуют специальные сценарии для управления сетевыми интерфейсами.
Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента эти сценарии принимают имя интерфейса.
Сценарий rcnetwork или /etc/init.d/networking позволяют включить (start), отключить (stop) или перезапустить (restart) все интерфейсы разом.
И напоследок, функция маршрутизации между интерфейсами по умолчанию отключена, однако ее можно включить. Для этого надо добавить в файл /ete/sysctl.conf запись net.ipv4.ip_forward=1 и перезапустить систему.
Вот и все. На этом рассмотрение настройки сети в операционных системах Ubuntu, Debian, Linux Mint, Knoppix завершено.
1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>
Как настроить сеть в Cinnamon
Узнайте, как использовать Cinnamon Network Manager
Рабочий стол Cinnamon является средой по умолчанию для Linux Mint. Использовать его, особенно когда вам необходимо настроить сетевое соединение, довольно просто.
Какая Корица?
Для этого руководства мы будем использовать Linux Mint 19.1 с Cinnamon 4.0.10.
DHCP против статических адресов
Прежде чем мы перейдем к реальной конфигурации сети, вам необходимо понять разницу между двумя различными типами сетевых адресов: статическим и динамическим. Статический сетевой адрес – это адрес, сконфигурированный вручную, который никогда не изменяется (если вы не вносите изменения). Динамический адрес, с другой стороны, является адресом, который автоматически назначается вашему настольному компьютеру через протокол динамической конфигурации хоста (DHCP) на вашем интернет-провайдере или хост-сервере. Для домашнего использования динамические адреса обычно являются выбором по умолчанию (и лучшим).
Однако иногда вы можете использовать статический IP-адрес. Скажем, вы хотите иметь возможность обмениваться папками с одного компьютера на другой, или вы хотите иметь возможность удаленного входа на рабочий стол через Secure Shell (SSH). Это значительно упрощается, когда вы не только знаете IP-адрес своего компьютера, но и управляете указанным IP-адресом. Если вы выберете динамический адрес, вам придется изменить эти общие подключения, если ваш маршрутизатор назначит вашему настольному компьютеру новый IP-адрес. Наличие статического IP-адреса обходит эту проблему.
С учетом вышесказанного, как вы настраиваете сеть из среды рабочего стола Cinnamon? Давайте разберемся.
Доступ к Cinnamon Network Manager
Первое, что нужно сделать, это открыть Cinnamon Network Manager. Для этого выполните следующие действия:
На рабочем столе щелкните значок сети на панели задач, чтобы открыть всплывающее меню сети.
Откроется приложение «Сетевые подключения».
Настройка статического IP-адреса
Далее мы настроим сетевое соединение на использование статического IP-адреса (вместо адреса DHCP по умолчанию). Чтобы внести это изменение, выполните следующие действия:
Выберите Вручную в раскрывающемся списке «Метод».
Введите Адрес (IP-адрес), Сетевая маска (обычно 255.255.255.0) и Шлюз (обычно это IP-адрес вашего маршрутизатора), который вы хотите. назначить на компьютер.
Введите статические DNS-серверы, которые вы хотите использовать (необязательно), через запятую.
Слово об IP-адресах
Слово на DNS
DNS означает Dynamic Name Service и отвечает за перевод URL-адресов в IP-адреса, которые может использовать внешняя сеть. Без DNS вам придется запоминать IP-адреса, а не URL-адреса. Поэтому вместо того, чтобы вводить google.com, вам нужно знать IP-адрес для этого адреса (это может быть 64.233.185.139). Вы можете отказаться от настройки статических DNS-адресов. Если вы этого не сделаете, ваш компьютер получит DNS от маршрутизатора, который обслуживал бы его IP-адрес.
Включение нового адреса
После настройки нового адреса ваш настольный компьютер по-прежнему будет использовать исходный адрес (DHCP). Есть два способа, чтобы ваш рабочий стол использовал новый адрес через графический интерфейс. Первое – перезагрузить машину. Перезагрузка, однако, не требуется. Гораздо более быстрый способ применения нового адреса – отключение и повторное включение сети. Вот как:
На рабочем столе нажмите, чтобы открыть всплывающее окно «Сеть».
Наслаждайтесь этим новым статическим IP-адресом.
Поздравляем, ваш новый статический IP-адрес действует и не изменится, пока вы снова не пройдете этот процесс (и не назначите другой адрес).
Как в Linux Mint 20.1 настроить сеть
Наверное одно из первых действий которые делает любой пользователь после установки операционной системы это настраивает подключение к локальной сети (Интернету). В большинстве случаев достаточно подключить сетевой кабель к компьютеру. Так как практически в каждой квартире есть роутер который раздает в автоматическом режиме всем подключенным к нему устройствам настройки сети, с помощью настроенного в нем DHCP сервера. Подобные схемы реализованы практически везде. Но бывают ситуации когда вам нужно вручную указать сетевые настройки, например, для того чтобы соединить два компьютера напрямую кабелем. В этом случае нужно знать и уметь настаивать все это дело в ручную. Сегодня расскажу как можно изменить настройки подключения к сети в Linux Mint.
Если вы используете Linux Mint или планируете перейти на неё то следующие статьи будут вам очень полезны.
Как изменить параметры подключения к сети
Открыть настройки сети можно из «Центра управления» выбрав раздел «Интернет и сеть» и пункт «Расширенная конфигурация сети», либо кликнув ПКМ на значке подключения к сети и выбрав пункт «Изменить соединения» который расположен на панели задач.
В открывшемся окне будут отображены все подключения, в большинстве случаев оно всегда одно. Все завесит от количества установленных сетевых карт и настроенных подключений. Выделяем его и снизу на панели жмем на настройки.
Первое что рекомендую сделать это изменит имя подключения на что то более понятное. Обычно если это подключение к интернету то его называют WAN, а подключение к локальной сети LAN. Это на будущие, вдруг у вас будет 10 подключений). Из всех вкладок вам понадобиться только «Параметры IPv4». Если вы подключаете компьютер к сети в которой есть DHCP сервер то поле метод нужно выбрать пункт «Автоматическое DHCP». А если вы хотите указать все настройки вручную то выбираем «Вручную» и ниже вводим IP адрес, Маску сети, шлюз и сервер DNS.
На этом самая простая настройка сети в операционной системе Linux Mint 20.1 MATE завершена. В принципе для того чтобы иметь простой доступ в интернет этого достаточно. О том как настроить VPN, прокси и прочие расскажу в следующей статье.







