Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

WinCity.Ru _ Операционные системы *nix _ ipa, ipfw, ipastat

Автор: Theridiidae Среда, 08 Апреля 2009, 11:47

В ipa есть rule вида:

Цитата
rule user01 {
   info = 192.168.1.3
ipfw = 200 201
startup {
  exec = /sbin/ipfw add 196 deny tcp from 192.168.1.3 to 212.119.192.0/18 via rl0
  exec = /sbin/ipfw add 197 deny tcp from 212.119.192.0/18 to 192.168.1.3 via rl1
  exec = /sbin/ipfw add 198 allow tcp from 192.168.1.3 to 192.168.1.1 22
                                exec = /sbin/ipfw add 199 allow tcp from 192.168.1.1 22 to 192.168.1.3
  exec = /sbin/ipfw add 200 allow ip from 192.168.1.3 to any
  exec = /sbin/ipfw add 201 allow ip from any to 192.168.1.3 via rl1
  exec = /sbin/ipfw add 202 allow ip from any to 192.168.1.3 via rl0
 
}
}
Из этого разнообразия считаем счетчики правил 200+201 и получаем суммарный
теперь есть необходимость в вести лимиты и разделить трафик in и out ну и all
ipastat выводит данные следующего вида
Цитата
+------------+-----------------+------------+--------+
| Rule         | Info                |   Bytes    | Mbytes |
+------------+-----------------+------------+--------+


То есть при разделении трафика in/out/all при выводе информации ipastat
я получу что-то типа
Цитата
+-------------+-----------------+------------+--------+
|  Rule         | Info                |   Bytes    | Mbytes |
+-------------+-----------------+------------+--------+
| user01_in
| user01_out
| user01_all
А можно ли изменить саму таблицу вывода что бы она имела вид
Цитата
+------------+-----------------+------------+------------+-------------+------------+
| Rule         | Info                |   Bytes     | Mbytes_in |Mbytes_out |Mbytes_all |
+------------+-----------------+------------+------------+-------------+------------+
|user01

Или это уже делать в веб интерфейсе по средствам каково небудь скрипта?

Автор: Theridiidae Суббота, 11 Апреля 2009, 14:15

rule user01 {
info = 192.168.1.3
ipfw = 200 201
startup {
exec = /sbin/ipfw add 196 deny tcp from 192.168.1.3 to 212.119.192.0/18 via rl0
exec = /sbin/ipfw add 197 deny tcp from 212.119.192.0/18 to 192.168.1.3 via rl1
exec = /sbin/ipfw add 198 allow tcp from 192.168.1.3 to 192.168.1.1 22
exec = /sbin/ipfw add 199 allow tcp from 192.168.1.1 22 to 192.168.1.3
exec = /sbin/ipfw add 200 allow ip from 192.168.1.3 to any
exec = /sbin/ipfw add 201 allow ip from any to 192.168.1.3 via rl1
exec = /sbin/ipfw add 202 allow ip from any to 192.168.1.3 via rl0

}
}
rule user01_out {
info = 192.168.1.3_out
ipfw = 200
}

rule user01_in {
info = 192.168.1.3_in
ipfw = 201
startup {
if_limit_is_reached {
exec = /sbin/ipfw add 195 deny ip from 192.168.1.3 to any
}
}
limit 5m {
byte_limit = 5m
info = 5 Mb в 1ч
zero_time = 1h
reach {
exec = /sbin/ipfw add 195 deny ip from 192.168.1.3 to any
}
expire {
expire_time = 30m
exec = /sbin/ipfw del 195
}
}
}
Сделал так, как тест работает, лимит 5 Mb в 1ч через 30минут сбрасывается.
По-другому выводить данные IPASTAT я так понимаю не получиться из-за той базы которую ведет сама IPA ну либо нужно переписать скрипт вывода IPASTAT так что лучше это делать при выводе в веб интерфейс...
Хотелось бы услышать комментарии по моим правилам, может я в чем-то не прав...

И поясните, пожалуйста, кто знает
Чем будут отличаться эти строки, а то из мана не совсем понятно?
zero_time = 1M
zero_time = +M

Автор: Theridiidae Четверг, 16 Апреля 2009, 10:17

Разобрался на опыте 1M прибавляет месяц, а потом обнуляет
+M обнуляет в конце месяца... хотя еще посмотрим...

Новая проблема... Возможно, ли лимит обнулить досрочно командой ipa? Не могу найти..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)