Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
iptables -A FORWARD -d $COMPUTERn_IP -j ACCEPT
# Правила только для подсчёта следует писать без -j опции
# iptables -A FORWARD -s $COMPUTER001_IP -m mac --mac-source $COMPUTER001_MAC
# iptables -A FORWARD -d $COMPUTER001_IP
# Поэкспериментируйте.
Далее, после запуска созданного вами файла, мост должен фильтровать пакеты так, как вы этого хотите. В случае если у вас всё настроено правильно, то при выключении правила должны автоматически сохраняться и загружаться заново при включении компьютера с сохранением всех значений счётчиков. Способ, описываемый в книге «Брандмауэры в Linux» [1] имеет этот недостаток: после перезапуска значения счётчиков не восстанавливаются. Я правил у себя файл /etc/rc.d/init.d/iptables, чтобы при выключении (опция stop) он сохранял параметры, а после останавливал интерфейс. Возможно, вам также следует сделать небольшие изменения.
Для просмотра значений (простейший биллинг) используйте команду:
# iptables -L -v -x –n
n -L выводит все цепочки;
n -v – информативный вывод, у цепочек выводятся значения счётчиков;
n -x означает, что значения счётчиков не округляются до Кб и Мб и выводятся точно в байтах;
n -n означает, что не надо преобразовывать IP-адреса и номера портов/сервисов в их имена.
Последняя опция часто не указывается, так как вроде бы является бесполезной, однако необходимость в ней появляется тогда, когда у вас пропадет Интернет, а точнее, перестанут правильно работать DNS-сервера. В случае падения DNS ответ от iptables может задерживаться до 10 минут, а если указать -n, то вывод цепочек будет быстрым, как обычно. Если iptables запускается у вас из других скриптов, то задержка его выполнения «повесит» эти скрипты и приведёт к глюкам. В частности, поначалу у меня mrtg не понимал тот факт, что ему передавались пустые значения.
Для удобного просмотра статистики без захода на сервер под правами администратора можно создать небольшой cgi-скрипт. Чтобы не усложнять задачу, я напишу вывод только нескольких значений, а далее развить идею, я думаю, вы сможете сами.
Создадим небольшой файл на perl и, придав ему исполняемые атрибуты, поместим в директорию для cgi-скриптов (в RedHat 7.3 /var/www/cgi-bin), рекомендую книгу «CGI-программирование» [2]. Результат его исполнения можно увидеть на рисунке:
#!/usr/bin/perl
$SERVER_IP="x.x.x.2";
$COMPUTER1_IP="x.x.x.3"; $COMPUTER1_MAC="XX:XX:XX:XX:XX:XX";
$COMPUTER2_IP="x.x.x.3"; $COMPUTER2_MAC="XX:XX:XX:XX:XX:XX";
...
# создадим функцию, которая будет ставить точки, удобнее смотреть на 10.000.000.000 чем на 10000000000