Данное описание составлено на основе инструкций asusforum.ru и справедливо для прошивок 1.9.2.7-9 и выше, но воспользоваться им вы можете только на свой страх и риск.
Все нижеуказанные действия проводились на моделях WL500g Premium v.1, WL500g Premium v.1, WL500W с подключенным USB диском и флеш накопителем в различных комбинациях, но так же справедливы для остальных моделей, которые поддерживают работу с внешним диском или флешкой и настройку из командной строки.
Так же запаситесь временем, чтобы никуда не спешить и случайно в запарке не испортить всю работу.
Если есть непосредственное соединение с Интернетом, то настройка пройдет без проблем в виде скачивания необходимых пакетов альтернативными способами и переливки их в роутер.
Если не имеете начальных знаний о Линуксе, то опять-же необходим либо Интернет для гугления, либо литература в печатном виде по Линуксовым командам.
1. Подразумевается, что роутер настроен, установлен сервер lighttpd (подробности - в моей "настройке с нуля").
2. Устанавливаем:
ipkg install vnstat
3. Настраиваем:
nano /opt/etc/vnstat.conf
Редактируем следующую строку:
# location of the database directory
DatabaseDir "/opt/var/lib/vnstat"
4. Создаем базы:
a. Для обладателей прямого коннекта:
vnstat -u -i vlan1
vnstat -u -i br0
b. Для обладателей дополнительного подключения по VPN добавляем:
vnstat -u -i ppp0
5. Качаем веб морду v. 1.4.1 (на данный момент последняя):
wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.4.1.tar.gz
tar zvxf ./vnstat_php_frontend-1.4.1.tar.gz
mkdir /opt/share/www/lighttpd/vnstat
mkdir /opt/var/lib/vnstat/dumps
mv ./vnstat_php_frontend-1.4.1/* /opt/share/www/lighttpd/vnstat/*
6. Настраиваем:
nano /opt/share/www/lighttpd/vnstat/config.php
Заполняем:
// list of network interfaces monitored by vnStat
$iface_list = array('ppp0', 'vlan1', 'br0');
// Если нет VPN, убираем 'ppp0',
//
// optional names for interfaces
// if there's no name set for an interface then the interface identifier
// will be displayed instead
//
$iface_title['vlan1'] = 'WAN';
$iface_title['br0'] = 'internal';
// Если нет VPN, то нижняя строчка не нужна.
$iface_title['ppp0'] = 'Internet';
//
// There are two possible sources for vnstat data. If the $vnstat_bin
// variable is set then vnstat is called directly from the PHP script
// to get the interface data.
//
// The other option is to periodically dump the vnstat interface data to
// a file (e.g. by a cronjob). In that case the $vnstat_bin variable
// must be cleared and set $data_dir to the location where the dumps
// are stored. Dumps must be named 'vnstat_dump_$iface'.
//
// You can generate vnstat dumps with the command:
// vnstat --dumpdb -i $iface > /path/to/data_dir/vnstat_dump_$iface
//
$vnstat_bin = '/opt/bin/vnstat';
$data_dir = '/opt/var/lib/vnstat/dumps';
7. Создаем скрипт создания дампов:
nano /opt/etc/cron.5mins/vnstat.sh
Содержимое:
#!/bin/sh
dump_dir="/opt/var/lib/vnstat/dumps"
# Если нет VPN, то интерфейс ppp0 убираем
vnstat -u -i ppp0
vnstat -u -i vlan1
vnstat -u -i br0
vnstat --dumpdb -i ppp0 > $dump_dir/vnstat_dump_ppp0
vnstat --dumpdb -i vlan1 > $dump_dir/vnstat_dump_vlan1
vnstat --dumpdb -i br0 > $dump_dir/vnstat_dump_br0
Делаем исполняемым:
chmod +x /opt/etc/cron.5mins/vnstat.sh
8. Чтобы рисовало графики, устанавливаем:
ipkg install php-gd
Заходим на свой сайт по адресу:
http://IP_adress:port/vnstat
И наблюдаем красивые циферки и графики.