Отладка systemd-resolved
Узнать, как именно ваша система выполняет DNS-запросы после внесения этих изменений, может быть сложно. Самый эффективный способ наблюдения за происходящим – перевести systemd-resolved в режим отладки и посмотреть файл журнала.
systemd-resolved – это служба systemd, что означает, что ее можно легко перевести в режим отладки, создав файл службы, содержащий параметр отладки. Следующая команда создаст правильный файл в правильном месте:
Вставьте следующие строки в редактор, затем сохраните и выйдите:
Служба с разрешением systemd будет автоматически перезагружена при успешном сохранении и выходе.
Откройте второй терминал на том же сервере и просмотрите журнал journald для службы с разрешением systemd:
Строка, которая начинается с «Using DNS server», например:
Сообщает вам, какой именно DNS-сервер используется для DNS-запросов. В этом случае DNS-сервер Cloudflare на 1.1.1.1 был запрошен.
Строки «Cache miss» указывают на то, что доменное имя не было кэшировано. Например:
Строки, начинающиеся с «Positive cache hit», например:
Укажите, что systemd-resolved ранее запрашивал этот домен, и ответ был получен из кэша в локальной памяти.
Вы должны отключить режим отладки, когда вы закончите работать с systemd-resolved, так как он создаст очень большой файл журнала в загруженной системе. Вы можете отключить ведение журнала отладки, выполнив:
Установка локального DNS-сервера BIND9 на Ubuntu 20.04
Выполните следующую команду, чтобы установить BIND9 на Ubuntu 20.04 LTS, из репозитория по умолчанию:
После установки можно проверить версию следующей командой:
По умолчанию после установки BIND9 запускается автоматически. Вы можете проверить его статус с помощью команды:
Также если автоматически служба не запустилась, то выполните следующие команды:
Сервер DNS в вашей системе будет работать от имени пользователя, который создается во время установки, и прослушивает TCP и UDP порт 53. Для проверки выполните следующую команду:
Обычно DNS-запросы отправляются на UDP-порт 53. TCP-порт 53 предназначен для ответов размером более 512 байт.
Есть еще один важный пакет: , контроллер демона BIND9, который был установлен с пакетом . используется для перезагрузки / остановки и управления другими аспектами демона BIND. Связь осуществляется через TCP-порт 953.
Вы также можете проверить его статус командой:
Проверяем работоспособность
После внесения изменений в файл зоны, во-первых, не забывайте менять серийный номер. Эта привычка поможет вам в дальнейшем. А во-вторых, пользуйтесь утилитой для проверки корректности изменений:
named-checkzone example.com /var/lib/bind/example.com
Первый параметр — имя зоны, а второй — файл зоны.
Если же вы хотите посмотреть как выглядит ваш файл зоны после обработки bind и раскрытия всех сокращений, то выполните следующее:
dig +nocmd AXFR @localhost example.com
Это команда для пересылки зоны, которую, как вы помните, мы разрешили в декларации зоны для .
Также вы можете проверить как функционирует DNS-сервер с помощью нескольких команд. Если вы все сделали правильно, то
host -t NS example.com
должна вывести в консоль:
example.com name server ns.example.com.
а команда
host -t MX example.com
показать следующее:
example.com mail is handled by 10 mx.example.com.
Подводя итог можно сказать, что несмотря на объём статьи, вся настройка заключается в правке десятка строк в двух конфигурационных файлах и создания небольшого файла зоны. В результате чего наш VPS стал доступен в сети по имени домена. Мне кажется, что это не так уж и сложно.
Причины пропажи Wi-Fi
Что может быть неприятнее, чем сталкиваться с прерыванием соединения при работе на ноутбуке? Только что всё было хорошо, и вы спокойно смотрели фильм онлайн, и вот уже воспроизведение остановилось, фильм встал на паузу, а интернет и вовсе пропал. С подобной проблемой вы можете столкнуться по самым разным причинам. Наиболее распространёнными считаются следующие:
- В вашем ноутбуке включён режим экономии заряда аккумулятора. Это приводит к тому, что спустя установленные промежутки времени полного простоя устройства беспроводное соединение прерывается автоматически, адаптер Wi-Fi прекращает обмен пакетами с роутером и тем самым экономит заряд батареи.
- Роутер, через который вы выходите в сеть, находится слишком далеко или между ним и ноутбуком расположены препятствия. Следствием может являться слабый уровень принимаемого беспроводного сигнала, что и приводит к регулярным обрывам соединения. Происходит это, как правило, автоматически и незаметно для пользователя.
- Сигнал интернета, принимаемый роутером по кабелю или по сотовой сети и превращаемый в беспроводной сигнал Wi-Fi, слишком слаб. В такие моменты вы можете наблюдать, что ноутбук по-прежнему подключён к Wi-Fi, но интернет работать отказывается. Также слабый сигнал, передаваемый по кабелю, может стать причиной того, что беспроводное соединение роутера и ноутбука отключается автоматически.
- Роутер, через который вы производите выход в интернет, работает нестабильно, постоянно зависает, самопроизвольно перезагружается. В таком случае Wi-Fi в вашем ноутбуке автоматически отключается до повторного включения роутера, восстановления работы его программного обеспечения или до принудительной перезагрузки.
- В вашем ноутбуке установлен неподходящий или устаревший драйвер адаптера беспроводных сетей. Вследствие этого работа адаптера становится нестабильной, и он может самопроизвольно прерывать соединение или вовсе не находить доступные сети.
Здесь мы перечислили лишь самые распространённые проблемы, с которыми регулярно сталкиваются пользователи. Но при этом многие не знают, что делать дальше и как избавиться от проблем.
Требования к системе
Прежде чем Вы начнете, убедитесь, что:
- Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например, тут Вы можете прочитать, как отключить установленный по умолчанию в Ubuntu сетевой помощник Network Manager.
- Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например, Firestarter) отключены/правильно настроены и не вмешиваются в работу сети.
- У Вас есть все необходимые параметры для подключения в Вашей сети (например, IP-адрес, маска подсети и шлюз по умолчанию для соединения с использованием статического IP).
- Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и «знают» Ваш сетевой интерфейс.
- Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен.
Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды:
$ sudo lshw -C network
Она позволяет посмотреть подключенные сетевые устройства.
Пример вывода команды:
ubuntu@ubuntu:~$ sudo lshw -C network *-network description: Ethernet interface # Тип устройства product: L2 100 Mbit Ethernet Adapter # Название адаптера vendor: Attansic Technology Corp. # Производитель устройства physical id: 0 bus info: pci@0000:03:00.0 logical name: eth0 # Имя сетевого интерфейса version: a0 serial: 00:00:00:00:00:00 # Физический адрес устройства (mac-адрес) size: 100MB/s capacity: 100MB/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=atl2 # Используемый драйвер driverversion=2.2.3 # Версия драйвера duplex=full firmware=L2 ip=192.168.0.5 latency=0 link=yes # Наличие линка module=atl2 multicast=yes port=twisted pair speed=100MB/s # Текущая скорость подключения.
Обратите внимание на строку:
logical name: eth0
eth0 – это и есть искомое имя сетевого интерфейса.
После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX).
Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.
Такое переименование можно отключить добавив в /etc/default/grub, в строку с переменной GRUB_CMDLINE_LINUX_DEFAULT строку net.ifnames=0. После этого нужно выполнить sudo update-grub
Как посмотреть текущие сетевые настройки в Linux?Наверх
Для просмотра текущих параметров сети и состояния сетевых интерфейсов в ОС Линукс существует команда:
# sudo ifconfig
eth0Link encap:Ethernet HWaddr 00:11:5b:91:25:3e
inet addr:192.168.1.18 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::211:5bff:fe91:253e/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:648009 errors:0 dropped:0 overruns:0 frame:0
TX packets:1075413 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:70177943 (70.1 MB) TX bytes:1536487024 (1.5 GB)
Прервано:19 Base address:0xd000
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
ВВЕРХ LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:106 errors:0 dropped:0 overruns:0 frame:0
TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:13776 (13.7 KB) TX bytes:13776 (13.7 KB)
Для просмотра абсолютно всех сетевых интерфейсов запускаем команду с ключом -a:
# sudo ifconfig -a
Из приведенного примера видно, что на компьютере используется два сетевых интерфейса: eth0 и lo.
Интерфейс lo — это локальная петля, которая имеет IP-адрес 127.0.0.1 и предназначена для сетевого доступа к своему же компьютеру. Далее этот интерфейс рассматриваться не будет, так как для эффективной работы не требует дополнительной настройки.
Интерфейс eth0 — это Ethernet сетевая карта, которая имеет сетевые параметры: IP-адрес — 192.168.1.18, маску сети — 255.255.0.0 и MAC-адрес — 00:11:5b:91:25:3e. Значение RUNNING показывает, что в данный момент сетевой интерфейс eth0 работает.
Для просмотра типа соединения, скорости и поддерживаемых параметров сетевым интерфейсом eth0 набираем команду:
# sudo ethtool eth0
Supported ports:
Supported link modes:10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: YesSpeed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pg
Wake-on: d
Current message level: 0x000000c5 (197)
Link detected: yes
Из вывода видно, что сетевой интерфейс eth0 работает на скорости 100Мб/с с включенным полным дуплексом (Full Duplex). Полный дуплекс от полудуплекса (Half Duplex) отличается тем, что первый обеспечивает передачу данных в обе стороны одновременно, а второй осуществляет передачу входящих и исходящих данных поочередно.
Разбираем содержимое файла
В первой строке мы задаем время жизни (ttl) ресурсных записей по умолчанию и во всех последующих строках его опускаем.
Со второй по восьмую строку идет запись SOA — она самая длинная. Конечно ее можно было записать в одну строку, но так нагляднее. Эта запись определяет начало зоны. Любая зона должна начинаться с записи SOA.
Символ «@» в поле имени означает, что необходимо взять текущее имя зоны, заданное ранее директивой $ORIGIN или zone. Так как в нашем файле директивы $ORIGIN нет, то берется имя из директивы zone конфигурационного файла . В нашем случае это
В 9-ой строке идет описание адреса сервера имен. Так как после «ns» нет точки, то автоматически дописывается текущее имя зоны. То есть запись на самом деле будет такова:
Начиная с десятой строки во всех записях я опустил их класс, так как по умолчанию он «IN» — запись ресурса сети интернет.
В 10-й строке идет описание адреса сервера, который отвечает за обработку почты для нашего домена. Число 10 означает приоритет узла в случае, если таких записей несколько. Ну и вновь, из-за отсутствия точки в конце, запись будет такой:
Строки с 12-й по 15-ю описывают IP-адреса узлов нашей сети. Для IPv4 — A запись, для IPv6 — AAAA. Они одинаковы, так как в нашем случае все сервисы у нас на одном VPS. Если бы обработкой почты занимался отдельный сервер, то мы бы внесли другой ip-адрес. IPv6 записи для «ns» и «mx» добавьте самостоятельно.
В двенадцатой строке в поле имени стоит символ ‘@’, который заменяется на текущее имя зоны. В результате запись будет выглядеть как:
Начиная с 17-й строки идут записи CNAME. Они являются псевдонимами для существующих ресурсов и удобны в целях администрирования. То есть — это псевдоним . Записи в поле данных для 16-й и 17-й строк — эквивалентны.
Настройка DNS в Ubuntu через GUI
Раньше, для настройки DNS серверов, которые будут использоваться системой было достаточно внести адреса нужных серверов в файл /etc/resolv.conf. Но сейчас всей конфигурацией сети в Ubuntu управляет NetworkManager, а этот файл теперь представляет собой только ссылку на файл NetworkManager.
Этот способ до сих пор работает, но в нем вы можете настроить DNS на LiveCD, или до перезагрузки. После перезагрузки все настройки собьются и придется все делать заново. Поэтому, чтобы все сохранилось нужно выполнять все действия через интерфейс NetworkManager. Сначала откройте контекстное меню для значка сети на панели и выберите «Изменить подключения»:
Выберите ваше подключение и нажмите «Изменить»:
В открывшемся окне перейдите на вкладку «Параметры IPv4»:
Затем, в поле «Способ настройки» выберите «Автоматически (DHCP, только адрес)»:
Теперь немного ниже появиться поле «Серверы DNS», где вам нужно прописать нужные серверы, можно несколько адресов через запятую. Например, можно указать сервера от Google:
Поле этого нажмите «Сохранить» и «Закрыть». Теперь можете переподключитесь к этому соединению и можете проверять текущий DNS сервер:
nslookup ya.ru
Собственно, это все, но есть еще один способ настройки через консоль, если этот не сработал или вы предпочитаете работать из консоли.
Настройка DNS-сервера для почтового сервера Ubuntu
Просто следуйте этому пошаговому руководству, и проблем с настройкой возникнуть не должно!
1. Подключитесь и Обновите Сервер
Войдите на свой сервер, используя SSH. Если у вас возникли проблемы, ознакомьтесь с нашим руководством по PuTTY! После входа в систему обновите свой компьютер, используя следующую команду:
apt-get update
2. Установите Bind
Чтобы настроить DNS-сервер, который будет использовать Postfix, нам понадобится дополнительный инструмент — Bind. Давайте его установим:
sudo apt install bind9
3. Настройте /var/cache/db.test
На этом этапе мы должны принять во внимание, что IP-адрес нашей машины Ubuntu 18.04 — 192.168.250.7, необходимо заменить его IP-адресом, по которому вы будете выполнять установку. В этом примере мы будем использовать mail.test.com в качестве FQDNS
Итак, теперь необходимо создать новую зону для нашего примера. Для этого создайте новый файл с информацией о зоне.
sudo nano /var/cache/bind/db.test
Затем добавьте следующее:
$ORIGIN test.com. $TTL 1D @ IN SOA ns1 root( 1 ;serial 1D ;refresh 2H ;retry 2W ;expire 5H ;minimum ); @ IN NS ns1 ns1 IN A 192.168.250.7 mail IN A 192.168.250.7 @ IN MX 5 mail
Не забудьте заменить IP-адрес на адрес вашего сервера и изменить домен на тот, который вы хотите использовать. Нажмите CTRL+O, чтобы сохранить изменения, и CTRL+X, чтобы закрыть редактор nano.
4. Добавить Новую Зону к Конфигурации Bind
Прежде чем мы активируем созданную зону, мы должны проверить конфигурацию файла.
sudo named-checkzone test.com. /var/cache/bind/db.test
Теперь мы можем добавить нашу новую зону в файл конфигурации зоны Bind. Для этого выполните следующую команду:
sudo nano /etc/bind/named.conf.default-zones
И добавляем новую зону:
zone "test.com." { type master; file "db.test"; };
Опять-таки нажмите CTRL+O, чтобы сохранить изменения, и CTRL+X, чтобы закрыть редактор файла.
5. Настройте/etc/bind/named.conf.options
Теперь в файле /etc/bind/named.conf.options необходимо раскомментировать строку с перенаправлением и добавить Google DNS — 8.8.8.8. Для этого просто удалите символы //, как показано на скриншоте ниже.
sudo nano /etc/bind/named.conf.options
6. Перезапустите Bind
Теперь нам нужно перезапустить службу bind9. Сделать это можно одной из двух команд:
sudo systemctl reload bind9
или
sudo systemctl restart bind9
Сетевые настройки на сервере Debian
Вопрос настройки сети я уже кратко поднимал в теме начальной настройки Debian. Я рекомендую с ней ознакомиться и выполнить некоторые подготовительные действия, чтобы было удобнее работать далее. Сейчас мы подробно разберем все наиболее значимые нюансы сетевых настроек, которые могут пригодиться в повседневной работе.
Первоначальная настройка сети начинается во время установки сервера. Если у вас есть сетевой интерфейс и dhcp сервер в сети, то сеть сконфигурируется автоматически на основе полученных настроек и будет готова к работе. В последствии вы можете выполнить настройку сети в Debian через консоль с помощью программ ip или ifconfig. Наиболее популярным и современным средством на текущий момент является ip, поэтому в дальнейшем рассмотрим вопрос конфигурации сетевых интерфейсов с ее помощью. Про ifconfig тоже не забудем. Рассмотрим ее позже отдельно.
Отдельно стоит такой инструмент управления сетевыми подключениями как Network manager. Он используется в сочетании с графическими оболочками, которых на сервере обычно нет, поэтому вопрос его настройки я не буду рассматривать. Мне просто не на чем это делать, да и не вижу смысла.
Есть 2 различные возможности изменить сеть в Debian:
- Настройка сети из консоли с помощью указанных ранее консольных программ.
- С помощью редактирования конфигурационного файла сетевых интерфейсов /etc/network/interfaces.
Мы рассмотрим оба этих варианта. Вводная теоретическая часть окончена, приступаем к практике.
Настройка динамического обновления зон DHCP сервером
Если вы вместе со мной настраивали сервер с самого начала, тогда у вас не должно возникнуть трудностей. Откроем файл /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
Проверяем что опция option domain-name содержит имя домена lab.loc, строку ddns-up-style none; закомментировать. Теперь добавим строчку up-ic-leases on; — она отвечает за создание зон для клиентов у которых статичный IP адрес. Для автоматизации этого процесса, добавим следующий код:
ddns-up-style interim; up-ic-leases on; key DHCP_UPR { algorithm hmac-md5; secret «CO0WnumqxGoxqGEDjaR3YA==»; } zone lab.loc. { primary 127.0.0.1; key DHCP_UPR; } zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPR; }
где secret это тот самый код который мы делали вначале статьи.
Вот пример моего файла /etc/dhcp/dhcpd.conf:
default-lease- 600; max-lease- 7200; itative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.254; option domain-name-servers 192.168.0.1; option domain-name «lab.loc»; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease- 604800; max-lease- 604800; } ddns-up-style interim; up-ic-leases on; key DHCP_UPR { algorithm hmac-md5; secret «LUH8l/F2OtaVrA6eSffJog==»; } zone lab.loc. { primary 127.0.0.1; key DHCP_UPR; } zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPR; } log-facility local7;
Больше никакие настройки DHCP не трогаем, перезапускаем bind9 и dhcp
sudo /etc/init.d/bind9 restart
sudo /etc/init.d/isc-dhcp-server restart
Теперь нужно проверить как все это дело работает «в бою». Запускаем клиентскую машину, которая находиться в сети с сервером. После включения машина получит IP адрес от DHCP сервера, а DHCP сервер создаст запись вроде klient-pc.lab.loc.
На запрос nslookup yos-pc (yos-pc это имя клиентской машины), мы должны увидеть ответ от сервера
Как видите по скриншоту, работает и прямой и обратный запросы к DNS.
После перезагрузки сервера, можно посмотреть на файлы прямого и обратного просмотра, в них вы увидите записи о новых машинах, вот пример моего файла, после перезагрузки сервера
via via
Overview
The DNS configuration files are stored in the directory. The primary configuration file is , which in the layout provided by the package just includes these files.
- : global DNS options
- : for your zones
- : default zones such as localhost, its reverse, and the root hints
The root nameservers used to be described in the file . This is now provided instead by the file shipped with the package, and is referenced in the configuration file above.
It is possible to configure the same server to be a caching name server, primary, and secondary: it all depends on the zones it is serving. A server can be the Start of Authority (SOA) for one zone, while providing secondary service for another zone. All the while providing caching services for hosts on the local LAN.
Test Clients
Use to test if your clients can query your name servers. You should be able to do this on all of the clients that you have configured and are in the “trusted” ACL.
Forward Lookup
For example, we can perform a forward lookup to retrieve the IP address of host1.nyc3.example.com by running the following command:
Querying “host1” expands to “host1.nyc3.example.com because of the option is set to your private subdomain, and DNS queries will attempt to look on that subdomain before looking for the host elsewhere. The output of the command above would look like the following:
Reverse Lookup
To test the reverse lookup, query the DNS server with host1’s private IP address:
You should see output that looks like the following:
If all of the names and IP addresses resolve to the correct values, that means that your zone files are configured properly. If you receive unexpected values, be sure to review the zone files on your primary DNS server (e.g. and ).
Congratulations! Your internal DNS servers are now set up properly! Now we will cover maintaining your zone records.
Установка MTU и TTL
MTU (Maximum Transfer Unit) – параметр определяет величину максимальной единицы передачи.
Это максимальное количество октетов (байт), которое интерфейс способен поддерживать
за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет
1500 (максимальный размер пакета Ethernet).
TTL (Time To Live) – время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами.
Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу.
Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu).
Для DNS-записей TTL определяет время актуальности данных при кешировании запросов.
Для изменения величины MTU, отредактируем файл конфигурации , например так:
auto eth0 iface eth0 inet static address 192.168.1.5 netmask 255.255.255.0 mtu 600
Для изменения величины TTL наберите:
$ sudo su затем # echo "128" > /proc/sys/net/ipv4/ip_default_ttl
Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите
Настройка сети через терминал в Ubuntu
Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:
- Включаем сетевой интерфейс и подключаемся к сети;
- Устанавливаем IP-адрес;
- Получаем адреса DNS-серверов.
Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:
Но если хотите, можете использовать ifconfig:
В нашей системе только один интерфейс — это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.
Настройки сети находятся в файле /etc/network/interfaces.
Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.
Настройка динамического получения IP-адреса
Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:
Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:
$ iface интерфейс inet тип
Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.
После завершения настройки сохраните файл и перезапустите сетевой сервис:
Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.
Настройка статического адреса Ubuntu
При настройке статического IP-адреса компьютер не будет связываться с DHCP-сервером, поэтому здесь придётся указать намного больше параметров.
Содержимое нашего конфигурационного файла будет выглядеть вот так:
С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:
- address — наш IP-адрес;
- gateway — шлюз, через который будем получать доступ в интернет;
- netmask — маска сети;
- network — адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
- broadcast — широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.
Как видите, network и broadcast — это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:
Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.
Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.
Сохранение DNS-записей
Теперь, когда у вас есть работающий внутренний DNS-сервер, вам нужно хранить ваши записи DNS, чтобы они точно отражали среду сервера.
Добавление хоста в DNS
При добавлении хоста в вашу среду (в одном центре обработки данных) вам нужно добавить его в DNS. Здесь представлен список шагов, которые вам нужно предпринять:
Основной сервер доменных имен
- Файл зоны для прямого просмотра: добавьте запись A для нового хоста, увеличив значение “Serial”
- Файл зоны для обратного просмотра: добавьте запись PTR для нового хоста, увеличив значение “Serial”
- Добавьте частный IP-адрес вашего нового хоста в доверенный ACL ()
Протестируйте ваши файлы конфигурации:
Затем перезагрузите BIND:
Ваш основной сервер должен быть настроен для использования нового хоста.
Дополнительный сервер доменных имен
Добавьте частный IP-адрес вашего нового хоста в доверенный ACL (named.conf.options)
Проверьте синтаксис конфигурации:
Затем перезагрузите BIND:
Ваш вторичный сервер теперь будет принимать подключения с нового хоста.
Настройка нового хоста для использования вашей DNS
- Настройте для использования ваших DNS-серверов
- Выполните проверку с помощью
Если вы удалите хост из вашей среды или захотите просто убрать его из DNS, просто удалите все данные, которые были добавлены при добавлении сервера в DNS (т. е. выполните описанные выше шаги в обратно порядке).
Включение и настройка systemd-resolved
Нам не нужно устанавливать systemd-resolved как часть systemd. Все, что нам нужно сделать, – это запустить его, чтобы запустить сервер кэширования DNS, а затем включить его при загрузке.
Запустите следующую команду в терминале от имени пользователя для запуска systemd-resolved:
Последний оставленный элемент конфигурации – это настройка DNS-серверов, которые systemd-resolved будет запрашивать разрешенные домены. Здесь много вариантов, но любая из следующих пар бесплатна, быстра, и они обе поддерживают DNSSEC и DoT:
- 8.8.8.8
- 8.8.4.4
- 1.1.1.1
- 1.0.0.1
Откройте основной файл конфигурации с разрешением systemd в вашем любимом текстовом редакторе, здесь я использовал nano:
Измените строку начинающуюся с:
Уберите комментарий со строки и вставьте желаемый Public DNS из списка выше. В моем случае я выберу Cloudflare Public DNS.
Сохраните и выйдите из текстового редактора. Теперь нам нужно перезапустить systemd-resolved, чтобы он начал использовать серверы имен:
systemd-resolved теперь запущен и готов начать обработке и защите DNS-запросов, как только мы настроим систему для ее использования.
Настройка сети через терминал в Ubuntu
Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:
- Включаем сетевой интерфейс и подключаемся к сети;
- Устанавливаем IP-адрес;
- Получаем адреса DNS-серверов.
Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:
Но если хотите, можете использовать ifconfig:
В нашей системе только один интерфейс – это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.
Настройки сети находятся в файле /etc/network/interfaces.
Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.
Настройка динамического получения IP-адреса
Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:
Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:
$ iface интерфейс inet тип
Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.
После завершения настройки сохраните файл и перезапустите сетевой сервис:
Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.
Настройка статического адреса Ubuntu
При настройке статического IP-адреса компьютер не будет связываться с DHCP-сервером, поэтому здесь придётся указать намного больше параметров.
Содержимое нашего конфигурационного файла будет выглядеть вот так:
С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:
- address – наш IP-адрес;
- gateway – шлюз, через который будем получать доступ в интернет;
- netmask – маска сети;
- network – адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
- broadcast – широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.
Как видите, network и broadcast – это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:
Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.
Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.
4: Настройка DNS-клиентов
Прежде чем все ваши серверы из ACL trusted смогут запрашивать DNS-серверы, нужно настроить каждый из них для использования ns1 и ns2 в качестве серверов имен. Этот процесс зависит от ОС, но в большинстве дистрибутивов Linux для этого нужно добавить серверы имен в файл /etc/resolv.conf.
Клиенты Ubuntu
На серверах Ubuntu и Debian Linux вы можете отредактировать файл /etc/network/interfaces:
Внутри найдите строку dns-nameservers и укажите свои серверы имен перед списком, который в настоящее время в ней указан. Под этой строкой добавьте параметр dns-search, указывающий на базовый домен вашей инфраструктуры. В этом случае это будет nyc3.example.com:
Сохраните и закройте файл.
Теперь перезапустите сетевые сервисы. Убедитесь, что вместо eth0 указали имя своего сетевого интерфейса:
Это должно перезапустить вашу сеть, не сбрасывая текущее соединение. Если все работает правильно, вы должны увидеть что-то вроде этого:
Повторно проверьте, применены ли новые параметры:
Вы увидите серверы имен в файле /etc/resolv.conf, а также ваш домен:
Настройка клиента завершена.
Клиенты CentOS
В CentOS, RedHat и Fedora Linux отредактируйте файл /etc/sysconfig/network-scripts/ifcfg-eth0. Возможно, вам придется заменить eth0 именем своего сетевого интерфейса:
Найдите параметры DNS1 и DNS2 и установите в них внутренние IP-адреса первичного и вторичного сервера имен. Добавьте параметр DOMAIN, который содержит базовый домен инфраструктуры. В этом мануале это будет «nyc3.example.com»:
Сохраните и закройте файл.
Перезапустите сервис:
Команда может висеть в течение нескольких секунд, но вскоре должна вернуть вас в командную строку.
Убедитесь, что ваши изменения были применены:
Вы должны увидеть свои серверы имен и домен в списке:
Настойка клиента завершена.
Как установить DNS-серверы имен в Ubuntu 18.04
Система доменных имен (DNS) — это центральная часть инфраструктуры Интернета, обеспечивающая способ преобразования доменных имен в IP-адреса. Вы можете думать о DNS как о телефонной книге Интернета.
Каждое устройство, подключенное к Интернету, уникально идентифицируется своим IP-адресом. Когда вы вводите веб-сайт, который хотите посетить, в своем браузере, его доменное имя должно быть преобразовано в соответствующий IP-адрес. Операционная система сначала проверяет свой файл hosts для соответствующего домена и, если для этого домена нет записи, она запрашивает настроенные серверы имен DNS для разрешения указанного имени домена.
После разрешения домена система кэширует запрос и сохранит запись для домена и соответствующего IP-адреса.
Серверы имен DNS (преобразователи) — это серверы, которые используются другими устройствами для выполнения поиска DNS для запрошенного домена.
Обычно преобразователи DNS назначаются вашим интернет-провайдером. Однако эти преобразователи могут работать медленно или не обновляться регулярно, что может вызвать задержку при запросе домена, разрешение на неправильный IP-адрес или иногда вы вообще не сможете разрешить нужный домен.
Существует множество бесплатных общедоступных преобразователей DNS, которые являются быстрыми, частными и регулярно обновляются.
Ниже приведены некоторые из наиболее популярных общедоступных преобразователей DNS:
- Google (8.8.8.8, 8.8.4.4)
- Cloudflare (1.1.1.1 и 1.0.0.1)
- OpenDNS (208.67.222.222, 208.67.220.220)
- Уровень 3 (209.244.0.3, 209.244.0.4)
В этом руководстве мы объясним, как настроить DNS-серверы имен (преобразователи) в Ubuntu 18.04.
Если вы хотите настроить DNS-серверы имен для всех устройств, подключенных к вашей локальной сети, то самый простой и рекомендуемый способ — внести изменения на домашнем маршрутизаторе.
Заключение
Теперь вы можете ссылаться на внутренние сетевые интерфейсы своих серверов по имени, а не по IP-адресу. Это упрощает настройку сервисов и приложений, поскольку вам больше не нужно запоминать IP-адреса, и файлы станет легче читать и понимать.
После настройки внутреннего DNS важно обеспечить DNS-серверам хорошую поддержку. Если они оба станут недоступными, ваши сервисы и приложения, которые полагаются на них, перестанут функционировать должным образом
Вот почему рекомендуется использовать в настройке DNS как минимум один вторичный сервер и поддерживать рабочие резервные копии всех серверов.
BINDDNSUbuntu 18.04