Dns server linux mint

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

Каждый сайт, устройство или определенное расположение имеет собственный IP-адрес, определяющийся оборудованием при обращении к сетям и взаимодействии с ними. Пользователи, которые сталкиваются с необходимостью, например, перехода по сайтам или подключения к другому сетевому компьютеру, тоже должны вводить соответствующий адрес для успешного обмена информацией. Однако запомнить случайный набор цифр довольно сложно. Именно поэтому и была придумана система доменных имен DNS (Domain Name System). Теперь компьютер самостоятельно обращается к серверу для определения IP-адреса при указании доменного имени во время перехода к ресурсу. Такие сервера указываются автоматически или вручную, что зависит от типа конфигурации. Именно об этом процессе мы и хотим поговорить в рамках сегодняшнего материала, взяв за пример известный дистрибутив операционной системы Linux.

Настраиваем DNS в Linux

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

Способ 1: Меню графической оболочки

Этот способ в первую очередь нацелен на начинающих пользователей, поскольку чаще всего в Linux их пугает необходимость выполнять каждое действие, вводя команды в консоль. Уже давно практически во всех окружениях присутствуют соответствующие пункты, позволяющие реализовывать различные конфигурации без единого обращения к «Терминалу». К DNS это тоже относится. Давайте посмотрим, как производится данное редактирование в стандартной графической оболочке Ubuntu.

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

Здесь вас интересует кнопка под названием «Параметры соединения».

В открывшемся меню отыщите текущее соединение и нажмите по значку в виде шестеренки, чтобы перейти к конфигурации.

В строке «Метод» вы можете указать оптимальный для вас способ получения DNS. По умолчанию используется автоматический тип через DHCP. Однако ничего не мешает вам просто отметить маркером один из остальных присутствующих пунктов.

Вы можете самостоятельно прописать серверы DNS, к которым следует обращаться вашему маршрутизатору. Для этого в строке «DNS» через запятую укажите IP-адреса. На скриншоте ниже вы видите серверы от Google, и выглядят они так: 8.8.8.8 и 8.8.4.4 .

По завершении конфигурации убедитесь в том, что все выставлено правильно, и только потом кликните на «Применить».

По окончании конфигурации откройте главное меню и запустите «Терминал» для проверки.

Введите nslookup , а затем укажите необходимый адрес для проверки, например, google.com .

После нажатия на Enter подождите несколько секунд и ознакомьтесь с полученной информацией. Вы будете уведомлены о том, какой именно DNS-сервер использовался при пропинговке адреса.

Как видите, этот метод максимально прост и позволяет обойтись без редактирования конфигурационных файлов через консоль. Однако некоторые пользователи не имеют возможности задействовать графический интерфейс или же настройка постоянно сбивается. В таком случае придется обращаться к «Терминалу», чему и будет посвящен наш следующий метод.

Читайте также:  Mac os chrome devtools

Способ 2: Редактирование конфигурационных файлов

Использование «Терминала» для редактирования конфигурационных файлов при изменении системных параметров — самый эффективный способ, поскольку все действия здесь будут осуществляться от имени суперпользователя, а также не сбросятся при первом же перезапуске системы. Для конфигурации DNS используйте следующую инструкцию.

    Запустите консоль так, как это было показано ранее, или используйте любой удобный способ, например, созданный значок на панели «Избранное».

Для начала просмотрите список существующих сетевых интерфейсов, чтобы проверить файл для конфигурации. Введите ls /sys/class/net/ и нажмите на Enter.

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

Далее дело будет касаться взаимодействия с конфигурационными текстовыми файлами. Для этого вы можете использовать любой редактор, установленный по умолчанию, например, vi. Однако начинающим юзерам не всегда удобно управлять подобным софтом. В таких ситуациях мы советуем установить более подходящее решение. Пропишите sudo apt install nano и нажмите на Enter.

Подтвердите свои намерения добавить софт, а после успешной инсталляции переходите к работе с файлами. Введите команду sudo nano /etc/network/interfaces и затем подтвердите ее.

Вставьте строки auto enp0s3 и iface enp0s3 inet dhcp , чтобы задать конфигурацию интерфейса.

Используйте комбинацию Ctrl + O для сохранения настроек. В будущем запомните, что знак ^ обозначает Ctrl, то есть, например, выход из редактора осуществляется через Ctrl + X.

При сохранении не изменяйте имя файла для записи, а просто нажимайте на Enter.

Следом в этом же файле введите dns-nameserver 8.8.8.8 для установки DNS от Google, и уже после этого можете закрыть данный объект.

Далее понадобится настроить другой элемент, перейдите к нему через sudo nano /etc/dhcp/dhclient.conf .

При запросе пароля суперпользователя введите его. Учтите, что символы при таком методе набора не отображаются в целях безопасности.

Опуститесь в самый низ по содержимому и вставьте строку supersede domain-name-servers 8.8.8.8 . Затем сохраните изменения и закройте файл.

Осталось отредактировать последние параметры в sudo nano /etc/resolvconf/resolv.conf.d/base .

Вставьте строку nameserver 8.8.8.8 , определяющую DNS. Перед выходом не забудьте применить изменения в этом же файле.

Все изменения DNS вступят в силу сразу же после перезагрузки сети. Осуществляется это командой sudo systemctl restart networking .

Появившаяся пустая строка для ввода означает, что перезапуск прошел успешно.

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

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Configure DNS over TLS on Linux Mint to Protect DNS Privacy

