Linux restart resolve service

systemd – resolved Setup Guide

systemd can provide a service named resolved to handle DNS resolution. This service can handle DNS over TLS, DNSSEC validation, DNS caching, Multicast DNS resolution and more.

Depending on the Linux distribution, resolved may be used by default. On these systems there should be a symlink from /etc/resolv.conf to a stub resolv configuration file (usually /run/systemd/resolve/stub-resolv.conf ).

Enabling resolved

For distributions not using resolved by default, the following steps can be used to start using it:

  1. Make sure there is no existing DNS resolver listening on port 53 (eg. dnsmasq).
  2. Enable the resolved service so it will start on boot: sudo systemctl enable systemd-resolved.service
  3. Start the resolved service: sudo systemctl start systemd-resolved.service
  4. Create the symlink to the stub resolver file: sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

resolved Configuration

The default configuration file for resolved is /etc/systemd/resolved.conf . Changes to this file should not be made directly; instead any configuration should be made in “drop in” configuration files which are included by default.

The default drop in directory is here (note this may not exist, if it doesn’t it can be created):

Configuration is handled using ini style configuration files.

Settings can be configured globally or per link. The most specific configuration is used.

After making changes the service should be restarted:

sudo systemctl restart systemd-resolved.service

DNS Resolvers

DNS resolvers may be configured with the DNS option. Note

To set a list of global DNS servers to use, create a drop in file /etc/systemd/resolved.conf.d/dns.conf and add the following content:

[Resolve] ## Use the following list of DNS resolvers ## Google public resolvers #DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 ## Cloudflare public resolvers #DNS=1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 ## Quad9 public resolvers #DNS=9.9.9.9 2620:fe::fe ## Combination of Google, Cloudflare and Quad9 DNS=1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 9.9.9.9 2620:fe::fe

DNSSEC

To enable or disable DNSSEC validation, create the drop in file /etc/systemd/resolved.conf.d/dnssec.conf and add the following content:

[Resolve] ## Configure DNSSEC validation ## Always validate #DNSSEC=yes ## Only validate if DNS resolvers being used support it DNSSEC=allow-downgrade ## Disable DNSSEC validation #DNSSEC=no

To validate DNSSEC validation works:

  • resolvectl query sigfail.verteiltesysteme.net
  • resolvectl query sigok.verteiltesysteme.net
Читайте также:  Tor командная строка linux

DNS over TLS

DNS over TLS must be supported by the resolver.

To enable DoT create the drop in file /etc/systemd/resolved.conf.d/dot. conf with the following content:

[Resolve] ## Enable DNS over TLS #DNSOverTLS=yes ## Disable DNS over TLS DNSOverTLS=no

resolved Status

To view the status of the service (eg. show the list of DNS servers being used):

To resolve a name manually (quering for A/AAAA records):

To resolve a specific record type, eg. TXT:

resolvectl query —type=txt gbe0.com

Show resolver statistics (cache, DNSSEC statistics):

Further Reading

Источник

Как настроить локальный DNS-сервер на Linux?

Как настроить локальный DNS-сервер на Linux?

Если у вашего домашнего или офисного интернет-провайдера медленные серверы имен или ваш сервер выполняет много операций поиска, то вам нужен локальный кеширующий DNS-сервер.

Как мне поможет локальный DNS-сервер?

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

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

Наконец, утилита systemd-resolved поддерживает самые последние, безопасные стандарты DNS DNSSEC и DNSoverTLS или DoT. Они помогают защитить вас и сохранить вашу конфиденциальность в Интернете.

Какой локальный кеширующий DNQS мы будем использовать?

Локальный кеширующий DNS-сервер, который мы включим и настроим в этом руководстве, это systemd-resolved. Данный инструмент является частью Systemd набора инструментов управления системой. Если ваша система использует systemd , и почти все основные дистрибутивы Linux используются, то у вас уже будет установлен systemd-resolved , но он не будет работать. Большинство дистрибутивов не используют systemd-resolved, даже если он присутствует.

Читайте также:  Linux vim копировать вставить

systemd-resolved работает, запустив небольшой локальный кеширующий DNS-сервер, который мы настроим для запуска при загрузке. Затем мы перенастроим остальную часть системы, чтобы направлять их DNS-запросы в DNS-систему с локальным кэшированием.

1. Как проверить, используете ли вы уже systemd-resolved?

В некоторых дистрибутивах Linux по умолчанию уже используется systemd-resolved, например Ubuntu 19.04.

Если вы уже запустили systemd-resolved, вам не нужно включать его или настраивать систему для его использования. Однако вам может потребоваться убедиться, что инструменты управления сетью, такие как NetworkManager, настроены правильно, поскольку они могут игнорировать конфигурацию сети системы.

Прежде чем перейти к следующему разделу, выполните следующую команду, чтобы проверить, запущен ли уже systemd-resolved:

Если вы получили сообщение:

$ resolvectl status Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.

Вы не используете systemd-resolved и должны перейти к следующему разделу. Если вместо этого вы видите вывод, который начинается примерно так:

Global LLMNR setting: yes MulticastDNS setting: yes DNSOverTLS setting: opportunistic DNSSEC setting: allow-downgrade DNSSEC supported: no Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 1.0.0.1

Тогда вы уже используете systemd-resolved и вам не нужно его включать.

2. Включение и настройка systemd-resolved

Нам не нужно устанавливать systemd-resolved как часть systemd. Все, что нам нужно сделать, — это запустить его, чтобы запустить сервер кэширования DNS, а затем включить его при загрузке.

Запустите следующую команду в терминале от имени пользователя sudo для запуска systemd-resolved:

$ sudo systemctl start systemd-resolved.service

Затем выполните следующую команду, чтобы запустить systemd-resolved при загрузке системы:

Источник

How to refresh/obtain new DNS servers on Ubuntu Server 20.04?

I work with a «virtual private server» in the cloud, which has Ubuntu 20.04 installed. I’ve noticed that — occasionally — when I reboot the server, I cannot ping anything:

$ ping yahoo.com ping: yahoo.com: Temporary failure in name resolution $ resolvectl query yahoo.com yahoo.com: resolve call failed: No appropriate name servers or networks for name found 

As far as I understand, since this is Ubuntu 20.04, /etc/resolv.conf is not really used anymore, and systemd overtakes handling of DNS. But, in any case, I would not want to manually specify DNS servers (as the old trick of putting Google’s 8.8.8.8 in /etc/resolv.conf ) — apparently, most of the time when DNS works: when the server boots, it somehow «obtains» a DNS server. So, I would like to repeat this process, except I have no idea how. (By analogy, if I wanted to refresh/obtain new IP address for a machine, I’m aware that the machine should ask the DHCP server for it — so eventually, it is easy to lookup, that in order to do that, I should do sudo dhclient -r eth0 for instance) Note also, that when DNS name resolution does not work, I do not have DNS Servers listed in this output:

$ systemd-resolve --status Global LLMNR setting: no MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no DNSSEC NTA: 10.in-addr.arpa 16.172.in-addr.arpa 168.192.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa corp d.f.ip6.arpa home internal intranet lan local private test Link 2 (eth0) Current Scopes: none DefaultRoute setting: no LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no 
sudo /etc/init.d/networking restart 

. however, I’d rather not run this command, since I’m connected to the server over ssh , so I imagine that the restart of whole network, would also kill my ssh terminal session, and possibly have other unintended consequences. So, I am wondering: is there a command I could run in an ssh session, that would refresh or obtain new DNS servers for this machine — using a similar mechanism that is used upon boot, when DNS actually works on this machine?

Читайте также:  Executing scripts in linux

Источник

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