Debian 10 dns настройка

Обновлено: 30.06.2024

По умолчанию настройки выполнены для получения IP адреса по DHCP.

lo — локальный интерфейс (127.0.0.1), а enp0s3 — это сетевой интерфейс (присваивается сетевой адрес по протоколу DHCP).

Настройка статического IP-адреса

Текущая информация о состоянии сетевых интерфейсов:

Для установки статического IP-адреса правим файл с сетевыми настройками /etc/network/interfaces:

auto — запускать интерфейс при загрузке системы;
iface — имя интерфейса;
address — статический IP-адрес;
netmask — маски сети;
gateway — шлюз по-умолчанию;
dns-nameservers — сервера DNS, разделяются пробелами;

Вместо параметра auto, можно использовать allow-hotplug, если нужно запускать интерфейс как только система обнаружит устройство.

При отсутствии пакета resolvconf (отвечает за автоматическое назначение DNS серверов), настройки DNS будут определяется из файла /etc/resolv.conf, добавим в него параметры DNS:

Если использовать параметр allow-hotplug, то при перезапуске сервиса сети, сетевой интерфейс не поднимется вплоть до перезагрузки сервера. Потому как этот параметр обозначает, что настройки будут приняты только тогда, когда устройство будет подключено и обнаружено системой, а т.к. перезагрузка сервиса сети никак не связана с отключением устройства, то и настройки к уже обнаруженному устройству не будут применены.

Настройка виртуальных интерфейсов

В случае когда необходимо присвоить более чем один IP-адрес к физическому сетевому интерфейсу, то можно создать его виртуальный интерфейс. К примеру, к интерфейсу enp0s3, добавим виртуальный интерфейс (enp0s3:1) и назначим ему статический IP-адрес (10.3.0.22/24).

Название виртуального интерфейса, базируется на оригинальном физическом сетевом интерфейсе и обозначается после двоеточия. В файл конфигурации /etc/network/interfaces, добавляем:

Следует обратить внимание, что система критична к порядку поднятия интерфейсов, поэтому надо поднимать в таком порядке: lo, enp0s3, enp0s3:1 и так далее.

Настройка VLAN 802.1Q

Если необходимо работать сразу в нескольких виртуальных локальных сетях (VLAN), то можно включить поддержку VLAN 802.1Q на сетевом интерфейсе.

Для этого устанавливаем пакет для работы с VLAN:

Загружаем модулем ядра для vlan (8021q) в систему:

Добавим модуль в автозагрузку:

В файл конфигурации /etc/network/interfaces, добавляем логический интерфейс (например, enp0s3.500), который принадлежит VLAN500:

Опция vlan_raw_device, указывает системе на каком сетевом интерфейсе этот VLAN будет тегироваться. После внесения изменений перезапускаем сетевые интерфейсы:

Настройка сети в Debian 10 окончена.

Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.

Итак, сегодня мы поговорим с вами о настройке DNS в Debian. Тем, кто «в теме», не потребуются объяснения, но для остальных пройдемся от малого. Что такое DNS? Это компьютерная распределенная система для получения информации о доменах. Она используется для получения IP-адреса той самой уютной ЖЖшки, или ВК. Нужна она прежде всего для человека, так как нам, как ни странно, будет проще запомнить адрес в буквенном формате, чем в числовом. Но это не единственный плюс.

Раньше сеть была гораздо меньше нынешней и на каждой машине находился файл hosts, его рассылали автоматически и «централизованно». Он отвечал за преобразование между доменными и IP-адресами, но сеть непрерывно росла, а данный метод уже явно не справлялся с поставленными задачами. Вот здесь и выходит на сцену механизм, способный делать все то же самое и в больших объемах — DNS. С основными определениями разобрались, теперь перейдем к сути статьи.

Настройка DNS в Debian

Сперва мы ознакомимся с файлом /etc/resolv.conf. Это — это основной файл настройки библиотеки распознавателя имен DNS. Распознаватель - это библиотека на языке Cи, именно она обеспечивает доступ к DNS для программ в системе.

