企业—网络帮助
当我看到本月刊的焦点时,弗朗索瓦,我的第一个想法肯定和你一样,mon ami(我的朋友)。对我来说,“企业”这个词让人联想到一艘在太空中寻找新的和令人兴奋的外星人的星舰,更不用说他们当地的葡萄酒了,non(不是吗)?但在我们许多客人的商业世界中,“企业”意味着très grand(非常大),就像大型企业一样。
Quoi(什么)?Moi aussi(我也是),弗朗索瓦。当我想象一个大型办公室,或者更糟糕的是,许多大型办公室时,我想到了那些必须照顾所有计算机、集线器、交换机和 PC 的可怜的系统管理员。我向他们致以衷心的慰问。
啊,弗朗索瓦,你站在那里做什么?我们的客人到了。快去酒窖,把 1996 年的斯泰伦博斯葡萄酒拿上来,immédiatement(立刻)。Vite(快)!Vite(快)!Mes amis(我的朋友们),请坐下。你们的桌子已经准备好了,弗朗索瓦正在拿酒。我羡慕你们,mes amis(我的朋友们),一杯大胆的南非红葡萄酒,余味悠长。我甚至可能会加入你们。
你们到达时,我们正在讨论在大型企业工作给系统管理员带来的特殊压力。想象一下,必须跟踪分布在分布式网络上的众多系统,mon ami(我的朋友)。人们不想听到邮件服务器离线;他们希望管理员在他们之前知道,并且已经解决了问题。这似乎是不可能的。再加上供应柜里的纸张短缺,我们的朋友们就忙得不可开交了,non(不是吗)?这就是为什么我今晚的菜单专门帮助他们完成这项不可能完成的工作。缓解,mes amis(我的朋友们),即将到来,这里有几个来自伟大开源厨房的精彩食谱。
今晚菜单上的第一道菜是旨在探测您网络脉搏的小东西。对于这样一个工具来说,有什么比 nPULSE 更好的名字呢。
为了使用 nPULSE,您需要几个 Perl 模块(事实上,nPULSE 是用 Perl 编写的)和我最喜欢的端口扫描器 nmap。您可以从 www.insecure.org/nmap/index.html 获取 nmap。您也可以在您的发行版 CD 上找到它,所以先在那里找找。虽然 nmap 只是创建 nPULSE 的一个成分,但我邀请您单独尝试一下。最新版本甚至带有一个漂亮的 GUI 前端,名为 nmapfe。
我们还需要几个 Perl 模块,mes amis(我的朋友们),CGI.pm 和 Mail::Mailer(它是 MailTools 包的一部分)。有两种方法可以安装这些模块。一种是直接访问 CPAN 站点并下载这两个模块。您可以在 ftp.cpan.org 找到这两个模块,具体目录如下:/pub/mirrors/ftp.cpan.org/pub/CPAN/modules/by-module/CGI 和 /pub/mirrors/ftp.cpan.org/pub/CPAN/modules/by-module/Mail。
安装 Perl 模块很简单。格式总是相同的,所以让我用 MailTools 包向您展示一下
tar -xzvf MailTools-1.16.tar.gz cd MailTools-1.16 perl Makefile.PL make make install
现在,对 CGI.pm 包执行相同的操作,您就可以安装 nPULSE 的其余部分了。Mais oui(当然),我说过还有另一种安装 Perl 模块的方法,所以我们简要地看一下。您可以使用以下命令神奇地完成整个过程
perl -MCPAN -e 'install Mail::Mailer' perl -MCPAN -e 'install CGI'如果您以前从未以这种方式安装过 Perl 模块,请注意——第一次执行此过程可能需要一段时间。您将不得不经历一个问答环节,询问各种文件的位置以及您希望使用哪个镜像进行下载。该过程还可能安装相当多的软件包,以便您将来可以无缝地安装 Perl 模块。
您看,non(不是吗)?我们的模块已安装,我们有了 nmap,可以继续安装 nPULSE 了
tar -xzvf npulse-0.54.tar.gz cd npluse-0.54 ./setup.sh
系统会询问您希望将 nPULSE 安装在哪里(默认值为 /usr/local/npulse)以及一些其他问题,包括一个关于您的个人架构的问题。由于 nPULSE 是多平台的,您需要指定您在其上运行的平台。当我这样做时,我选择了 Red Hat 7,但您会看到它支持所有主要的 Linux 发行版,以及 SCO、Solaris、SGI 和许多其他发行版。最后一组问题要求您选择管理员登录名和密码以进行安全身份验证。完成后,nPULSE 的 Web 服务器将在端口 19000 上启动(尽管您也可以更改它)。将您喜欢的浏览器指向 http://your_server:19000/ 以连接到服务器。
您要做的第一件事是配置要监视的主机。您可以使用页面上的“设置”按钮执行此操作。当新页面出现时,在右上角的“发现”框中键入 IP 地址或地址范围。然后单击“执行”。nPULSE 将扫描该机器以查找可用的服务,这些服务将显示在下面的大窗口中。单击“保存”,然后切换到“状态”屏幕,您可以在其中执行 ping 或端口扫描。可以通过选择顶部、右侧的开/关开关旁边的小下拉框中的各种选项,从一个视图切换到另一个视图。
nPULSE 非常可配置,对于特定主机处于在线或离线状态,可以进行多种可能的响应。您可以将其设置为发送电子邮件、寻呼您或只是自动刷新屏幕,以鸟瞰各种联网系统。要查看 nPULSE 的实际运行情况,请参见图 1,我们在其中放大了网络上的 PC 客户端。您会注意到它正在运行一个原始的操作系统。
安装程序会自动启动服务器。要重启 nPULSE,请使用
/usr/local/npulse/etc/restart
要停止 nPULSE,请使用
/usr/local/npulse/etc/stop今晚菜单上的下一项是一个神圣的程序,恰如其分地称为 NetSaint。NetSaint 也是一个基于 Web 的网络监视器,它使用 Apache 来提供其网页。幸运的是,大多数 Linux 发行版的光盘上都带有 Apache 服务器。您可能已经安装了它。
使用 NetSaint,您可以跟踪您的各种联网机器,密切关注您的所有重要协议,如 SMTP、POP3、HTTP 等。该程序具有类似于 nPULSE 的内置事件通知功能,并在系统发生故障时向您发送电子邮件或寻呼。您甚至可以定义针对常见问题的程序响应,以便事情或多或少地自行处理。NetSaint 还提供网络状态和事件的详细日志记录。最重要的是,NetSaint 在 GPL 下免费分发。
要获取您的 NetSaint 副本,请首先访问项目站点 www.netsaint.org。然后,按如下方式提取并构建软件包。请注意,mes amis(我的朋友们),在 NetSaint 的标准构建中,有一些有趣的差异。注意一下是有好处的。开头是熟悉的
tar -xzvf netsaint-0.0.6.tar.gz cd netsaint-0.0.6 ./configure make all
在程序编译时,您应该花一点时间添加 NetSaint 登录名,即 NetSaint 将以其身份运行的用户 ID(如果您尚未这样做)。然后,当编译完成后,您可以完成安装。以下是剩余步骤
adduser netstaint make install make install-config make install-daemoninit真是长篇大论,non(不是吗)?我想我们需要喝点东西来冲淡一下。弗朗索瓦,给我们的客人续杯。Merci, mon ami(谢谢,我的朋友)。
在您可以通过 Web 界面使用该软件包之前,您需要向您的 httpd.conf 文件添加几行代码并重启 Apache。第一行是这样的。是的,我知道有两行,但您需要添加的是第一行。我稍后会解释
ScriptAlias /cgi-bin/netsaint/ "/usr/local/netsaint/sbin/" ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
我向您展示这两行是为了说明一个重点:确保 NetSaint ScriptAlias 出现在标准的 cgi-bin ScriptAlias 之前。这非常重要。在这些之后,您现在将为主 NetSaint HTML 文件添加一个 Alias 定义
Alias /netsaint/ /usr/local/netsaint/share/查看 /usr/local/netsaint/etc 以查找一些需要为您的站点修改的脚本。具体来说,您将要查看 hosts.cfg 和 nscgi.cfg 文件,这些文件是在您之前执行 make install-config 时创建的。可以想象,您可以手动创建它们,但这可能需要比我们酒窖里更多的葡萄酒,non(不是吗)?
为了使用浏览器访问 NetSaint 功能,您必须首先使用用户名和密码进行身份验证。通过在 NetSaint 的程序目录 /usr/local/netsaint/sbin 中创建一个 .htaccess 文件来执行此操作。我稍后会向您展示该文件,但在我们可以使用 .htaccess 之前,我们需要在 httpd.conf 文件中添加以下部分,在上面列出的 ScriptAlias 信息之后
<Directory /usr/local/netsaint/sbin> AllowOverride AuthConfig order allow,deny allow from all Options ExecCGI </Directory>
现在,保存该文件并创建 .htaccess 文件。它应该如下所示
AuthName "NetSaint : Restricted access" AuthType Basic AuthUserFile /usr/local/restricted/.netsaint <Limit GET POST> require valid-user </Limit>AuthUserFile 参数指向实际密码文件的位置。请注意,我的密码文件位于我的 Web 服务器的文档根目录之外。这样,就无法通过简单的 HTTP 请求下载该文件。使用 htpasswd 命令将密码添加到此文件中,如下所示
htpasswd -c passwordfile username顺便说一句,如果您是从源代码构建 Apache 服务器的,则该程序很可能位于 /usr/local/apache/bin 目录中。这里需要注意的是,-c 标志会在之前不存在密码文件的情况下创建一个新密码文件。除非您想刷新整个文件并重新开始,否则您不想使用它。您可能想要使用(并且可能应该使用)的另一个标志是 -m 标志,它强制对密码进行 MD5 加密
htpasswd -m /usr/local/restricted/.netsaint netsaintadmin现在是重启 Apache 的时候了。如果您的 Apache 安装是源代码安装,您可能会执行 apachectl stop,然后执行 apachectl start。该命令通常位于 /usr/local/apache/bin 目录中。在像 Red Hat 这样的系统上,您通常使用对 /etc/rc.d/init.d/httpd 的调用来停止和启动 httpd 守护程序,并在命令行中指定 stop 或 start。
现在是有趣的部分。回到 /usr/local/netsaint/etc/hosts.cfg 文件,开始定义您要监视的主机。正如我之前提到的,在这个文件中,采用现有的内容并慢慢地、逐个主机地修改以满足您的需求绝对是有意义的。最后,您需要授予自己一些权限。默认情况下,NetSaint 在您可以做什么和不能做什么方面有些限制。您可以通过取消注释 nscgi.cfg 文件中相应的行来授予自己(可能还有其他人)权限。这些行都以“authorized_for”开头,然后指定用户名列表以及他们可以做什么和不能做什么。这样,您可以创建多个用户并分担管理负载。这是其中一行
authorized_for_configuration_information=netsaintadmin
Mon Dieu(我的天啊)!所有这些工作,让人胃口大开,non(不是吗)?Oui, mes amis(是的,我的朋友们)。现在是启动 NetSaint 守护程序的时候了
/etc/rc.d/init.d/netsaint start如果一切顺利,我们应该能够通过浏览器连接到 NetSaint。这里没有特殊的端口号。假设系统名为 my_system,您将使用 URL http://my_system/netsaint/。要了解我们的 NetSaint 的实际运行情况,我邀请您查看图 2。
NetSaint 界面非常丰富,提供了大量的探索机会。您也可以从这里自定义设置,如果您遇到问题,还可以查阅完整的在线文档。探索该程序的每个方面将花费比我们拥有的时间更多的时间,但是有了您自己的 NetSaint 监视您的网络,您应该有足够的时间在以后进行探索。
啊,mes amis(我的朋友们)。时钟再次告诉我们,我们必须喝完酒回家了。既然瓶子里只剩一点了,我的忠实服务员会在您离开之前最后一次给您续杯。直到下次;au revoir, mes amis(再见,我的朋友们)。您的桌子将恭候您的光临。
A votre santé(祝您健康)!Bon appétit(祝您好胃口)!
电子邮件:mggagne@salmar.com
Marcel Gagné (mggagne@salmar.com) 是 Salmar Consulting Inc. 的总裁,该公司是一家系统集成和网络咨询公司,也是 Addison-Wesley 出版的《Linux 系统管理:用户指南》的作者。