Файл resolve conf linux

resolv.conf

The /etc/resolv.conf file is used to configure hostname resolution. It may be manually configured by the system administrator, or may be automatically populated by various network configuration and management tools. It is commonly used to manage DNS requests on Linux systems.

  • 1 Available software
    • 1.1 DHCPCD
    • 1.2 NetworkManager
      • 1.2.1 OpenRC
      • 1.2.2 systemd
      • 2.1 resolv.conf file syntax
        • 2.1.1 nameserver
        • 2.1.2 search
        • 2.1.3 domain
        • 3.1 Control of /etc/resolv.conf
          • 3.1.1 head
          • 3.1.2 symlink target

          Available software

          Many tools exist to help manage the /etc/resolv.conf file (or symlink).

          DHCPCD

          By default, dhcpcd overwrites /etc/resolv.conf with the suggested configuration of the connected network. This behavior can be completely disabled by modifying /etc/dhcpcd.conf :

          Alternatively, one may edit /etc/resolv.conf.head or /etc/resolv.conf.tail , which will be appended to the start or end of /etc/resolv.conf , respectively.

          NetworkManager

          OpenRC

          When using NetworkManager on an OpenRC profile, /etc/resolv.conf should be a symlink pointing at /run/NetworkManager/resolv.conf . This will likely not result in an automatically managed /etc/resolv.conf file for the system, unless the resolvconf USE flag has been enabled for net-misc/networkmanager.

          For information on using different DNS plugins with NetworkManager see the dns and rc-manager parts under MAIN SECTION of man 5 NetworkManager.conf .

          systemd

          When using a systemd profile, systemd-resolved is a natural choice to be used as a DNS resolver for NetworkManager. It is enabled by starting the service and creating a symlink (see below).

          If migrating from a different profile, the /etc/resolv.conf file should be removed, then a symlink created to the systemd resolver:

          lrwxrwxrwx 1 root root 32 Jan 12 14:09 /etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf

          openresolv

          The net-dns/openresolv package integrates with several other packages to dynamically update /etc/resolv.conf when network configuration changes occur. When using openresolv, /etc/resolv.conf should be a regular file.

          systemd-resolved

          There are multiple options for setting up a resolv.conf symlink to work with systemd-resolved.

          Two main features are supported:

          • Stub resolver (Recommended): the nameserver is pointed at systemd-resolved, listening on 127.0.0.53. DNS queries are executed by systemd-resolved.
          • Search path: The «search» directive is used to configure default domain names to be used when resolving single-word DNS queries.

          The available features depend on which target is used for the symlink.

          Symlink target Stub resolver Search path
          /run/systemd/resolve/stub-resolv.conf Yes Yes
          /run/systemd/resolve/resolv.conf No Yes
          /lib/systemd/resolv.conf Yes No

          Netifrc

          When using Netifrc to configure static addresses it is also possible to specific dns configuration like so

          dns_servers_eth0="192.168.1.1" dns_search_eth0="home.arpa"

          where the IP address and domain are just examples, and eth0 refers to the associated interface

          Netifrc will then create a /etc/resolv.conf from these settings

          Configuration

          resolv.conf file syntax

          The syntax of /etc/resolv.conf is relatively straight-forward. Each line specifies an option: most commonly nameserver , search , or domain . Not every line is necessary; it is entirely possible to have a blank file, while maintaining a working system.

          nameserver

          The nameserver option takes the IP address that the resolver should query, either in IPv4 or IPv6 form. Multiple nameserver lines may be specified, but each line must have only one IP address. A maximum of three lines should be present in total. If more than one IP address is present, the resolver queries them in the order listed. If no nameserver entries are present, it will default to 127.0.0.1.

          The search option accepts up to six domains, separated by tabs or spaces. This is used if the resolver receives a request without any dots in it. It will then try to resolve the query with the search domain appended, then the original request. For example, if the search domain was example.com, and http://test/index.html was requested, it would first query http://test.example.com/index.html, and then http://test/index.html.

          domain

          The domain directive is an obsolete name for the search directive that handles one search list entry only. For more syntax options, check man 5 resolv.conf .

          Troubleshooting

          Control of /etc/resolv.conf

          To determine which network management utility is controlling the /etc/resolv.conf file, two methods exist:

          Typically, the network management utility will write a comment at the top of the file specifying the name of the managing program. This can be checked using head :

          /etc/resolv.conf will either be a regular file or a symlink to another file. When a symlink, it is easy to reveal what network management tool is controlling the file by looking at the printed path to the target:

          lrwxrwxrwx 1 root root 32 Jan 12 14:09 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf

          External resources

          Источник

          🌐 Как сделать постоянными изменения DNS в resolv.conf на Linux

          Прочтите это руководство, чтобы узнать, как внести постоянные изменения DNS в resolv.conf на Linux.

          Согласно man resolv.conf, resolv.conf – это файл конфигурации резолвера.

          Resolver – это набор процедур в библиотеке C, которые обеспечивают доступ к системе доменных имен Интернета (DNS).

          Файл предназначен для чтения человеком и содержит список ключевых слов со значениями, которые предоставляют различные типы информации о резолвере.

          Файл конфигурации считается надежным источником информации DNS (например, информация о битах AD DNSSEC будет возвращена из этого источника без изменений).

          Если этот файл не существует, будет опрошен только сервер имен (nameserver) на локальном компьютере, а список search будет содержать имя локального домена, определенное по имени хоста.

          Внесем постоянные изменения DNS в resolv.conf

          Внесем постоянные изменения DNS в resolv.conf

          Любые изменения, внесенные вручную в файл конфигурации /etc/resolv.conf, обязательно будут перезаписаны при изменениях в сети или перезагрузке системы.

          Согласно комментариям, сделанным в файле, файл является динамическим. «DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN».

          Итак, возьмем, к примеру, если вы хотите добавить DNS-сервер в свой Linux-сервер, вы обычно обновляете этот файл, указывая IP-адрес сервера имен, который должен запрашивать резолвер.

          См. Приведенную ниже команду, которая обновляет файл resolv.conf общедоступным первичным DNS-сервером Google DNS, выполнив такую команду:

          echo "nameserver 8.8.8.8" > /etc/resolv.conf

          Использование фреймворка Resolvconf

          Resolvconf – это платформа для обновления системной информации о серверах DNS.

          Он настраивается как посредник между программами, которые предоставляют эту информацию (такими как ifup и ifdown, DHCP-клиенты, демон PPP и локальные серверы имен) и программами, которые используют эту информацию, такими как кэши DNS и библиотеки resolver).

          В дистрибутивах Ubuntu/Debian вы можете установить resolvconf, выполнив команду ниже;

          sudo apt install resolvconf

          После установки фреймворк стартует и запускается при загрузке системы.

          Затем отредактируйте файл конфигурации /etc/resolvconf/resolv.conf.d/base и введите настройки DNS.

          sudo vim /etc/resolvconf/resolv.conf.d/base
          domain itisgood.ru nameserver 8.8.8.8 nameserver 8.8.4.4

          Затем обновите файл /etc/resolv.conf, чтобы внести постоянные изменения в DNS:

          Обновление настроек DNS-сервера в dhclient.conf

          Если вы используете DHCPd для автоматического назначения IP-адреса, отредактируйте файл /etc/dhcp/dhclient.conf и добавьте следующую строку;

          supersede domain-name-servers IP1, IP2;

          Замените IP1 и IP2 соответствующими IP-адресами DNS:

          supersede domain-name-servers 8.8.8.8, 8.8.4.4;

          Теперь, если вы запустите dhclient, ваш /etc/resolv.conf будет обновлен с использованием серверов DNS, определенных в dhclient.conf.

          Вы можете использовать опцию prepend вместо supersede, чтобы добавить дополнительные IP-адреса к IP-адресу по умолчанию, предоставленному интернет-провайдером.

          man dhclient.conf

          Как уcтановить IP-адрес сервера имен в настройках вашего интерфейса.

          Отредактируйте файл конфигурации сетевого интерфейса и добавьте адрес сервера имен.

          В Ubuntu 18.04/20.04 вы должны обновить файл конфигурации Netplan, например:

          sudo vim /etc/netplan/01-network-manager-all.yaml
          network: version: 2 renderer: networkd ethernets: wlp0s20f3: dhcp4: no addresses: [192.168.100.80/24] gateway4: 192.168.100.1 nameservers: addresses: [8.8.8.8]

          Мы устанавили DNS на публичный адрес DNS-сервера Google, 8.8.8.8.

          В вашем случае все может быть иначе.

          auto wlp0s20f3 iface wlp0s20f3 inet static address 192.168.100.80 netmask 255.255.255.0 dns-nameservers 8.8.8.8

          Перезапустите сеть, чтобы изменения вступили в силу;

          systemctl restart networking

          На CentOS и аналогичных производных отредактируйте соответствующий интерфейс следующим образом.

          Замените INTERFACE своим именем интерфейса.

          nmcli con mod INTERFACE ipv4.dns 8.8.8.8

          Также отключите управление сетевым интерфейсом с помощью демона NetworkManager.

          echo "NM_CONTROLLED=no" >> /etc/sysconfig/network-scripts/ifcfg-INTERFACE
          nmcli con down INTERFACE nmcli con up INTERFACE

          Теперь у вас должен быть установлен статический DNS.

          На этом мы завершаем наше руководство о том, как внести постоянные изменения DNS в resolv.conf на Linux.

          man resolv.conf
          man resolvconf

          Источник

          Читайте также:  Как установить zmap на kali linux
Оцените статью
Adblock
detector