ipac-ng
其对象人群拥有小的家庭网络,且希望监控因特网的上传或者下载数量而非LAN的本地流量。如果因特网服务提供商设置了每月带宽限制,且同时又需要进行本地网络文件传输,这时它是很有用的。
这个说明书将引导设置IPAC-NG,一个基于iptables/ipchains的IP统计工具包。
安装
你需要访问通用软件仓库——如果需要更多信息,请参照AddingRepositoriesHowto。
首先安装ipac-ng,可以通过新立得(SynapticHowto)或者在终端中输入:
sudo aptitude install ipac-ng
配置
编辑 /etc/ipac-ng/rules.conf 以指明所要记录的通信的类型。
要想简单地测量上传和下载总量,可键入:
# /etc/ipac-ng/rules.conf
total upload |ipac~i|eth0|all||
total download |ipac~o|eth0|all||
注意:将eth0替换为你想要测量的网络适配器的名称。
编辑 /etc/ipac-ng/ipac.conf 并把存储方式改为 gdbm ,否则日志将占据很大的空间。(或许也可以使用postgre)
# /etc/ipac-ng/ipac.conf
storage = gdbm
要忽略本地网络(LAN)通信量的话,要向启动脚本终加入一些简单的iptable规则。
编辑 /etc/init.d/ipac-ng 并增加 ## 之后的四行,具体如下:
case "$1" in
start)
&">nbsp; echo -n "Starting $DESC: "
check
$DAEMON -S
$IPTABLES -I INPUT -s aaa.bbb.ccc.0/24 -j ACCEPT
$IPTABLES -I OUTPUT -d aaa.bbb.ccc.0/24 -j ACCEPT
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
# fetch accounting before removing the rules
$DAEMON
echo -n "flushing IP accounting rules ..."
$IPTABLES --flush ipac~o
$IPTABLES --flush ipac~i
$IPTABLES --flush ipac~fi
$IPTABLES --flush ipac~fo
# here should the ipac_* rule be removed from INPUT OUTPUT and FORWARD but --flush is
# evil because it would remove all rules in these chains.
$IPTABLES -D INPUT -s aaa.bbb.ccc.0/24 -j ACCEPT
$IPTABLES -D OUTPUT -d aaa.bbb.ccc.0/24 -j ACCEPT
echo "$NAME stopped."
;;
注意,将 aaa.bbb.ccc.0 替换为本地网络。例如,如果路由器地址是 192.168.0.1 ,则应使用 192.168.0.0 。
就这样了!当你的电脑运行时,每十分钟总的通信量将会被自动从iptable获取。要想查看总通信量,要使用“ipacsum”。它可以被配置为显示一个特定的时间间隔,甚至可以绘出通信量的曲线图。