开始部署完整的 Linux 网络

开始部署完整的 Linux 网络

我一直在考虑部署完全基于 Linux 的网络,包括服务器和桌面。

我熟悉 Linux 服务器和 Linux 桌面,但不熟悉如何将 Linux 桌面提供给标准用户。因此,我预计会遇到的问题是集中配置和用户管理、集中软件管理、安全策略等。

我想要的是任何必读的文档或书籍,或者社区对正在使用的软件或推荐的发行版的建议,或其他可以帮助我入门的信息。

答案1

最简单的配置如下:

服务器

构建一个或多个服务器:

  • 一个“0 级”服务器,上面有 DNS 服务器(如 BIND 和 NIS)。NIS 是迄今为止最简单的 Unix/Linux 身份管理解决方案,自 Sun 工作站时代以来就一直在使用。阅读有关 NIS 安全性的文章,并决定是否可以接受。在大多数情况下,它可以在防火墙后面使用,但不适用于面向公众的 Web 服务器。NIS 的优点是它非常简单,您可以合理地预期在几个小时内弄清楚如何设置它。管理也相当简单;看看NIS 操作指南。

  • 另一台运行 NFS 的服务器,用于文件服务器以及您需要的任何其他服务(例如邮件)。此外,您可以将其用作 DNS 和 NIS 服务器的备份。除非您的负载很重,否则您可能不需要多台机器。各个应用程序的协同工作比 Windows 版本好得多。

根据需要调整 NFS 服务器。SMTP 服务器(例如 postfix)和各种 IMAP 服务器以及其他基础设施套件有多种选择。选择您喜欢的。

如果您有应用程序和数据库服务器,您可以在此服务器上安装负载较轻的服务器。在较大的“通用”服务器上,您可以安装多个卷并将数据库卷放在各自的磁盘上。如果您使用 SAN,这尤其有吸引力。

在大多数情况下,您不需要为每个应用程序配备一台服务器。Linux 应用程序往往在自己的空间中运行良好,并且通常不会相互干扰。通过避免不必要的服务器硬件扩散,可以节省管理和硬件成本。与使用更多小型服务器相比,使用较少的大型服务器可能更好。

虚拟机在这方面的优势不如 Windows 应用的优势,因为人们倾向于将每个应用部署在自己的服务器上。在虚拟机上运行基础架构可能没有任何好处。这也使其变得简单。

如果您的应用程序负载很重,最好将其放在自己的服务器上,以免影响其他应用程序。这样还可以专门针对该应用程序调整服务器。

工作站

设置工作站,将系统安装在本地磁盘上,并将 /home 挂载到文件服务器之外。用户主目录挂载到 NFS 服务器之外,并通过标准系统安全机制进行保护。这种配置过去称为“无数据”,为您提供一个单一系统映像,该映像可以跟随用户到任何没有本地状态的工作站。

  • 如果有人需要大量本地数据存储,请在本地磁盘上保留一个临时分区,但要明确表示他们想要备份的任何内容都应复制到文件服务器。

  • 创建一个或多个 NFS 共享卷。当您的用户需要共享目录时,请在这些卷上创建目录并适当设置权限。

瞧:即时网络基础设施。这大概是 Linux 网络基础设施所能达到的最简单程度了,这种类型的架构在历史上已经扩展到整个大学校园。如果您需要更安全的身份验证,您可以使用 kerberos/LDAP 来做一些事情,但这比 NIS 要复杂得多。

与旧版 Windows 的互操作性

当您的用户被困在 Windows 上时,您有几种基本的解决方案:

  • 终端服务:TS 或 citrix 客户端(例如 rdesktop 或 Linux citrix 客户端)可用于从终端服务器发布应用程序。

  • 模拟:可以使用 WINE/Crossover 或 VM 在 Linux 桌面上运行 Windows 应用程序

  • 替代:找到替代品(例如,OpenOffice 替代 MS Office)并使用它。在许多情况下,您可以对 95% 的用户这样做,并让 5% 必须使用 Excel 的用户在 Windows 桌面上使用它。如果可能,找到也可以在 Windows 上运行的替代品,以便将它们部署到需要混合架构的 Windows 桌面上。

  • Windows 桌面:使用 Samba,您可以发布用户的主目录,以便将其安装在 Windows 机器上。如果您有一类用户使用不适合模拟的旧版应用程序(可能是内容创建应用程序,如 Adob​​e Indesign),他们可以在本地运行 Windows 并使用 X 服务器(xming 或 Starnet 是最佳选择)来获取 Linux 应用程序。对此要毫不留情 - 让用户证明他们的依赖性并提出保留 Windows 桌面的商业案例。

    这里的关键是将 Windows 视为旧版系统。当且仅当没有可靠的应用程序替代品时,用户才能保留他们的 Windows 桌面 -在模拟中运行该应用程序是不可接受的。 正确实现网络互操作性使您能够分阶段迁移用户,从而避免“大爆炸”部署的需要。

网络安全

根据需要为网络添加防火墙和 DMZ。公共 SMTP 服务器可以外包给您的 ISP 或放置在 DMZ 中。但是,此区域中的服务器不应使用 NIS 进行身份验证。考虑对任何暴露在公共互联网上的机器使用 OpenBSD。如果您需要代理互联网连接,Squid 是标准的 unix web 代理软件。

“组策略”在 Linux 中没有直接对应概念,因为当您集中安装用户目录时,该概念并不相关。“组策略”不是一项要求,而是基于 Windows 单用户起源的 Windows 特定解决方案,其中用户身份和机器配置是一个非常重量级的结构。在 Windows 桌面之间迁移用户身份和权限是一件非常复杂的事情。

在 unix 衍生系统上,所有每个用户的配置都作为文件存储在其主目录中。当用户登录时,将执行其 .profile,并且每个用户的设置将出现在环境中。如果他们设法破坏其环境,一个简单的脚本就会将配置恢复为已知默认值。个人非特权用户很难做一些破坏机器配置的事情。

有多种方法可以将更新推送到工作站。这些方法包括从中央存储库(系统自动从中央服务器下载更新,即现在桌面发行版的默认做法)到更复杂的企业配置管理系统(如 cfengine)。

答案2

我也对其他人的看法感兴趣。同时,要知道,你会发现最大的障碍之一就是你的用户。

他们会非常不情愿,并且支持将会被非常简单的请求所淹没。

从服务器开始。让服务器端的转换对你的用户透明。

此外,请确保先测试所有硬件和应用程序(如果您需要 Wine 或 VMware 或类似软件),以便在部署之前解决任何兼容性问题和怪癖。

答案3

你绝对应该建立一个中央配置管理(例如木偶或者CF引擎

当您通过它们进行所有配置时,您将获得以下好处:

  • 所有(大多数)设置和操作都是集中的。
    • 将配置放入版本控制中,您将获得所有机器的历史记录作为奖励。
  • 具有相同角色的服务器将保证具有相同的配置。全新安装时,您不会遇到意外丢失一次性设置的现象。
  • 使您的所有配置都可重现(并记录)。
  • 如果服务器爆炸,从头开始安装在新硬件上,并让服务器运行相关的配置指令。
    • 然后恢复您的备份。
    • 您首先应该有一个深思熟虑的备份解决方案。

答案4

好吧,我将尝试快速而粗略地尝试一下。根据您可用的资源,查看Linux 终端服务器项目. 这将自行处理集中配置和用户管理。

如果这不是一个选项(例如,如果你使用了很多旧硬件,并且没有一个强大的服务器),我会研究Fedora 目录项目。它不会为您提供集中配置,但它将为您提供用户管理方面所需的一切。

相关内容