Его функции настроены на следующее:

  • На проверку записей в файле /etc/hosts или на нескольких серверах DNS;
  • На использование базы данных хостов NIS (Информационная служба сети);

В современных Linux-системах, которые используют systemd, локальные приложения получают доступ к DNS через демон system-resolved. По умолчанию эта служба имеет четыре различных режима и использует по умолчанию файл-заглушку. Его путь: /run/systemd/resolve/stub-resolv.conf.

В данном файле используется в качестве единственного DNS-сервера заглушка — 127.0.0.53, которая перенаправляет обращения к локальному DNS серверу, а он, в свою очередь уже получает информацию от других серверов в интернете. Надеюсь, вы поняли суть.

К сожалению, из-за того, что /etc/resolv.conf не прямо управляется службой systemd-resolved, а иногда с помощью использования initscripts или NetworkManager, любые пользовательские изменения НЕ будут сохранены. С учетом всех сложностей, описанных выше, я хочу поделиться с вами информацией о том, как настроить DNS на Debian в этом злополучном файле /etc/resolv.conf.

Шаг 1. Содержимое /etc/resolv.conf

Чтобы это сделать мы откроем терминал и напишем команду:


В нем мы видим имя сервера nameserver 192.168.1.1 и больше ничего. Это пока что, но мы к нему вернемся.

Шаг 2. Установка resolvconf

Обязательно обновим систему с помощью команды:

sudo apt update


После обновления устанавливаем resolvconf. Для этого пишем команду:

sudo apt install resolvconf


После установки система должна автоматически запустить службу resolvconf.service. Чтобы проверить так ли это вам надо будет использовать команду:

sudo systemctl status resolvconf.service


Здесь мы видим, что служба не запущена, но бывает, что триггер срабатывает автоматически. Так или иначе, нам надо запустить эту службу. Используем следующие команды:

sudo systemctl start resolvconf.service

sudo systemctl enable resolvconf.service

sudo systemctl status resolvconf.service



Как вы поняли, с помощью sudo systemctl start resolvconf.service и sudo systemctl enable resolvconf.service мы запускаем службу, а sudo systemctl status resolvconf.service отобразит состояние активности этой службы.

Шаг 3. Настройка DNS

Теперь откройте файл /etc/resolvconf/resolv.conf.d/head. Делается это с помощью команды:

sudo nano /etc/resolvconf/resolv.conf.d/head

Прекрасно, следующим шагом будет внесение данных в этот файл. Вписываем в него следующие строки так, как это показано на скриншоте:

nameserver 8.8.8.8
nameserver 8.8.4.4


Сохраняем изменения с помощью ctrl+o -> Enter -> ctrl+x. Теперь надо перезагрузить систему, чтобы изменения пришли в действие.

Шаг 4. Проверяем файл /etc/resolv.conf

После перезагрузки снова открываем терминал и пишем команду для запуска службы (это вторичная мера, у меня, например, триггер сработал автоматически):

sudo systemctl start resolvconf.service

Видим, что служба запущена. Переходим в наш конфигурационный файл, который был описан в самом начале статьи. Используем команду:


На скриншоте отображены те самые данные, которые мы внесли в файл — nameserver 8.8.8.8 и nameserver 8.8.4.4 На этом все! Настройка DNS Debian завершена. Достаточно легко и просто, а главное, что все работает.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Если вы обычный пользователь Linux или системный администратор, вам может потребоваться настроить сеть в вашей системе. В отличие от настольных систем, где вы можете использовать динамические конфигурации, вам придется выполнять определенные конфигурации на серверах в зависимости от вашей сетевой среды. Динамические конфигурации постоянно меняются после перезагрузки сервера, поэтому в некоторых случаях возникает необходимость иметь статические конфигурации, например, когда требуется удаленное администрирование сервера или когда на сервере запущено приложение или служба, требующая постоянного доступа. Итак, в этой статье мы объясним, как вы можете настроить базовую сеть в ОС Linux на основе Debian. Базовая настройка включает в себя настройку статического IP, шлюза, DNS и имени хоста.

