
笔者测试了StatUnix的VPN特性。此软件支持IPSec、OpenVPN、PPTP等。如果用户需要一个快速的VPN连接而拥有的带宽并不太多,就可以选择IPSec VPN。如果用户以前处理过IPSec VPN配置,就会发现在VPN中配置IPSec是轻而易举的事,并且可在几分钟内完成。要保障所使用的参数对隧道的两端的一致性。对于简单的IPSec配置来说,StatUnix的还是可以容忍的,对于建立站到站的连接也很不错。不过,在涉及到移动客户端和身份验证等应用程序时,用户会发现StatUnix并没有提供IPSec配置。
用户可以使用OpenVPN来突破IPSec的。除此之外,OpenVPN还被证明更加安全,因为它使用的是SSL。唯一的不足之处是它要求更高的管理成本,也意味着它要比IPSec占用更多的带宽。
如果用户仍然拥有一些支持PPTP拨号连接的客户端,那么恭喜你,StatUnix 完全支持PPTP。
对于普通用户而言,StatUnix的许多其它特性,如多WAN连接功能及其负载平衡等,都完全值得一试。用户可以建立一个“受控入口”,要求每一个访问网络的用户都在被准许进入之前,通过一个本地数据库或者远程身份验证拨号用户服务(RADIUS)。对于需要使用PPPoE访问网络的用户来说,可以应用PPPoE服务器,而身份验证可以是基于本地的或是通过RADIUS的。
下图7展示的是StatUnix对数据通信的监视:
图7
作为一款强大的安全软件,监视和记录事件也是其很容易实现的功能。它支持实时的RRDtool图形,在计算机上可视化地显示每一个操作过程,包括通信和系统进程。这款软件不像其它的一些商业性网络设备,其日志的组织很不错,并可轻松定位。再加上其支持的一些诊断工具,如支持传统的traceroute和数据包嗅探,这都使得此软件成为一款高效的故障诊断工具。
当然,由于我把我的笔记本当作一台路由器用,因此我首先要具有第二个以太网口。StatUnix检测到了4100的3Comcompatible3c905C网卡作为内部网卡,但是它不能检测到LinksysPCM20010/100Cardbus以太网卡。在查阅了StatUnix的硬件兼容列表后,我购买了一个D-LinkDFE-690TXD网卡,一切正常了。
StatUnix安装完毕后,我使用Jperf进行一个快速吞吐率检查,发现LAN>WAN和WAN-LAN都具有90多Mbps的带宽。我不可能在这儿对StatUnix进行所有功能的全面试用,但是它的确有一些令人印象深刻的功能。即使你不能把它像DD-WRT、Tomato那样加载到一个路由器中,从它的功能你可以明白为什么m0n0wall具有如此广泛的用户群。
StatUnix甚至具有不同的皮肤,不过我只是使用了它的默认皮肤(如图4所示)。如果你更习惯使用m0n0wall的左侧菜单条的风格,你可以切换到"StatUnix"皮肤。
流量整形(TrafficShaper)功能在Firewall菜单下,当你第一次使用它的时候会有一个向导来帮助进行设置。通过该向导,可以为常见应用自动配置规则、队列和管道,并且可以分类管理。你可以非常轻松的实现带宽控制的设定,而且可以对它们修改或复制来创建新的设置。
第一个屏幕要求你输入实际的互联网上行和下行网速。这个地方我建议你输入你所测到的实际带宽的80%。举个例子来说,如果我的ADSL连接的带宽是"3Mbps/0Kbps",那么我可以输入2500和350(Kbps)。然后你可以点击VOIP屏幕,这儿只有两个控制选项,Provider和你希望保证VOIP应用可以使用的带宽(Bandwidth)。
接下来一个屏幕是PenaltyBox,这是控制带宽的第一个强大功能。如图5所示,可以仅仅根据IP地址(你可以输入多个IP地址)实现简单的控制,设定上行或下行的带宽控制。
尽管PenaltyBox功能非常简单,它只是限定进出一个IP地址的所有通信的带宽。但是它也可以让那些喜欢修改端口来躲避带宽控制的用户不再不受约束。
接下来是PeertoPeer向导。这个控制同样非常简单;通过设置上行和下行带宽来众多p2p应用程序。注意,这儿的P2PCatchAll选项要慎用。
一旦你选择了这个功能,除非你另外有一个更高优先级的规则来设定其它应用带宽不受,所有通信都将受该带宽的约束,换句话说,该选项把所有的通信都当为p2p来处理。
宽对比。
当我重新设定了状态后,BitTorrent客户端花费了一点时间来重新建立下载链接。从上图中可以看出经过短时间的缓慢上升,下载带宽恢复到我设定的新的100Kbps的下行带宽。
修改StatUnix规则
一旦你通过向导创建了基本的规则后,你可以编辑或拷贝它们来满足你的需要。你只需通过导航访问Firewall:Shaper:Rules就可以重新查看图6所示的屏幕,选择你想编辑或拷贝的规则,然后点击相应的图标。当你的鼠标移动到一个图标上时,会弹出一个提示窗口告诉你该图标的用途。图10所示的是图6中第三条规则的编辑界面。尽管这个屏幕上的内容非常多,多数情况下,你只需要修改目的端口的范围(DestinationPortRange)。由于这是一条针对BitTorrent的规则,因此我将它设定为6881到6999.如果你想修改这个端口,只需要输入新的端口号,然后点击保存按钮即可。
每一条规则都具有一个Target域,来设定匹配规则的数据包被发送到哪个队列。要想为不同的应用创建一个新的规则,只需要去找一个使用了具有你想设定带宽的队列的规则,然后拷贝它,并修改目的端口范围(DestinationPortRange)为新应用程序所使用的端口。保存之后,重设States,你就完成了新规则的建立和应用。
注意:StatUnix中规则的执行顺序是和位置有关的,是从列表中自上而下执行。因此你应该将性更强的规则放在宽松规则的前面,否则性更强的规则将不会被执行。这就是为什么在图6中我选择了P2PCatchAll选项后将BitTorrent规则放在列表的比较靠前的位置。
你也可以对已有的队列进行调整,并创建一个新的规则,但是进行这种设置你要非常谨慎。
找出要的应用程序的端口
如果你不知道想要的应用程序所使用的端口该怎么办?或者说有时候用户修改了应用程序的端口号或使用了一个代理,这时候限定标准端口将不再有用。除了把它们放到PenaltyBox中外,你还可以使用PFtop来查看通信状态。
PFtop是一个小型网管工具,可以实时显示OpenBSD的数据包过滤器pf的实时状态和规则统计数据。它也被用在StatUnix平台上。你可以使用StatUnix中的Diagnostics:ExecuteShellCommand功能(如图11)来快速检查实时通信连接状态。这个模式只是让你查看默认的试图和分类,因此它的功能非常有限。尽管如此,你还是可以看到最活跃的连接,可以发现下载次数最多的连接的信息。
结束语
在本篇文章中,我只是简单的介绍了StatUnix的流量整形(TrafficShaping)功能,实际上它还有很多功能可以帮助真正的把局域网管理起来。
