Всем привет. Кто как перешел с ндсад на ip_netflow ?
интересует вопрос обработки ИП адресов что прописаны пользователю?
У нас при включении ipt_netflow шлется трафик типо
10.10.х.х - интернет и наоборот
при этом клиенту по впн выдается ИП 192.168.х.х
в следствии чего трафик не считается..
замена ndsad на ipt_netflow
iptables -A FORWARD -m set --match-set station src -j NETFLOW
iptables -A FORWARD -m set --match-set station src -j ACCEPT
iptables -A FORWARD -m set --match-set station dst -j NETFLOW
iptables -A FORWARD -m set --match-set station dst -j ACCEPT
iptables -A FORWARD -j DROP
sysctl.conf:
...
net.netflow.destination = BILLING_IP:9996
net.netflow.active_timeout = 60
...
sysctl можно и не прописывать, а передать данные с параметрами загрузки модуля.
iptables -A FORWARD -m set --match-set station src -j ACCEPT
iptables -A FORWARD -m set --match-set station dst -j NETFLOW
iptables -A FORWARD -m set --match-set station dst -j ACCEPT
iptables -A FORWARD -j DROP
sysctl.conf:
...
net.netflow.destination = BILLING_IP:9996
net.netflow.active_timeout = 60
...
sysctl можно и не прописывать, а передать данные с параметрами загрузки модуля.
перегнали всех пользователей в ipset и теперь в iptables два правила
добавляю правила
iptables -A FORWARD -m set --match-set Allow_user src -j NETFLOW
iptables -A FORWARD -m set --match-set Allow_user src -j ACCEPT
iptables -A FORWARD -m set --match-set Allow_user dst -j NETFLOW
iptables -A FORWARD -m set --match-set Allow_user dst -j ACCEPT
при просмотре
iptables -L -n -v | grep NETFLOW
счетчики на 0
Код: Выделить всё
Chain FORWARD (policy DROP)
target prot opt source destination
DROP udp -- anywhere anywhere udp STRING match "|7fffffffab|" ALGO name kmp FROM 40 TO 44
tcp -- 192.168.0.0/16 anywhere tcp dpt:smtp state NEW recent: SET name: SMTP side: source
REJECT tcp -- 192.168.0.0/16 anywhere tcp dpt:smtp state NEW recent: UPDATE seconds: 60 hit_count: 5 name: SMTP side: source reject-with icmp-port-unreachable
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS set 1460
ACCEPT all -- anywhere anywhere match-set Allow_user src
ACCEPT all -- anywhere anywhere match-set Allow_user dst
iptables -A FORWARD -m set --match-set Allow_user src -j NETFLOW
iptables -A FORWARD -m set --match-set Allow_user src -j ACCEPT
iptables -A FORWARD -m set --match-set Allow_user dst -j NETFLOW
iptables -A FORWARD -m set --match-set Allow_user dst -j ACCEPT
при просмотре
iptables -L -n -v | grep NETFLOW
счетчики на 0
спасибо, вроде пошло все.
Видел еще при загрузке модуля можно задавать интервалы какие то, что это и для чего?
А то что то судя по статистике УТМ, ндсад слал больше записей чем ипт
там правда много лишнего шло, но все же... Было по 10т записей в пару сек, а щас по тыще в пару сек
И почему то некоторым не считает вообще. Хотя все они в одном сете.
Может стоит подправить
# sysctl -a | grep net.netflow
net.netflow.active_timeout = 1800
net.netflow.inactive_timeout = 15
net.netflow.debug = 0
net.netflow.hashsize = 8192
net.netflow.sndbuf = 126976
net.netflow.destination = 10.10.10.6:9996
net.netflow.aggregation =
net.netflow.maxflows = 2000000
net.netflow.flush = 0
Видел еще при загрузке модуля можно задавать интервалы какие то, что это и для чего?
А то что то судя по статистике УТМ, ндсад слал больше записей чем ипт
там правда много лишнего шло, но все же... Было по 10т записей в пару сек, а щас по тыще в пару сек
И почему то некоторым не считает вообще. Хотя все они в одном сете.
Код: Выделить всё
Chain FORWARD (policy DROP 5239K packets, 334M bytes)
pkts bytes target prot opt in out source destination
742K 45M DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp STRING match "|7fffffffab|" ALGO name kmp FROM 40 TO 44
6050 303K tcp -- * * 192.168.0.0/16 0.0.0.0/0 tcp dpt:25 state NEW recent: SET name: SMTP side: source
5196 260K REJECT tcp -- * * 192.168.0.0/16 0.0.0.0/0 tcp dpt:25 state NEW recent: UPDATE seconds: 60 hit_count: 5 name: SMTP side: source reject-with icmp-port-unreachable
1015 78593 ACCEPT all -- * * 0.0.0.0/0 10.10.10.6
1270 1572K ACCEPT all -- * * 10.10.10.6 0.0.0.0/0
144 11908 ACCEPT all -- * * 0.0.0.0/0 10.10.10.3
0 0 ACCEPT all -- * * 10.10.10.3 0.0.0.0/0
8134 334K ACCEPT all -- * * 0.0.0.0/0 10.10.10.5
11079 16M ACCEPT all -- * * 10.10.10.5 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 10.10.10.50
0 0 ACCEPT all -- * * 10.10.10.50 0.0.0.0/0
18M 6591M NETFLOW all -- * * 0.0.0.0/0 0.0.0.0/0 match-set Allow_user src NETFLOW
18M 6528M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 match-set Allow_user src
19M 27G NETFLOW all -- * * 0.0.0.0/0 0.0.0.0/0 match-set Allow_user dst NETFLOW
19M 27G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 match-set Allow_user dst
50M 2510M TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS set 1460
182M 73G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 match-set Allow_user src
166M 222G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 match-set Allow_user dst
# sysctl -a | grep net.netflow
net.netflow.active_timeout = 1800
net.netflow.inactive_timeout = 15
net.netflow.debug = 0
net.netflow.hashsize = 8192
net.netflow.sndbuf = 126976
net.netflow.destination = 10.10.10.6:9996
net.netflow.aggregation =
net.netflow.maxflows = 2000000
net.netflow.flush = 0
Вот эти все параметры можно задавать при загрузке модуля:
net.netflow.active_timeout = 1800
net.netflow.inactive_timeout = 15
net.netflow.debug = 0
net.netflow.hashsize = 8192
net.netflow.sndbuf = 126976
net.netflow.destination = 10.10.10.6:9996
net.netflow.aggregation =
net.netflow.maxflows = 2000000
net.netflow.flush = 0
Количество отправляемых записей NF по всей вероятности записит от параметра net.netflow.active_timeout. По-умолчанию стоит отправка NF-записи для активной сессии раз в 30 минут. В моем примере задано отправлять раз в минуту. Выставьте его по своему вкусу.
net.netflow.active_timeout = 1800
net.netflow.inactive_timeout = 15
net.netflow.debug = 0
net.netflow.hashsize = 8192
net.netflow.sndbuf = 126976
net.netflow.destination = 10.10.10.6:9996
net.netflow.aggregation =
net.netflow.maxflows = 2000000
net.netflow.flush = 0
Количество отправляемых записей NF по всей вероятности записит от параметра net.netflow.active_timeout. По-умолчанию стоит отправка NF-записи для активной сессии раз в 30 минут. В моем примере задано отправлять раз в минуту. Выставьте его по своему вкусу.