Я думал о развертывании полностью основанных на Linux сетей, как серверов, так и настольных компьютеров.
Я знаком с серверами Linux и рабочими столами Linux, но не с предоставлением рабочих столов Linux стандартным пользователям. Итак, проблемы, с которыми я рассчитываю столкнуться, - это централизованная настройка и управление пользователями, централизованное управление программным обеспечением, политики безопасности и т. Д.
Я бы хотел прочитать любые документы или книги, которые необходимо прочитать, или предложения сообщества по используемому программному обеспечению или рекомендуемые дистрибутивы, или другую информацию, которая поможет мне начать работу.
Самая простая конфигурация для этого выглядит примерно так:
Серверы
Постройте один или несколько серверов:
сервер уровня 0, на котором есть DNS-сервер, такой как BIND и NIS. NIS - безусловно, самое простое решение для управления идентификацией для Unix / Linux, которое используется со времен рабочих станций Sun. Прочтите о безопасности NIS и решите, приемлемо ли это. В большинстве случаев это приемлемо для использования за брандмауэром, но не для общедоступного веб-сервера. Преимущество NIS в том, что он чрезвычайно прост, и вы можете разумно ожидать, что через несколько часов вы узнаете, как его настроить. Администрирование также довольно простое; взгляните на NIS howto.
Другой сервер, на котором работает NFS для файлового сервера, а также любые другие службы, такие как почта, которые вам нужны. Кроме того, вы можете использовать это как резервную копию для ваших серверов DNS и NIS. Если у вас нет большой нагрузки, вам, вероятно, для этого не понадобится больше одной машины. Отдельные приложения работают вместе намного лучше, чем их аналоги для Windows.
При необходимости настройте сервер NFS. Есть несколько вариантов для SMTP-серверов (например, postfix), различных IMAP-серверов и других компонентов инфраструктуры. Выберите те, которые вам удобны.
Если у вас есть серверы приложений и баз данных, вы можете установить на этот сервер слабо загруженные. На более крупном «общем» сервере вы можете смонтировать несколько томов и разместить тома базы данных на отдельных дисках. Это особенно привлекательно, если вы используете SAN.
В большинстве случаев вам не нужны серверы из расчета по одному на приложение. Приложения Linux, как правило, хорошо работают в своем собственном пространстве и обычно не сбивают друг друга с толку. Сэкономьте административные расходы и расходы на оборудование, избегая ненужного увеличения серверного оборудования. Вероятно, вам лучше выбрать меньше больших серверов, чем больше маленьких.
Виртуальные машины от этого выигрывают меньше, чем для приложений Windows, где люди обычно развертывают каждое на своем собственном сервере. Вероятно, нет никакой пользы от запуска инфраструктуры на виртуальной машине. Это также упрощает работу.
Если у вас есть приложение с большой нагрузкой, вам может быть лучше разместить его на собственном сервере, чтобы оно не влияло на другие приложения. Это также позволяет вам настроить сервер специально для этого приложения.
Рабочие станции
Настройте свои рабочие станции так, чтобы система была установлена на локальном диске, а каталог / home смонтирован с файлового сервера. Домашние каталоги пользователей монтируются с сервера NFS и защищены стандартной системой безопасности. Эта конфигурация исторически называлась «без данных» и дает вам единый образ системы, который может следовать за пользователем на любую рабочую станцию без локального состояния.
Оставьте рабочий раздел на локальных дисках, если у вас есть кто-то, кому требуется большой объем локального хранилища данных, но проясните, что все, что они хотят скопировать, следует скопировать на файловый сервер.
Создайте один или несколько общих томов NFS. Когда вашим пользователям нужны общие каталоги, создайте их в них и соответствующим образом настройте разрешения.
Вуаля: мгновенная сетевая инфраструктура. Это примерно так же просто, как и сетевая инфраструктура Linux, и этот тип архитектуры исторически масштабировался на целые университетские городки. Если вам нужна более безопасная аутентификация, вы можете что-нибудь сделать с помощью kerberos / LDAP, но это намного сложнее, чем NIS.
Совместимость с устаревшими окнами
Если ваши пользователи застревают в окнах, у вас есть несколько основных решений:
Терминальные службы: TS или клиенты Citrix, такие как rdesktop или клиент Citrix Linux, могут использоваться для публикации приложений с терминального сервера.
Эмуляция: WINE / Crossover или виртуальная машина могут использоваться для запуска приложений 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.
Вы обязательно должны настроить централизованное управление конфигурацией (например, кукольный или cfengine)
Когда вы выполните всю настройку через них, вы получите следующие преимущества:
Мне также интересно, что говорят другие. Между тем имейте в виду, что одним из самых больших препятствий, с которыми вы столкнетесь, являются ваши пользователи.
Они будут очень неохотно, и их поддержка будет завалена очень простыми просьбами.
Начнем с серверов. Сделайте переход на сервер прозрачным для ваших пользователей.
Кроме того, не забудьте сначала протестировать все свое оборудование и приложения (если вам нужен Wine, VMware или аналогичный), чтобы все проблемы совместимости и причуды были устранены перед развертыванием.
Что ж, я собираюсь попытаться нанести быстрый и грязный удар по этому поводу. В зависимости от доступных вам ресурсов может быть полезно взглянуть на Проект сервера терминалов Linux. Это само позаботится о централизованной настройке и управлении пользователями.
Если это не вариант (например, если вы используете много старого оборудования и у вас нет одного мощного сервера), я бы посмотрел на Проект каталога Fedora. Он не предоставит вам централизованную настройку, но предоставит вам все, что вы можете пожелать в управлении пользователями.