Что такое домен в Linux
Обновлено: 24.11.2024
В настоящее время мой сервер настроен следующим образом:
Это неудивительно.
Как это сделать правильно?
Действительно, man-страница для имени хоста не ясна. По крайней мере для меня:
- При вызове с одним аргументом или параметром --file команды задают имя хоста или доменное имя NIS/YP. hostname использует функцию sethostname(2), в то время как все три имени домена, ypdomainname и nisdomainname используют setdomainname(2). Обратите внимание, что это действует только до следующей перезагрузки. Отредактируйте /etc/hostname для постоянного изменения.
- Вы не можете изменить полное доменное имя с именем хоста или dnsdomainname.
Похоже, редактирования /etc/hostname недостаточно? Потому что, если бы он действительно изменил имя хоста, он бы изменил и полное доменное имя. Я также читал о том, как изменить имя хоста с помощью команды sysctl kernel.hostname=server1 , но ничего не говорит о том, правильный это способ или уродливый трюк.
Как правильно задать имя хоста?
Как правильно установить доменное имя?
5 ответов 5
Настройка имени хоста:
Вам нужно отредактировать /etc/hostname, указав новое имя хоста.
Затем запустите sudo hostname $(cat /etc/hostname) .
Установка домена при условии, что у вас есть двоичный файл resolvconf:
В /etc/resolvconf/resolv.conf.d/head вы добавите строку domain your.domain.name (не ваше полное доменное имя, а только доменное имя).
Затем запустите sudo resolvconf -u, чтобы обновить файл /etc/resolv.conf (или просто воспроизведите предыдущее изменение в файле /etc/resolv.conf).
Если у вас нет resolvconf , просто отредактируйте /etc/resolv.conf , добавив строку domain your.domain.name.
Наконец, обновите файл /etc/hosts. Должна быть хотя бы одна строка, начинающаяся с одного из ваших IP-адресов (петля или нет), вашего полного доменного имени и вашего имени хоста. выбирая адреса ipv6, ваш файл hosts может выглядеть так:
В ответ на предложения hostnamectl, которые накапливаются в комментариях: это не является обязательным и исчерпывающим.
Его можно использовать вместо шагов 1 и 2, ЕСЛИ ваша ОС поставляется с systemd. Принимая во внимание, что приведенные выше шаги действительны независимо от наличия systemd (pclinuxos, devuan, . ).
Я новичок в мире конфигураций серверов, и мне трудно понять, что такое домен, особенно во внутренней среде. Например, я прочитал, и мне сказали, что лучшим соглашением об именах для внутреннего домена является имя_домена.local. Однако я понятия не имею, для чего нужен домен и что он делает?
Я не уверен, применима ли одна и та же терминология к Windows и Linux, но если это так, я хотел бы знать, как это относится к Linux.
4 ответа 4
Представьте, что вы управляете несколькими компьютерами. Давайте также представим, что вы устали просто обращаться к ним по их IP-адресам. Скажем, вместо этого вы дали им прикольные имена. И теперь вы хотели бы, чтобы каждая машина в вашей сети могла находить друг друга, просто используя их имена. Итак, вы идете и настраиваете DNS-сервер, у которого можно запросить информацию об этих именах и о том, кому они принадлежат.
Большая разница между "внутренним доменом" и "внешним доменом" заключается в том, кто может запрашивать ваш DNS-сервер и, таким образом, узнавать все, что известно о вашем домене. Если вы настроили домен middleearth, потому что ВЫ и ваша организация просто устали использовать IP-адреса для обращения ко всем вашим машинам (см. ответ @JamesHannah, почему это раздражает), то вам НЕ нужно общественность/интернет/мир общается с вашим DNS-сервером; поэтому за пределами вашей сети никто даже не знает, что ваш домен «существует». Внутри вашей сети все ваши машины знают, что почтовый сервер — gondor.middlearth, и что ваш DNS-сервер знает, где его найти.
Как заметил sysadmin1138, эта концепция является частью домена Windows Active Directory, но не включает его.
На мой взгляд, это действительно вопрос о DNS. Мне всегда нравилась статья Technet здесь, но она может показаться вам слишком длинной. Системному администратору стоит понимать DNS. Это связующее звено, которое в значительной степени скрепляет Интернет (ну, это и perl. ).
Нужно ли вам централизованно управлять системами Linux и учетными записями пользователей в домене Active Directory? Вот как это сделать.
Опубликовано: 13 октября 2020 г. | Эдем Афеньо
Microsoft Active Directory (AD) — это служба каталогов, к которой обращаются многие организации.Если вы и ваша команда отвечаете за смешанную среду Windows и Linux, вы, вероятно, захотите централизовать аутентификацию для обеих платформ. Я расскажу, как добавить компьютеры Linux в домен Active Directory.
Active Directory и потребность в централизованном управлении доступом
Дополнительные ресурсы по Linux
Компания Microsoft Active Directory, более известная как AD, уже много лет занимает львиную долю рынка средств управления корпоративным доступом. Он используется учреждениями и отдельными лицами во всем мире для централизованного управления доступом к ресурсам, принадлежащим организации. Это дает вам возможность управлять пользователями, паролями, ресурсами, такими как компьютеры, и определять, кто имеет доступ к чему. Для некоторых из вас, читающих эту статью, особенно для тех, кто работает в крупных учреждениях, раньше взаимодействовали с AD. Обычно при взаимодействии используется один набор учетных данных для входа на любую рабочую станцию в организации. Это лишь верхушка большого айсберга.
Представьте себе набор из 40 компьютерных систем и 70 пользователей в фирме. Некоторые сотрудники работают по сменам, а другие работают по обычному графику. Некоторые имеют доступ к печати; другие нет. Традиционный способ работы заключается в создании локальных учетных записей пользователей на каждом компьютере, к которому пользователь должен получить доступ. Представьте себе нагрузку на группу поддержки конечных пользователей. Когда пользователь меняет свой пароль по какой-либо причине, этот пользователь должен изменить пароль на всех компьютерах, к которым у него ранее был доступ, чтобы обеспечить синхронизацию. В ближайшее время будет хаос. Теперь представьте, что два сотрудника уходят в отставку. Мне не нужно рассказывать вам о монотонной работе, которую приходится повторять каждый раз при смене штатного расписания или каких-либо рабочих мест. Для ИТ-команд это кошмар. Время, которое можно было бы использовать для решения инновационных задач, теперь тратится на изобретение велосипеда. Я даже не говорил об управлении доступом к принтерам.
Именно здесь процветает такая служба каталогов, как Active Directory. Это может буквально спасти жизнь. В Active Directory каждый пользователь создается уникальным образом как объект в центральной базе данных с единым набором учетных данных. Каждая компьютерная система также создается как объект. Автоматически каждый пользователь может получить доступ к каждой рабочей станции с одним и тем же набором учетных данных. Любые изменения учетных записей, которые необходимо внести, вносятся один раз в центральную базу данных. Сотрудники могут получить доступ к принтерам, используя тот же набор учетных данных. Для этого механизм аутентификации принтеров может быть объединен с AD. Счастливые пользователи, счастливая ИТ-команда.
С помощью групп и организационных подразделений можно настраивать и поддерживать доступ к различным ресурсам. Становится еще лучше. Этот каталог может хранить номера телефонов сотрудников, адреса электронной почты и может быть расширен для хранения другой информации. А если кто-то уволится? Без проблем. Просто отключите учетную запись пользователя. Доступ этого человека ко всем ресурсам аннулируется на месте. Чем крупнее организация, тем больше потребность в централизованном управлении. Это экономит время; это экономит эмоции.
По сути, служба каталогов — это просто организованный способ систематизации всех ресурсов в организации, облегчающий доступ к этим ресурсам. По сути, AD — это своего рода распределенная база данных, доступ к которой осуществляется удаленно через протокол облегченного доступа к каталогам (LDAP). LDAP — это открытый протокол для удаленного доступа к службам каталогов через среду, ориентированную на соединение, такую как TCP/IP. AD — не единственная служба каталогов, основанная на стандарте x.500 или к которой можно получить доступ с помощью LDAP. Другие службы каталогов включают OpenLDAP и FreeIPA. Однако AD — это зрелая служба на основе Windows, которая встроена в системы Windows Server. Другими словами, если в вашей организации много систем Windows, она автоматически станет победителем. Это одна из причин его повсеместного распространения. Службы каталогов, такие как FreeIPA, основаны на Linux и обеспечивают отличный сервис для стабильной версии Linux. Когда резина отправляется в путь, выбор сводится к тому, какой из двух вы можете быстро настроить, учитывая текущую среду и набор навыков вашей команды.
Но что происходит, когда вы выбираете AD и у вас есть несколько серверов CentOS, и вы не хотите поддерживать отдельный набор учетных данных для своих пользователей Linux? Этих накладных расходов можно полностью избежать. Что вам нужно сделать, так это присоединить серверы Linux к домену AD, как вы бы сделали это с сервером Windows.
Если это то, что вам нужно сделать, читайте дальше, чтобы узнать, как это сделать. Можно присоединить систему Windows к домену FreeIPA, но это выходит за рамки данной статьи.
Предварительные условия
В этой статье предполагается, что у вас есть хотя бы начальный опыт работы с Active Directory, особенно в области управления учетными записями пользователей и компьютеров. Кроме того, должны быть соблюдены следующие очевидные требования:
- Учетная запись в AD с правами, необходимыми для присоединения системы к домену.
- Сервер Linux (для этой демонстрации использовался сервер CentOS 7).
- Контроллер домена.
- Убедитесь, что ваш Linux-сервер знает, как найти контроллер домена через DNS.
Чтобы сделать эту статью проще для всех, вот список ключевых деталей. Вот как настроена лаборатория, которую я использовал для этой записи, поэтому вы должны изменить ее соответствующим образом.
Пакеты для установки
Для этой конфигурации необходимо установить пакет realmd . Помимо realmd, для этого необходимо установить множество пакетов.
Realmd предоставляет упрощенный способ обнаружения доменов Active Directory и взаимодействия с ними. Он использует sssd для фактического поиска, необходимого для удаленной аутентификации и другой тяжелой работы по взаимодействию с доменом. В интересах краткости я не буду останавливаться на других пакетах в списке.
Однако тем, кто интересуется подробностями, быстрый поиск в Google должен быть очень полезен.
Realmd (взаимодействует с доменом)
Теперь, когда все пакеты установлены, первое, что нужно сделать, — это присоединить систему CentOS к домену Active Directory. Для этого мы используем приложение realm. Клиент realm устанавливается одновременно с realmd. Он используется для присоединения, удаления, управления доступом и выполнения многих других задач. Вот ожидаемый синтаксис для простого присоединения к домену:
Пробел между учетной записью пользователя и учетной записью домена не является опечаткой. Вставив соответствующие реквизиты, мы получим следующую команду:
Укажите пароль при появлении запроса и дождитесь завершения процесса.
Не позволяйте кратковременному отсутствию вывода обмануть вас. В рамках этого процесса выполняется ряд операций. Вы можете включить переключатель -v для более подробного вывода. Однако лучший способ проверить, является ли компьютер теперь членом домена, — запустить команду списка областей. Команда пытается отобразить текущее состояние сервера относительно домена. Это быстрый и грязный способ узнать, какие группы или пользователи могут получить доступ к серверу.
Посмотрите на результат:
Кроме того, с самого начала довольно просто поместить вновь созданный компьютерный объект AD в определенную организационную единицу (OU). Я оставлю это для дальнейшего чтения, но в качестве подсказки вы можете обратиться к справочной странице. Используя клиент области, вы можете предоставить или отозвать доступ к пользователям и группам домена. Глубокого погружения в более тонкое использование realmd достаточно, чтобы написать еще одну статью. Однако не лишним будет выделить вашему вниманию несколько параметров, а именно клиентское ПО и серверное ПО. Теперь вы должны понять, почему нам пришлось установить так много пакетов.
Чтобы полностью покинуть домен, нужно два слова: realm leave
Дальнейшая настройка
Итак, теперь, когда сервер Linux является частью домена AD, пользователи домена могут получить доступ к серверу со своими обычными учетными данными. Мы закончили, верно? Неправильно. "В чем проблема?" Я слышу, как ты говоришь.
Ну, для начала, это базовая конфигурация, которая поможет вам приступить к работе. Но опыт неуклюжий, мягко говоря. Нам нужно дополнительно настроить службу, чтобы придать ей истинное ощущение AD. Это должно быть похоже на вход на рабочую станцию Windows 10, присоединенную к домену.
Во-вторых, в комнате системных администраторов есть большой слон, который называется динамическими обновлениями DNS (DynDNS). Если он настроен неправильно, мы создаем дополнительные накладные расходы, поскольку нам приходится поддерживать записи DNS вручную. Для среды, которая сильно зависит от DNS, это может быть проблемой. Для систем Windows присоединение системы к домену означает, что две записи автоматически управляются и поддерживаются на DNS-сервере. Когда IP-адреса меняются, это изменение автоматически отражается в DNS. Это означает, что вы можете изменить IP-адреса систем без затрат на ручное обслуживание. Это будет иметь смысл только для тех, кто уже использует преимущества DNS в своей среде. Помимо заметного повышения производительности за счет автоматизации, важно, чтобы среды Windows и Linux работали одинаково.
Третья проблема — очистка DNS. В домене Active Directory DNS обычно предоставляется контроллерами домена. Каждая система, присоединенная к домену, имеет автоматическую запись DNS с соответствующим IP-адресом. Это супер удобно. Автоматически с заданным интервалом устаревшие записи DNS удаляются, чтобы предотвратить ошибочно направленные пакеты, а также позаботиться об удаленных компьютерных объектах.Это называется очисткой и не включено по умолчанию в AD. Однако, если он включен, нам нужно его настроить. Как правило, интервал очистки составляет семь дней. Если по истечении этого периода запись не обновлялась, она удаляется, если только это не статическая запись. Для систем Windows функция динамических обновлений настраивается автоматически. Однако для серверов Linux необходимо внести несколько изменений. Если этого не делать, через какое-то время сервисы перестанут работать, потому что их записи удалены из DNS, и никто не знает, как добраться до их составных частей.
Теперь, когда мы знаем о некоторых потенциальных проблемах, которые необходимо решить, давайте посмотрим, что мы можем изменить, чтобы сделать работу пользователей и системных администраторов более удобной.
SSSD (упрощенный вход и динамические обновления)
sssd в системе Linux отвечает за предоставление системе доступа к службам проверки подлинности из удаленного источника, такого как Active Directory. Другими словами, это основной интерфейс между службой каталогов и модулем, запрашивающим службы аутентификации, realmd. Его основной файл конфигурации находится в /etc/sssd/sssd.conf. По сути, это основной файл конфигурации, который мы будем модифицировать.
Давайте посмотрим на его содержимое перед настройкой. Как только вы присоединяетесь к домену, он немедленно модифицируется, чтобы содержать минимум информации, необходимой для успешного входа в систему. Мой файл выглядел так:
Гэри Ньюэлл был внештатным сотрудником, разработчиком приложений и тестировщиком программного обеспечения с более чем 20-летним опытом работы в сфере ИТ, работая с Linux, UNIX и Windows.
Несколько связанных команд раскрывают или изменяют имя хоста вашего компьютера. Это стандартные команды, которые должны работать независимо от вашего дистрибутива Linux.
Команда 'имя хоста'
У каждого компьютера есть имя хоста, и имя хоста вашего компьютера, скорее всего, было задано при первой установке Linux. Узнайте имя хоста вашего компьютера, выполнив следующую команду в окне терминала:
Имя хоста в основном используется для идентификации вашего компьютера в сети и домена, к которому он принадлежит.
Вы можете получить только имя компьютера, выполнив следующую команду:
В качестве альтернативы можно просмотреть только имя домена, выполнив следующую команду:
Некоторые оболочки Linux включают имя хоста как часть приглашения оболочки.
Команда «имя домена»
Вместо использования имени хоста с ключом -d для возврата имени домена выполните следующую команду:
Если у вас настроен домен, он будет возвращен, в противном случае вы увидите текст (нет). Во многих случаях, особенно когда вы не подключены к сети, вместо этого вы можете увидеть localdomain.
Команда domainname возвращает имя домена NIS системы.
NIS означает сетевую информационную систему. NIS — это клиент-серверная система на основе удаленного вызова процедур, которая позволяет группе компьютеров в домене NIS совместно использовать общий набор файлов конфигурации. Такое расположение позволяет системному администратору настраивать клиентские системы NIS с минимальными данными конфигурации, а также добавлять, удалять или изменять данные конфигурации из одного места.
Команда dnsdomainname
Команда dnsdomainname возвращает доменное имя DNS. Запустите его, введя в терминал следующее:
Если вы не используете веб-сервер, ваш компьютер не будет иметь доменного имени DNS, и выполнение команды dnsdomainname либо ничего не вернет, либо вернет локальный хост.
Настройка доменного имени NIS
Установите доменное имя NIS для вашего компьютера с помощью следующей команды:
Возможно, вам понадобится sudo, чтобы повысить права доступа.
Файл /etc/hosts
В окне терминала выполните следующую команду, чтобы открыть файл hosts в редакторе Nano:
sudo nano /etc/hosts
Вы увидите несколько строк текста в файле /etc/hosts, как показано выше:
Первая часть — это IP-адрес компьютера, вторая часть — имя компьютера. Чтобы навсегда добавить домен NIS для компьютера, измените строку следующим образом:
Сервер системы доменных имен (DNS) или сервер имен используется для преобразования IP-адреса в имя хоста или наоборот. Домен имен Интернета Беркли (BIND) – наиболее часто используемый DNS-сервер в Интернете, особенно в Unix-подобных системах.
Возможности системы доменных имен (DNS)
• Система доменных имен (DNS) предоставляет службы разрешения имен для клиентских компьютеров.
• Система доменных имен (DNS) обеспечивает сопоставление IP-адреса с именем хоста.
• DNS-серверы Linux могут работать в трех режимах: DNS-сервер только с кэшированием, первичный DNS-сервер и подчиненный (вторичный) DNS-сервер.
• Репликация базы данных DNS между серверами
Некоторые важные термины, связанные с системой доменных имен (DNS)
• Домен. Домен — это любое дерево или поддерево в общем пространстве имен домена.
• Корневой домен. Корневой домен — это корень дерева DNS. Он безымянный и представлен точкой (.).
• Домен верхнего уровня. Обычно доменное имя верхнего уровня представляет собой двух- или трехсимвольный код имени, определяющий организационный или географический статус доменного имени.
• Домен второго уровня. Домен второго уровня — это уникальное имя переменной длины, назначаемое отдельным лицам или организациям, которые подключаются к Интернету. Пример: myuniversity.edu. Здесь имя второго уровня относится к «.myuniversity», которое назначается InterNIC.
• Поддомены. Крупные организации могут дополнительно подразделять зарегистрированное доменное имя, добавляя подразделения, представленные отдельной частью имени.
• Зона DNS: как показано на рисунке выше, пространство имен DNS является иерархическим. С административной точки зрения каждый уровень или узел в иерархии представляет потенциальную границу полномочий по управлению пространством имен. Зона DNS — это часть пространства имен глобальной системы доменных имен (DNS), за которую делегирована административная ответственность.
Читайте также: