After totally automating my Mobitel 3G connection, the next natural step was to setup some kind of a traffic accounting system. I wanted to avoid tools that monitor individual packets, because that was an unnecessary overhead. vnStat turned out to be a perfect match.
Here are the steps in setting up vnstat on Debian. Good news is that vnstat in Debian comes with proper crontab entries and network up/down hooks already in place.
- First step, obviously is to install vnstat:
# apt-get install vnstat
- Create a new configuration:
# vnstat --showconfig > /etc/vnstat.conf
- Edit /etc/vnstat.conf and set the default interface to "ppp0".
- Create an empty database for ppp0:
# vnstat -u -i ppp0
Now vnstat starts counting network traffic. The default crontab seems to run "vnstat -u" every 5 minutes.
Then I installed this simple web based frontend called vnStat PHP frontend. Installation is just a matter of unpacking:
# cd /usr/local/src/ # wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.3.tar.gz # cd /var/www # tar -xzvf /usr/local/src/vnstat_php_frontend-1.3.tar.gz # mv vnstat_php_frontend-1.3 vnstat
Then I had to edit /var/www/vnstat/config.php and set the following values.
$iface_list = array('ppp0'); $iface_title['ppp0'] = 'Mobitel 3G'; $vnstat_bin = '/usr/bin/vnstat';
Pointing a browser to http://localhost/vmstat/ showed that everything is working fine.
I also have the following .htaccess file in vnstat directory to avoid access from remote hosts:
Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128