This tutorial will be showing you how to protect your DNS privacy on Linux Mint with DNS over TLS. We will use a tool called stubby, but first, let me tell you why DNS is not secure.

Читайте также:  Разработка приложений для линукса

DNS Vulnerability

DNS is insecure because by default DNS queries are not encrypted. They are sent in plain text on the wire and can be exploited by middle entities. For example, the Great Firewall of China (GFW) uses a technique called DNS cache poison to censor Chinese Internet. (They also use other methods, which are beyond the scope of this article.)

GFW checks every DNS query that is sent to a DNS server outside of China. Since plain text DNS protocol is based on UDP, which is a connection-less protocol, GFW can spoof both the client IP and server IP. When GFW finds a domain name on its block list, it changes the DNS response.

For instance, if a Chinese Internet user wants to visit google.com, GFW returns an IP address located in China instead of Google’s real IP address, to the user’s DNS resolver. Then the DNS resolver returns the fake IP address to the user’s computer, so the user cannot visit google.com.

What is DNS over TLS? How It Protects Your DNS Privacy?

DNS over TLS means that DNS queries are sent over a secure connection encrypted with TLS (Transport Layer Security), which is the same technology that encrypts HTTP traffic, so no third parties can see your DNS queries. Combined with HTTPS sites and encrypted SNI (Server Name Indication), your web browsing history will be fully protected from ISP spying.

Stubby is an open-source DNS stub resolver. A stub resolver is a small DNS client on the end-user’s computer that receives DNS requests from applications such as Firefox and forwards requests to a recursive resolver like 1.1.1.1 or 8.8.8.8. Stubby is special in that it supports DNS over TLS. By default, it will only send encrypted DNS queries.

Note: This tutorial only works on Linux Mint 19, including 19.1 and 19.2. If you are using Linux Mint 18, please upgrade your system.

How to Use Stubby to Configure DNS over TLS on Linux Mint

Stubby is included in Linux Mint 19 software repository. Open up a terminal window and run the following command to install it.

Once installed, stubby automatically runs in the background. You you check its status with:

Hint: If the above command doesn’t quit immediately, you can press the Q key to quit the command and gain back control of the terminal.

Stubby listens on TCP and UDP port 53 of localhost (127.0.0.1), as can be seen by running this command:

The default stub resolver provided by systemd-resolved listens on TCP and UDP port 53 of 127.0.0.53.

Now that stubby is installed and running, we need to tell our Linux Mint system to use it. Click the Network Manager icon on the bottom-right corner of your desktop, then select Network Settings.

Click the gear icon to configure network.

Select IPv4 tab and switch off Automatic in DNS. This will prevent your Linux Mint system from getting DNS server address from your router. Then specify the address of Stubby (127.0.0.1) in the Server text field. Click the Apply button and close the Network window.

Then run the following command in terminal to restart NetworkManager, in order for the above changes to take effect.

Читайте также:  Nvcc install windows 10

Once you are reconnected to your router, click the Network Manager icon again and select Network Settings. You can see that your Linux Mint system is now using 127.0.0.1 (stubby) as the DNS server.

How to Switch to Stubby From the Command Line

You can also make your Linux Mint system use stubby by configuring systemd-resolved from the command line. The default DNS server can be seen with this command.

To set Stubby as the default server, open the systemd-resolved configuration file with a command line text editor, such as Nano.

Use the arrow keys to move up and down. In the [Resolve] section, add the following line to make your system use Stubby.

Save and close the file. (To save a file in Nano text editor, press Ctrl+O , then press Enter to confirm. To exit, press Ctrl+X .)

Then restart systemd-resolved service.

Now run the following command to check the default DNS server.

You will see 127.0.0.1 is set as the DNS server in the Global section.

How to Check if Your DNS Traffic is Encrypted

We can use WireShark to monitor DNS traffic. Run the following command in terminal to install WireShark from Linux Mint repository.

If you are asked “Should non-superusers be able to capture packets?”, use the arrow key to select Yes and press Enter.

Once it’s installed, run the following command to add your user account to the wireshark group so that you can capture packets. Replace your-username with your real username.

Log out and log back in for the changes to take effect. Then open WireShark from your application menu.

Select your network interface in WireShark. For example, my Ethernet interface name is enp0s3. If you are using Wi-Fi, then your network interface name will be something like wlp0s3. Then enter port 853 as the capture filter. This will make WireShark only capture traffic on port 853, which is the port used by DNS over TLS.

Press Enter to start capturing traffic. After that, in terminal window, run the following command to query a domain name by using the dig utility. For instance, I can query the A record of my domain name.

Now you can see the captured DNS traffic in WireShark. As you can see, my DNS query was sent to 185.49.141.37 , 145.100.185.15 or 145.100.185.16 , which are the 3 default DNS resolvers defined in stubby configuration file. Connections were made over TCP and encrypted with TLS, which is what I want. Click the red button on the upper-left corner to stop capturing traffic.

If DNS queries are sent without encryption, then the computer would contact DNS server on port 53. You can capture packets again with port 53 as the capture filter, but you won’t see any packets in WireShark, which means stubby is encrypting your DNS queries.

Wrapping Up

I hope this tutorial helped you protect your DNS privacy on Linux Mint with DNS over TLS. As always, if you found this post useful, then subscribe to our free newsletter to get more tips and tricks. Take care.

Источник

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