作为网络的管理者和维护者,我们都想拥有一套健全的网络控制机制,如采用NAC(网络接入控制)方案。一个有效的NAC方案,对威胁具有极大的免疫性。但是由于NAC技术含量高,其价格也不菲,它已经成为许多厂商的重要利润来源。那有没有开源的NAC可以给我们选择呢?
该请出我们主角了:
七、安装PacketFence
最后要安装的就是PacketFence应用程序自身了。我们不能使用apt-get进行安装。你必须下载源代码,并解压,然后安装。你可以用wget应用程序下载最稳定的版本。如果你没有wget,也许需要通过sudo apt-get install wget命令安装它。其下载将来自Sourceforge。目前(笔者写此文时)PacketFence最新版本的下载地址是:http://downloads.sourceforge.net/packetfence/packetfence-1.6.2.tar.gz,因此,请执行如下的命令:
sudo cd /usr/local/
sudo wget
http://downloads.sourceforge.net/packetfence/packetfence-1.6.2.tar.gz
用如下命令解开tar文件:
sudo tar xvzf PacketFence-1.6.2.tar.gz
这就会创建/usr/local/pf目录。请切换到Pf目录,并执行下面的命令以启动安装程序:
sudo ./installer.pl
现在你基本上解决了安装问题。默认的安装方式就可以工作。一定要记住你的MySQL root用户口令。还有要允许PacketFence的安装程序为你创建必要的数据库。笔者曾多次用phpMyAdmin创建数据库,结果却发现PacketFence系统不能为数据库创建必需的表了。
在你进行最后的步骤之前,为安全起见,你可能需要创建一个SSL证书。为此,运行如下的命令:
cd /tmp
openssl req -new > PacketFence.csr
openssl rsa -in privkey.pem -out server.key
openssl x509 -in PacketFence.csr -out server.crt -req signkey
server.key -days 365
mv server.crt /usr/local/pf/conf/ssl/
mv server.key /usr/local/pf/conf/ssl/
rm -f PacketFence.csr privkey.pem
这就会为你的机器安装一个唯一的证书。
一旦你完成了安装,你就要运行configurator.pl来完成安装。配置程序(configurator)基本上会设置你想要运行的系统类型。在你运行它时,将提供如下的内容:
1. 测试模式
2. 注册
3. 检测
4. 注册与检测
5. 注册、检测、扫描
6. 基于会话的认证
笔者建议首先在测试模式中运行系统。请你回答问题以完成安装。
八、别忘了几处修改
在完成过程中,笔者碰到的一个问题是PacketFence启动过程不能找到Apache启动过程,因为它是在查找/usr/bin/httpd instead of /usr/bin/apache2,这是在一个Ubuntu服务器中所安装的。要改变之,你必须在pf.conf中增加一个[service]项目。在你喜欢的编辑器中打开/usr/local/pf/conf/pf.conf文件,并且在文件的末尾增加下面的几行:
[services]
httpd=/usr/sbin/apache2
现在,打开文件/usr/local/pf/conf/templates/httpd.conf,并添加下面的内容:
ServerRoot /usr/lib/apache2
然后,修改下面的行:LoadModule php4_module modules/libphp4.so
变为:
LoadModule php4_module /usr/lib/apache2/modules/libphp4.so
还有其它行需要修改。因为我们是在Ubuntu上安装的Apache,所以必要的模块必须反映/usr/lib/apache2/module结构。遍历整个/usr/local/pf/conf/templates/httpd.conf文件,改变其模块的路径以反映这点。你还需要去掉php5模块这一行(大约在第79行)的注释。