Мы использовали ОС Debian 10 для описания процедуры, упомянутой в этой статье.

Просмотр текущей конфигурации сети

Чтобы просмотреть текущие настройки сети, выполните следующую команду в Терминале. Он покажет выходные данные для каждого интерфейса в отдельном разделе.


Вы также можете запустить команду ifconfig для просмотра IP-адреса.


Запустите приведенную ниже команду в Терминале, чтобы найти IP-адрес DNS-сервера:

Изменение конфигурации сети

Базовая конфигурация сети включает в себя настройку статического или динамического IP-адреса, добавление шлюза, информацию о DNS-сервере. Существуют разные способы настройки сети в ОС Debian.

Метод 1: Используйте команду ifconfig и route

В этом методе мы увидим, как настроить параметры сети. Однако помните, что эти настройки не будут постоянными. После перезагрузки системы настройки будут удалены.

1. Назначьте IP-адрес интерфейсу

Мы будем использовать ifconfig для назначения IP-адреса нашему сетевому интерфейсу. Ниже приведен синтаксис команды:

В следующем примере команда назначает IP-адрес 192.168.72.165 сетевому интерфейсу eth0. Маска сети составляет 24 (255.255.255.0) бит.


2. Установите шлюз по умолчанию

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

В следующем примере я использую 192.68.72.2 в качестве адреса моего шлюза по умолчанию.


3. Настройте DNS-сервер

DNS-сервер разрешает доменное имя в IP-адрес, чтобы браузер мог загружать интернет-ресурсы. Чтобы настроить адрес сервера имен DNS, используйте следующий синтаксис команды:

В следующем примере я устанавливаю общедоступный IP-адрес DNS от Google в качестве адреса моих серверов имен, который равен 8.8.8.8.



После этого вы можете проверить свою конфигурацию, выполнив команду ifconfig следующим образом:

Удалить IP-адрес из сетевого интерфейса

Чтобы удалить IP-адрес из сетевого интерфейса, выполните следующую команду в терминале:

Метод 2: Измените настройки сети с помощью файла интерфейсов

В этом методе мы настроим постоянные параметры сети, которые ваша система запомнит даже после перезагрузки.Для этого нам нужно отредактировать файл / etc / network / interfaces с помощью любого текстового редактора. Для этого выполните в терминале следующую команду:

Затем добавьте в нее следующие строки:

Теперь нажмите Ctrl + O , а затем Ctrl + X , чтобы сохранить и выйдите из файла.


Обратите внимание, что адрес, маска сети и строка шлюза должны начинаться с пробела! В случае, если вы хотите динамически назначить адрес, используйте следующие строки:

Определение (DNS) серверов имен

Чтобы добавить информацию о DNS-сервере, нам нужно отредактировать /etc/resolv.conf. файл. Для этого выполните следующую команду:

Я добавляю сюда два сервера имен. Одним из них является адрес общедоступного DNS-сервера Google, а другим - IP-адрес моего маршрутизатора.

Теперь нажмите Ctrl + O , а затем Ctrl + X , чтобы сохранить и выйти из файла.


После этого вы можете проверить IP-адрес с помощью команды ip a или ifconfig .


Метод 3: Изменение конфигурации сети с помощью графического интерфейса Debian

В этом методе мы будем использовать графический способ настройки основных параметров сети.

Для этого нажмите кнопку Windows на клавиатуре, затем в строке поиска введите settings . Из появившихся результатов откройте Settings . Затем на левой боковой панели щелкните вкладку Network . После этого нажмите на значок шестеренки интерфейса, который вы хотите настроить.


Перейдите на вкладку IPv4 . Выберите Manual и введите IP-адрес, маску сети, шлюз и DNS.


Если вы хотите динамически назначить IP-адрес, выберите опцию Автоматически (DHCP) и введите информацию DNS.


Сделав это, нажмите Apply , чтобы сохранить изменения.

Настройка имени хоста

Как и IP-адрес, уникальное имя хоста также используется для распознавания системы в сети. Чтобы найти текущее имя хоста вашей системы, выполните следующую команду в Терминале:


Чтобы изменить имя хоста системы, вы можете запустить следующую команду. Но как только вы перезагрузите систему, ваше первоначальное имя хоста будет восстановлено.

Здесь я меняю имя хоста с Debian на Debian10.


Чтобы навсегда изменить имя хоста, вам нужно будет отредактировать файл имени хоста, расположенный по адресу / etc / hostname . Для этого введите приведенную ниже команду:


Этот файл содержит только имя хоста файла, измените старое имя на нужное имя, а затем нажмите Ctrl + O и Ctrl + X чтобы сохранить и выйти.

Некоторые другие полезные команды, которые могут вам понадобиться при настройке сети в ОС Debian:

С ее помощью можно проверить соединение между двумя системами в локальной или глобальной сети. Чтобы проверить подключение к устройству, введите ping, а затем IP-адрес или имя хоста этого устройства:

Arp используется для преобразования IP-адресов в адреса Ethernet. Чтобы напечатать таблицу arp, введите:

Route

Она используется для отображения таблицы маршрутизации системы Linux.

Преобразует имена хостов в IP-адреса и наоборот.

Чтобы найти IP для указанного домена:

Чтобы найти имя домена для указанного IP-адреса.

Включение и отключение интерфейса

Чтобы включить интерфейс, используйте:

Чтобы отключить интерфейс, используйте:

Вот и все! В этой статье мы объяснили, как настроить базовую сеть в ОС Debian. Мы обсудили различные методы, включая графический и командной строки. Вы можете выбрать тот, который вы найдете более простым и удобным.


Данная конфигурация поможет скрыть все DNS запросы локальных устройств из локальной сети.

В данной статье используется Unbound — высокопроизводительный, кеширующий и рекурсивный DNS сервер в сочетании с DNSCrypt-proxy — гибкий DNS-прокси с поддержкой современных зашифрованных протоколов DNS.

Установка DNSCrypt-proxy

Прописываем тестовый репозиторий

Настраиваем pinning в APT

Добавляем в файл:

Обновляемся и устанавливаем DNSCrypt-proxy

Проверяем работоспособность прокси:

Делаем запрос к прокси:

Если выскакивает ошибка [FATAL] Unable to load the configuration file [dnscrypt-proxy.toml] -- Maybe use the -config command-line switch?

То выполняем следующее:

На данном этапе мы получаем рабочий dnscrypt-proxy который слушает 53 порт и если вам не нужны расширенные возможности DNS сервера Unbound то дальнейшую установку можно опустить, взяв во внимание только пункт по настройке dnscrypt-proxy.toml

Настройка DNSCrypt-proxy

Заменяем содержимое файла на:

Заменяем содержимое файла на:

Установка Unbound

Настройка Unbound

Создаем дополнительный файл конфигурации

И добавляем туда следующую конфигурацию.

Проверяем конфигурацию на наличие ошибок:

Если появляется ошибка fatal error: logfile directory does not exist

То выполняем следующее:

Перезагружаем службу unbound

Проверяем работоспособность утилитой dig из пакета dnsutils

Некоторое описание значений

Параметр num-threads указывает количество потоков

Параметры msg-cache-slabs , rrset-cache-slabs , infra-cache-slabs и key-cache-slabs должны быть установлены степенями двойки, максимально близкими к num-threads.

Параметр outgoing-range указывает количество портов которые могут быть открыты

Параметры msg-cache-size , rrset-cache-size и key-cache-size указывает на объем кэша, при этом rrset-cache-size должен быть в два раза больше msg-cache-size.

Параметр cache-max-ttl указывает максимальное время жизни записи в кэше.

Параметр cache-min-ttl указывает минимальное время жизни записи где по умолчанию стоит 0. Ноль указывает что время жизни записи будет таким-же как установил владелец домена.

Если не работает лог.

Если записей в логе нет, а при запуске unbound в syslog пишется что нет доступа к файлу, то сначала проверьте права на этот файл. Права на запись должны быть выданы группе и пользователю unbound , который создается автоматически при установке сервера.

Читайте также: