Перезапуск dns службы linux
BIND - Berkeley Internet Name Domain. Самая популярная DNS в мире.
Подготовка к установке
Перед установкой bind обновите систему и убедитесь, что у вас установлен epel-release
sudo yum update
sudo yum upgrade
yum list epel-release
Installed означает, что у меня epel-release установлен
Если вместо Installed вы видите Available - тогда установите командой
sudo yum install epel-release
Установка BIND
Проверить наличие bind можно выполнив
Available означает, что пакет не установлен но доступен для установки.
Установить bind и bind-utils (нужен, например, для dig) можно командой
sudo yum install -y bind bind-utils
Loaded plugins: fastestmirror, langpacks You need to be root to perform this command. [andrei@localhost
Пакет, который мы установили называется bind но сервис назывется named
Поэтому для запуска сервиса при загрузке системы нужно выполнить
sudo systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
Пока он не запущен статус будет inactive (dead)
systemctl status named
● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled) Active: inactive (dead)
Запуск named
sudo systemctl start named
Перезапуск named
sudo systemctl restart named
Проверка состояния named
sudo systemctl status -l named
Проверка iptables
sudo iptables -L
На чистой системе, скорее всего не будет никаких правил
Chain INPUT (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination
Если уже включен firewall то открыть нужно порт 53
Проверка netstat
Изучить, какие слушаютс порты можно с помощью netstat
Если named выключен
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp6 0 0 . 22 . * LISTEN tcp6 0 0 ::1:25 . * LISTEN
Если named включен
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp6 0 0 ::1:53 . * LISTEN tcp6 0 0 . 22 . * LISTEN tcp6 0 0 ::1:953 . * LISTEN tcp6 0 0 ::1:25 . * LISTEN
Порт 53 слушается для DNS lookup
Порт 953 используется для контроля за DNS сервером
dig: Выполнить DNS запрос
На внешнем сервере
Чтобы выполнить dig достаточно установить bind-utils
На своём DNS сервере
Если bind установлен и запущен, можно делать dig на нём.
Если named выключен или bind не установлен - вы не сможете сделать dig на локальном хосте.
Получите, например ;; connection timed out; no servers could be reached
Обратите внимание - теперь в ответе содержится AUTHORITY SECTION.
Подробности в статье DNS
Типы DNS серверов: caching и forwarding
Кэширующий DNS-сервер работает, выполняя все DNS-запросы, выполняемые вашей системой, а затем сохраняя или кэшируя результаты в памяти.
Перенаправляющий DNS-сервер отправляет запрос другому серверу и ждёт пока тот сделает работу за него.
Подробнее изуть особенности caching и forwarding серверов вы можете в статье «Типы DNS серверов»
named.conf - файл с конфигурацией named
Файл с настройками называется named.conf и лежит в
Настройка caching DNS сервера
Внесём небольшие изменения в файл с конфигурацией
systemctl restart named
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.56.149:53 0.0.0.0:* LISTEN tcp 0 0 10.0.2.49:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp6 0 0 . 22 . * LISTEN tcp6 0 0 ::1:953 . * LISTEN tcp6 0 0 ::1:25 . * LISTEN
На IPv6 больше не слушается порт 53. Количество IPv4 адресов на которых теперь слушается порт 53 увеличилось - сравните с тем что было раньше если не запомнили.
query: Запросы
Разрешить запросы к серверу можно указав нужный хост или сеть в allow-query
Использовать DNS сервер из локальной сети
В данном примере в сети есть два хоста:
Напоминаю, что в named.conf внесены следующие изменения
На сервере 192.168.56.149 нужно открыть порт 53 для tcp и udp
Полный список портов вы можете изучить в статье « Компьютерные сети »
Подробнее про работу с Firewall читайте в статье « CentOS Firewall »
На хосте 192.168.56.113 теперь можно выполнить dig @192.168.56.149 и если dns-server имеет нужные данные это должно сработать.
В этом примере по умолчанию установлено
Если у вас это не сделано - для того, чтоб делать запросы к неизвестным именам - нужно разрешить серверу делать рекурсивные запросы .
Настройка forwarding DNS сервера
Оставим конфиг из предыдущего примера и допишем в конец блока options
8.8.8.8; 8.8.4.4; - это публичные DNS сервера Google
1.1.1.1; 1.0.0.1; - это публичные DNS сервера Cloudflare
Порядок перечисления не имеет значения - будет использоваться тот, от которого быстрее отклик.
BIND – наиболее распространенное open-source приложение, в котором реализованы протоколы DNS, предоставляющие возможность преобразования доменных имен в IP-адреса и наоборот.
Данная статья представляет собой руководство по быстрой настройке DNS-сервера в Linux при помощи BIND. Мы не будем подробно разбирать, что такое система DNS и как она работает, а сосредоточимся на примере настройки своей зоны и файла конфигурации для домена/узла с поддержкой сервисов www и электронной почты.
Установка сервера bind
Установка bind очень проста – нужно воспользоваться менеджером пакетов. В Debian и Ubuntu выполните следующую команду:
В CentOS или Fedora:
Пакет dnsutils необязателен для запуска сервера bind, но для тестирования конфигурации мы будем пользоваться командой dig из этого пакета.
Создание файла зоны DNS
Рассмотрим ключевые строки этого файла:
Настройка обратной зоны
Запись PTR: DNS-запись, используемая для определения соответствия IP-адреса имени узла.
Настройка файла конфигурации bind
На данный момент у нас должно быть два файла:
Теперь требуется вставить имена обоих файлов зоны в файл конфигурации bind /etc/bind/named.conf.local . Для этого добавьте в файл следующие строки:
Последний момент перед проверкой конфигурации – внести в файл named.conf.options IP-адрес стабильного DNS-сервера. Он будет использоваться, если локальный DNS-сервер не будет знать ответ на запрос разрешения имени. Часто этот адрес предоставляется интернет-провайдером, но если вы поклонник Google, можно указать адрес 8.8.8.8 или 8.8.4.4.
Замените следующий блок текста в файле named.conf.options:
на блок текста с адресом стабильного DNS-сервера
Если вы планируйте что к вашему серверу будут подключаться другие компьютеры, то нужно разрешить в опциях внешние подключения. Для этого в основном файле конфигурации, в секции options добавьте или замените следующие правила
А лучше, для безопасности вместо any пропишите ваши сети с которых разрешено подключение
Если этого не сделать, то при попытке обращения к серверу с другого компьютера вы получите ошибку
Проверка файлов зоны и конфигурации
Прежде чем попытаться запустить сервер имен с новой зоной и конфигурацией, можно воспользоваться некоторыми инструментами, чтобы проверить, что конфигурация корректна и не содержит ошибок.
Для проверки файлов конфигурации выполните следующую команду:
С этой командой работает простое правило: отсутствие результата – это хороший результат. Если команда ничего не возвращает, значит ошибок в ваших файлах конфигурации не обнаружено.
Для проверки файлов зоны DNS можно воспользоваться командой named-checkzone:
Проверка обратной зоны
Запуск и перезапуск сервера bind
Теперь мы можем запускать сервер bind:
Если сервер уже был запущен, его можно перезапустить командой restart:
Для того что бы перечитать конфигурацию не перезапуская сервер, используйте команду
Тестирование сервера bind
Для тестирования новой конфигурации сервера имен bind нам пригодится команда dig из пакета dnsutils. Эту команду можно запустить на любом компьютере с сетевым доступом к вашему DNS-серверу, но лучше всего начать тестирование с локального узла. В рассматриваемом нами примере IP-адрес сервера имен 172.31.0.122. Сначала проверим прямое разрешение имени (получение IP-адреса по доменному имени):
Теперь проверим обратную зону:
dig @172.31.0.122 -x 172.31.1.10
Если вы получили аналогичные результаты, то зона DNS настроена правильно. Вместо команды dig для тестирования можно также использовать команду nslookup.
nslookup 172.31.1.10 172.31.0.122
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
В Ubuntu и Debian инициализацией сетевых интерфейсов и настройкой сети занимается специальная сетевая служба - networking. Информация о конфигурации сетевых интерфейсов хранится в файле /etc/network/interfaces.
Если вы что-либо измените в этом файле, нужно будет перезапустить сеть, чтобы применить изменения. В этой статье мы рассмотрим как выполнить перезапуск сети Ubuntu 16.04.
Перезагрузка сети в Ubuntu
Можно, конечно, выполнить полную перезагрузку компьютера, но это не совсем удобно если можно просто перезапустить сеть Ubuntu. Для перезапуска сети используйте следующую команду:
sudo service networking restart
В современных дистрибутивах уже давным давно используется система инициализации Systemd, поэтому можно использовать команду systemctl вместо команды service:
sudo systemctl restart networking.service
Кроме того, можно перезапустить NetworkManager, это тоже помогает, если сеть настроена через него:
sudo systemctl restart NetworkManager
Перезапуск сети в NetworkManager
Чаще всего, для управления сетью в современных дистрибутивах используется программа Network Manager. Можно сразу же использовать ещё для наших целей. Просто отключите, а затем включите сеть обратно следующими командами:
sudo nmcli networking off
sudo nmcli networking on
После отключения сети значок NetworkManager пропадёт с панели, а потом снова появится после включения. Аналогично, вы можете использовать NetworkManager в графическом интерфейсе. Кликните по его иконке, выберите нужное сетевое подключение и нажмите Выключить:
Затем включите его обратно.
Команды ifup и ifdown
Эти команды работают на более низком уровне, они управляют непосредственно самими сетевым интерфейсами. Для перезапуска сети мы можем отключить все интерфейсы, а затем включить обратно:
Вы не увидите никаких изменений в графическом интерфейсе, но когда сетевой интерфейс будет отключён, вы не будете иметь доступа к интернету.
Выводы
Как видите, не всегда обязательно перезагружать компьютер после изменений настроек, в большинстве случаев достаточно перезапустить только нужный сервис. Надеюсь, эта информация была вам полезной.
Как и во всех других операционных системах, в Linux есть службы и процессы, выполняемые во время работы системы в фоновом режим. Когда система загружается, сервисы запускаются автоматически и продолжают работать, пока система не выключится. Однако вы можете запускать, останавливать и перезапускать службы вручную.
Рассмотрим различные способы запуска, остановки и перезапуска служб в Ubuntu с помощью systemd, команды service и сценария инициализации init.
Список всех сервисов в Ubuntu
Прежде всего нужно получить список всех служб на вашем компьютере.
Он покажет полный список сервисов на вашем компьютере.
Использование Systemd для запуска / остановки / перезапуска служб в Ubuntu
Вы можете запускать, останавливать или перезапускать сервисы с помощью утилиты systemd systemctl. Начиная с версии 16.04 Ubuntu включает в себя systemd как init-систему по умолчанию. На сегодняшний день это предпочтительный способ работы со службами.
sudo systemctl [действие] [имя службы]
Например, рассмотрим как запустить, остановить или перезапустить службу брандмауэра ufw в Ubuntu.
Откройте окно терминала и введите следующие команды.
Проверить статус службs:
Управление сервисами с помощью systemd
Запуск / остановка / перезапуск сервисов в Ubuntu с помощью команды service
Вы также можете запускать, останавливать или перезапускать службы, используя service. Откройте окно терминала и введите следующие команды.
Проверить статус службы:
Использование скриптов Init для управления сервисами в Ubuntu
Вы можете запускать, останавливать или перезапускать службы, используя сценарии инициализации в каталоге /etc/init.d. Этот каталог на самом деле содержит в себе различные скрипты для разных сервисов. Сценарии инициализации устарели с тех пор, как Ubuntu перешла на Systemd, поэтому этот метод будет использоваться, только если вам приходится иметь дело со старой версией Ubuntu. Откройте окно терминала и введите следующие команды.
Проверить статус службы:
Таким образом, вы можете запускать, останавливать и перезапускать службы разными способами, не перезагружая всю операционную систему. Вы также можете использовать эти команды в других дистрибутивах Linux.
Читайте также: