Как установить доменное имя в GNU /Linux?
Аналогично имени хоста, которое можно изменить по-разному:
- временно используя команду hostname
- с помощью /etc/hostname (или /etc/sysconfig/network или /etc/HOSTNAME , эти файлы используются сценариями инициализации)
Я хочу изменить свое доменное имя. Я могу использовать команду domainname , но есть ли способ сделать ее постоянной при перезагрузках? Я думаю, что его можно настроить в /etc/resolv.conf , но этот файл обычно генерируется, и я точно не знаю разницу между search и domain . И в какое время именно информация передается программе domainname для установки имени домена?
У вас есть идеи по этому поводу?
Я хотел бы быть в основном совместимым между дистрибутивами. Поэтому, если у кого-то есть указатели на разные дистрибутивы, я с радостью принимаю их.
3 ответа
Установить FQDN
Я использую Debian 7, и это то, что сработало для меня; благодаря Фернандо Рибейру .
sudoedit /etc /hostname
активировать имя хоста
sudo hostname -F /etc /hostname
добавить имя домена и адрес на сервер
VERIFY
Когда вы используете системы redhat-base , linux использует /etc/sysconfig/network , и вы должны установить переменную HOSTNAME в FQDN , когда вы используете FQDN , linux сам определяет имя домена.
Но когда вы используете системы debian-base , вы должны заполнить /etc/hostname с помощью FQDN :
ПРИМЕЧАНИЕ: , если вы хотите установить domain name обязательно установите FQDN (Полностью Qualyfied Domain Name)
Когда вы установите, hostname -d показывает вам domain name .
man hostname , процитированный от конца до начала
Я бы сказал, что он полностью описывает все это.
Контроллер домена на Ubuntu 18.04 – Ubuntu 18.04 AD-DC
Думаю если вы попали на эту страницу, значит тем или иным путем пришли к выводу о том, что необходимо настроить систему централизованного управления учетными записями в локальной сети вашего предприятия, скорее всего это контроллер домена на Ubuntu или Windows. У вас как обычно 3 основных пути для реализации своего плана:
-
- Выкинуть деньги на ветер
- Сесть за пиратство
- Использовать какое-либо решение на базе линукса
Если честно, есть еще 4-й вариант, и он очень даже неплох. Основывается он на Synology NAS, обладающих просто божественными возможностями даже в самых маленьких реализациях.
Но вернемся к нашим реалиям. Наш вариант номер 3. В деталях он выглядит примерно так:
- У нас в сети нет ни одного серверного решения Microsoft
- Мы не хотим появления в нашей сети пиратских серверных решений Microsoft
- В большинстве своем наша сеть состоит из машин с ОС Ubuntu Desktop, но есть и пара ноутбуков с вендами.
- У нас есть необходимость централизованного управления учётными записями
- У нас есть одно или несколько сетевых хранилищ и мы хотим управлять доступом к хранимой на них информации, предоставляя его через протоколы NFS и CIFS(smb). Сетевые хранилища могут быть реализованы как на голых ubuntu server, так на различных решениях типа FreeNAS, NAS4Free и тд, так и на покупных решениях, типа QNAP, Synology и тд.
Реализовывать контроллер домена на Ubuntu мы будем на хосте ESXi с примерно следующими характеристиками:
- CPU: 1 ядро на 2.2-2.8 GHz
- RAM: 2 Gb
- HDD: 1 hdd 32Gb
- Network: 1 Сетевая карта
- Имя сервера: ag-dc
- Имя домена: adminguide.lan
Что касается физической машины, то подойдет любая не сильно мощная машина. Но если там хотя бы 4‑х ядерный CPU и 4+ гига оперативной памяти, я рекомендовал бы запилить на неё бесплатный гипервизор ESXi и уже с его помощью полностью утилизировать имеющиеся мощности.
Поправка к инструкции: Везде в тексте инструкции, имя тестового samba домена изменено с adminguide.local на adminguide.lan. зона .local может вызывать глюки в виндовых сетях. Если вы видите на скриншоте adminguide.local, на самом деле там должно быть adminguide.lan
Устанавливаем Ubuntu Server 18.04 LTS amd64
Изменяем имя сервера на ag-dc
- После изменения имени сервера в соответствии с инструкцией, перезагружаем сервер следующей командой:
- Проверяем имя сервера
После загрузки сервера, авторизовываемся и смотрим результат команды hostnamectl . Должно быть следующее:
Важно понимать, что после того, как вы настроите контроллер домена на Ubuntu, смена имени его сервера приведет к непредвиденным последствиям, поэтому не надо пытаться превратить свою тестовую попытку, в рабочее решение. После того как вы один или несколько раз инициализируете свой ad-dc и убедитесь в его работоспособности, удалите все свои достижения и уже только после этого выполняйте чистовую работу, полностью отдавая себе отчет в производимых действиях.
Настраиваем статический IP адрес
- На данном этапе, пока у нас еще не стоит самба и не инициализирован домен, наши настройки будут следующими:
IP адрес и маска сети сервера: 192.168.1.100/24
Шлюз 192.168.1.1 (роутер в тестовой сети)
dns сервер 192.168.1.1 (роутер в тестовой сети). Переходим по ссылке и выполняем все по инструкции приводя настройки сети к следующему виду:
Вот как выглядит файл настроек на тестовом сервере:
Главным ДНС сервером на данный момент должен быть указан локальный роутер, или любой другой днс сервер, например 8.8.8.8, способный выполнять эти функции.
Отключаем systemd-resolved
- Останавливаем сервис systemd-resolved
- Убираем systemd-resolved из автозапуска
- Удаляем ссылку /etc/resolv.conf
- Открываем на редактирование файл /etc/resolv.conf
По факту, на данный момент этого файла еще не существует, он будет создан при сохранении изменений.
Добавляем переадресацию на наш днс сервер и указываем search домен в resolv.conf .
На данном этапе, nameserver должен указывать на тот же адрес, что и в пункте 3.1
В search указывается имя нашего будущего домена Active Directory.
Файл /etc/resolv.conf должен выглядеть следующим образом:
Настраиваем файл /etc/hosts
- Одним из обязательных условий, является резолв имени нашего сервера, на его IP в локальной сети. Если сервер находится в сети 192.168.1.0/24 и его IP 192.168.1.100, то набирая на нем команду ping ag-dc или же ping ag-dc.adminguide.lan должен резолвиться адрес 192.168.1.100. Имя контроллера домена, не должно резолвиться на локальный адрес 127.0.0.1 или какой либо другой адрес, кроме того, что назначен сетевому интерфейсу который использует DC.
- Приводим файл hosts к следующему виду:
Проверяем что не запущено никаких самвобых процессов
Для этого понадобится следующая команда:
Если есть хоть один процесс и вы видите что-то типа этого:
таки возможно вы настраиваете AD-DC не на новом сервере или на сервере развернутом не из оригинального образа. Если вы решите на свой страх и риск продолжить установку, то вам необходимо убить все процессы с именами samba, smbd, nmbd, winbindd. Чтобы убить процесс, надо использовать команду sudo kill :
Устанавливаем Samba
На этом этапе так же важно знать, что после того как вы инициализируете контроллер домена на Ubuntu, вы не сможете изменить его название. Если вы называете свой домен ADMINGUIDE.LAN, он на веки вечные останется доменом ADMINGUIDE.LAN . Самба не поддерживает изменение имени домена. После его инициализации, чтобы изменить название, вам придется вывести из него все машины что вы успели зарегистрировать в нем, удалить старый домен, инициализировать новый и зарегистрировать машины повторно. Стоит ли говорить, что даже при 25 рабочих станциях — это уже проблема
- Устанавливаем samba и все необходимые пакеты командой:
- Область по умолчанию для Kerberos версии 5
Так же указываем ag-dc.adminguide.lan
Бэкапим стандартную конфигурацию Samba
Инициируем контроллер домена на Ubuntu 18.04
Запускаем инициализацию в интерактивном режиме
Из своего домена, мы так же будем управлять пользователями и группами линуксовых машин. Поэтому нам нужно заранее включить поддержку NIS, с помощью команды –use-rfc2307
Включение поддержки NIS, не имеет никаких противопоказаний к применению, даже если ваш домен никогда не будет обслуживать линуксовые машины. В то же время, если инициализировать домен без поддержки NIS, и когда-нибудь в него войдут линуксовые машины и захочется управлять их учётками, расширять схему Active Directory и добавлять поддержку NIS, придётся уже ручками на свой страх и риск.
Указываем параметры домена
Если в процессе настройки не было допущено ошибок, все необходимые данные установщик поместит в квадратные скобки в виде стандартных значений:
Когда установщик запросит пароль, рекомендую указать пароль понадежнее. Это будет пароль от учетной записи администратора домена.
Если на этом этапе в квадратных скобках у вас указано не то значение которое вам бы хотелось, значит вероятнее всего в настройках ранее вы допустили серьезный косяк.
Смотрим результаты инициализации
Следующие строки возвестят о том, что контроллер домена на Ubuntu успешно завершил инициализацию:
Но радоваться еще слишком рано. Если вы видите нечто кардинально другое, значит вы допустили какую-то ошибку выше, либо прервали инициализацию запущенную ранее, либо инициализация вывалилась с ошибкой и сейчас вы пытаетесь инициализировать домен повторно. Если упереться рогом, можно вычистить все данные и записи сгенерированные в процессе инициализации и запустить её повторно. Это даже может привести к её успешному окончанию. НЕ ПЫТАЙТЕСЬ ЭТОГО ДЕЛАТЬ. Инициализируйте домен на новом чистом сервере. Если в процессе подготовки к инициализации, вы допустили косяк, и на момент запуска инициализации вы его не устранили и она завершилось ошибкой – просто удалите текущую инсталяцию сервера и начните сначала. Если вы настраиваете контроллер домена на виртуальной машине, сделайте снапшот выключенного сервера прежде чем приступать к пункту 7.1. В будущем в случае какого-то косяка на этапе инициализации, возвращайтесь к этому снапшоту и перепроверяйте всё \ исправляйте ошибки.
Настройка DC
Контроллер домена на Ubuntu, реализованный с помощью Samba сам автоматически запускает необходимые сервисы. Поэтому если они будут запущены не Samba DC, а например вручную пользователем, это может привести к необратимым последствиям и домен перестанет функционировать как должен. Поэтому на всякий случай, необходимо сделать эти сервисы недоступными для ручного запуска и отключить их автозапуск:
Делаем samba-ad-dc доступным для запуска, включаем сервис и включаем его автозапуск
Настройка DNS
- Изменяем dns сервер в настройках сети на IP настраиваемого сервера. По факту он будет ссылаться на себя же как на днс сервер 192.168.1.100
Приводим настройки параметров сети к следующему виду:
Настройка Kerberos
В процессе инициализации домена, создается файл krb5.conf, путь к нему указывается в последних строках отчета об успешной инициализации. Поэтому чтобы избежать ручной настройки файла /etc/krb5.conf, нам нужно заменить его только что сгенерированным.
Проверяем результаты своей работы
Они создаются в процессе инициализации домена и должны присутствовать для его правильного функционирования.
Контроллер домена на Ubuntu – Результат smbclient -L localhost -U%
Когда система запросит пароль, необходимо ввести пароль администратора домена, который мы указали при инициализации, в пункте 9.2
Контроллер домена на Ubuntu – Результат smbclient //localhost/netlogon -UAdministrator -c ‘ls’
В случае успешной авторизации, вы без ошибок подключитесь к папке
Проверяем правильность настройки DNS
Без правильно функционирующей службы DNS, AD DC не сможет функционировать как запланировано. Главное, нам необходимо убедиться, что SAMBA_INTERNAL dns настроен правильно и работает. Для этого попытаемся извлечь из него необходимые записи
- Смотрим SRV запись _ldap
- Смотрим SRV запись _kerberos
- Проверяем A запись контроллера домена
Контроллер домена на Ubuntu – Результаты проверки DNS
Контроллер домена на Ubuntu – Результат kinit administrator и klist