Начало работы с развертыванием полноценных сетей Linux
Я думал о развертывании полностью основанных на Linux сетей, как серверов, так и настольных компьютеров.
Я знаком с Linux-серверами и рабочими столами Linux, но не с предоставлением рабочих столов Linux обычным пользователям. Итак, проблемы, которые я ожидаю решить, - это централизованная настройка и управление пользователями, централизованное управление программным обеспечением, политики безопасности и т. Д.
Мне бы хотелось, чтобы какие-либо документы или книги, которые необходимо прочитать, или предложения сообщества об используемом программном обеспечении или рекомендуемых дистрибутивах, или другая информация, которая поможет мне начать работу.
4 ответа
Самая простая конфигурация для этого выглядит примерно так:
Серверы
Создайте один или несколько серверов:
сервер уровня 0 с DNS-сервером, таким как BIND и NIS. NIS на сегодняшний день является самым простым решением для управления идентификацией для Unix/Linux и используется со времен рабочих станций Sun. Прочитайте о безопасности NIS и решите, приемлемо ли это. В большинстве случаев это приемлемо для использования за брандмауэром, но не для публичного веб-сервера. Преимущество NIS в том, что он очень прост, и вы можете разумно рассчитать, как его настроить, через несколько часов. Администрация также довольно проста; взгляните на инструкции NIS.
Другой сервер, на котором работает NFS для файлового сервера, а также любые другие службы, такие как почта, которая вам нужна. Кроме того, вы можете использовать это в качестве резервной копии для ваших серверов DNS и NIS. Если у вас нет большой нагрузки, вам, вероятно, не понадобится более одной машины для этого. Отдельные приложения играют вместе гораздо приятнее, чем их коллеги из Windows.
Настройте сервер NFS по мере необходимости. Существует несколько опций для SMTP-серверов (например, postfix) и различных IMAP-серверов и других компонентов инфраструктуры. Выберите те, которые вам удобны.
Если у вас есть серверы приложений и баз данных, вы можете установить на этот сервер слегка загруженные. На более крупном "общем" сервере вы можете смонтировать несколько томов и разместить тома базы данных на своих собственных дисках. Это особенно привлекательно, если вы используете SAN.
В большинстве случаев вам не нужны серверы из расчета один на приложение. Приложения для Linux обычно хорошо играют в своем собственном пространстве и обычно не сбивают друг друга с толку. Экономьте затраты на администрирование и оборудование, избегая ненужного распространения серверного оборудования. Вам, вероятно, лучше пойти на меньшее количество больших серверов, чем на более мелкие.
Виртуальные машины менее выигрывают для этого, чем для приложений Windows, где люди, как правило, развертывают каждую на своем сервере. Вероятно, нет никакой пользы от запуска инфраструктуры на виртуальной машине. Это также делает это простым.
Если у вас есть приложение с большой нагрузкой, лучше разместить его на своем сервере, чтобы оно не влияло на другие приложения. Это также позволяет вам настраивать сервер специально для этого приложения.
Рабочие станции
Настройте свои рабочие станции с системой, установленной на локальном диске и /home, смонтированной на файловом сервере. Домашние каталоги пользователей монтируются с сервера NFS и защищены с помощью стандартной системы безопасности. Эта конфигурация исторически называлась "без данных" и дает вам единый образ системы, который может отслеживать пользователя на любой рабочей станции без локального состояния.
Оставьте "чистый" раздел на локальных дисках, если у вас есть кто-то, кому требуется большое количество локального хранилища данных, но дайте понять, что все, что они хотят скопировать, должно быть скопировано на файловый сервер.
Создайте один или несколько общих томов NFS. Когда вашим пользователям нужны общие каталоги, сделайте их в них и настройте разрешения соответствующим образом.
Вуаля: мгновенная сетевая инфраструктура. Это примерно так же просто, как сетевая инфраструктура Linux, и этот тип архитектуры исторически был масштабирован до целых университетских городков. Если вам нужна более безопасная аутентификация, вы можете сделать что-нибудь с помощью Kerberos/LDAP, но это намного, намного сложнее, чем NIS.
Совместимость устаревших окон
Там, где ваши пользователи застряли на окнах, у вас есть несколько основных решений:
Службы терминалов: клиенты TS или Citrix, такие как rdesktop или клиент Linux Citrix, могут использоваться для публикации приложений с сервера терминалов.
Эмуляция: WINE/Crossover или VM могут быть использованы для запуска приложений Windows на рабочем столе Linux
Замена: найдите замену (например, OpenOffice для MS Office) и используйте ее. Во многих случаях вы можете сделать это с 95% ваших пользователей и позволить 5%, которые обязательно должны иметь Excel, использовать его на рабочем столе Windows. Если возможно, найдите заменители, которые также будут работать в Windows, чтобы их можно было развернуть на рабочих столах Windows, где вам нужна смешанная архитектура.
Рабочие столы Windows: Используя Samba, вы можете публиковать домашние каталоги пользователей, чтобы их можно было монтировать на машине с Windows. Если у вас есть класс пользователей с устаревшим приложением, которое не поддается эмуляции (возможно, приложение для создания контента, такое как Adobe Indesign), они могут запускать Windows локально и использовать X-сервер (xming или Starnet - лучшие варианты), чтобы получить доступ к приложения Linux. Будьте безжалостны по этому поводу - заставьте пользователя доказать свою зависимость и создайте экономическое обоснование для сохранения рабочего стола Windows.
Ключевым моментом здесь является обращение с Windows как с устаревшей системой. Пользователи могут сохранить свой рабочий стол Windows тогда и только тогда, когда для приложения не существует надежной замены, а запуск приложения в эмуляции недопустим. Правильное взаимодействие между сетями позволяет поэтапно переносить пользователей, что исключает необходимость развертывания "большого взрыва".
Сетевая безопасность
При необходимости добавьте брандмауэр для сети и DMZ. Общедоступные SMTP-серверы могут быть переданы вашему провайдеру или размещены в DMZ. Однако серверы в этой зоне не должны использовать NIS для аутентификации. Подумайте об использовании OpenBSD для любых машин, открытых для публичного Интернета. Squid - это каноническое программное обеспечение Unix для веб-прокси, если вам необходимо прокси-соединение вашего Интернета.
"Групповая политика" не имеет прямого эквивалента в Linux, поскольку эта концепция не актуальна, если у вас есть централизованно смонтированные пользовательские каталоги. "Групповая политика" - это не требование, а специфический для Windows ключ, основанный на однопользовательском происхождении Windows, где идентификация пользователя и конфигурация компьютера являются очень тяжелой структурой. Перенос идентификатора пользователя и разрешений между рабочими столами Windows - очень сложная задача.
В Unix-производных системах вся конфигурация для каждого пользователя хранится в виде файлов в их домашнем каталоге. Когда пользователь регистрируется в своем профиле.profile, в среде появляются пользовательские настройки. Если им удастся нарушить их среду, простой сценарий восстановит конфигурацию по умолчанию. Отдельному непривилегированному пользователю очень трудно сделать что-то, что может повредить конфигурацию машины.
Существует множество способов отправки обновлений на рабочие станции. Они варьируются от центрального хранилища, где системы автоматически загружают обновления с центрального сервера (то есть по умолчанию, как настольные дистрибутивы делают это сейчас), до более сложных систем управления конфигурацией предприятия, таких как cfengine.
Мне также интересно, что говорят другие. Между тем, имейте в виду, что одно из очень больших препятствий, которое вы встретите, это ваши пользователи.
Они будут очень неохотно, и поддержка будет завалена очень простыми запросами.
Начните с серверов. Сделайте переход на стороне сервера прозрачным для ваших пользователей.
Кроме того, сначала обязательно протестируйте все свое оборудование и приложения (в случае, если вам нужен Wine, VMware или аналогичный), чтобы любые проблемы совместимости и недостатки были решены до развертывания.
Вы должны определенно настроить централизованное управление конфигурацией (например, puppet или cfengine)
Когда вы выполните все свои настройки через них, вы получите следующие преимущества:
- Все (большинство) настроек и операций централизованы.
- Поместите конфигурации в систему контроля версий, и в качестве бонуса вы получите историю всех машин.
- Серверы, имеющие одинаковую роль, будут иметь одинаковые конфигурации. Вы не столкнетесь с неожиданностью, пропуская разовые настройки в новой установке.
- Делает все ваши настройки воспроизводимыми (и задокументированными).
- Если сервер взрывается, установите его на новом оборудовании с нуля и дайте серверу запустить соответствующие директивы конфигурации.
- Затем восстановите ваши резервные копии.
- Вы должны иметь хорошо продуманное решение для резервного копирования в качестве первого элемента.
Ну, я попытаюсь сделать быстрый и грязный удар в этом. В зависимости от доступных вам ресурсов может быть полезно взглянуть на проект Linux Terminal Server. Это позаботится о централизованной конфигурации и управлении пользователями.
Если это не вариант (например, если вы используете много старого оборудования и у вас нет одного мощного сервера), я бы заглянул в Fedora Directory Project. Он не предоставит вам централизованную конфигурацию, но предоставит вам все, что вы могли бы пожелать в управлении пользователями.