reduce CPU usage by doing netflow samping in iptables
This commit is contained in:
parent
1488e40075
commit
b6d01c8683
@ -27,13 +27,13 @@ COMMIT
|
|||||||
*mangle
|
*mangle
|
||||||
:PREROUTING ACCEPT [0:0]
|
:PREROUTING ACCEPT [0:0]
|
||||||
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
||||||
-A PREROUTING -i {{ iface_name }} -j NFLOG --nflog-group 2 --nflog-size 64 --nflog-threshold 64
|
-A PREROUTING -i {{ iface_name }} -m statistic --mode nth --packet 1 --every {{ salt['pillar.get']('netflow:sampling-rate',64) }} -j NFLOG --nflog-group 2 {% if salt['grains.get']('kernelrelease','') in ["4.19.52-amd64-vyos","4.19.84-amd64-vyos"] %}--nflog-range 64{% else %}--nflog-size 64{% endif %} --nflog-threshold 64
|
||||||
{% endif %}{% endfor %}
|
{% endif %}{% endfor %}
|
||||||
:INPUT ACCEPT [0:0]
|
:INPUT ACCEPT [0:0]
|
||||||
:FORWARD ACCEPT [0:0]
|
:FORWARD ACCEPT [0:0]
|
||||||
:OUTPUT ACCEPT [0:0]
|
:OUTPUT ACCEPT [0:0]
|
||||||
:POSTROUTING ACCEPT [0:0]
|
:POSTROUTING ACCEPT [0:0]
|
||||||
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
||||||
-A POSTROUTING -o {{ iface_name }} -j NFLOG --nflog-group 2 --nflog-size 64 --nflog-threshold 64
|
-A POSTROUTING -o {{ iface_name }} -m statistic --mode nth --packet 1 --every {{ salt['pillar.get']('netflow:sampling-rate',64) }} -j NFLOG --nflog-group 2 {% if salt['grains.get']('kernelrelease','') in ["4.19.52-amd64-vyos","4.19.84-amd64-vyos"] %}--nflog-range 64{% else %}--nflog-size 64{% endif %} --nflog-threshold 64
|
||||||
{% endif %}{% endfor %}
|
{% endif %}{% endfor %}
|
||||||
COMMIT
|
COMMIT
|
||||||
|
@ -27,13 +27,13 @@ COMMIT
|
|||||||
*mangle
|
*mangle
|
||||||
:PREROUTING ACCEPT [0:0]
|
:PREROUTING ACCEPT [0:0]
|
||||||
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
||||||
-A PREROUTING -i {{ iface_name }} -j NFLOG --nflog-group 2 --nflog-size 64 --nflog-threshold 64
|
-A PREROUTING -i {{ iface_name }} -m statistic --mode nth --packet 1 --every {{ salt['pillar.get']('netflow:sampling-rate',64) }} -j NFLOG --nflog-group 2 {% if salt['grains.get']('kernelrelease','') in ["4.19.52-amd64-vyos","4.19.84-amd64-vyos"] %}--nflog-range 64{% else %}--nflog-size 64{% endif %} --nflog-threshold 64
|
||||||
{% endif %}{% endfor %}
|
{% endif %}{% endfor %}
|
||||||
:INPUT ACCEPT [0:0]
|
:INPUT ACCEPT [0:0]
|
||||||
:FORWARD ACCEPT [0:0]
|
:FORWARD ACCEPT [0:0]
|
||||||
:OUTPUT ACCEPT [0:0]
|
:OUTPUT ACCEPT [0:0]
|
||||||
:POSTROUTING ACCEPT [0:0]
|
:POSTROUTING ACCEPT [0:0]
|
||||||
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
{% for iface_name, iface_data in pillar['netbox']['interfaces'].items() %}{% if salt['pillar.get']('interfaces:'+iface_name+':netflow') %}
|
||||||
-A POSTROUTING -o {{ iface_name }} -j NFLOG --nflog-group 2 --nflog-size 64 --nflog-threshold 64
|
-A POSTROUTING -o {{ iface_name }} -m statistic --mode nth --packet 1 --every {{ salt['pillar.get']('netflow:sampling-rate',64) }} -j NFLOG --nflog-group 2 {% if salt['grains.get']('kernelrelease','') in ["4.19.52-amd64-vyos","4.19.84-amd64-vyos"] %}--nflog-range 64{% else %}--nflog-size 64{% endif %} --nflog-threshold 64
|
||||||
{% endif %}{% endfor %}
|
{% endif %}{% endfor %}
|
||||||
COMMIT
|
COMMIT
|
||||||
|
@ -1332,7 +1332,7 @@ system {
|
|||||||
interface {{ iface_name }}
|
interface {{ iface_name }}
|
||||||
{% endif %}{% endfor %}
|
{% endif %}{% endfor %}
|
||||||
netflow {
|
netflow {
|
||||||
sampling-rate {{ pillar['netflow']['sampling-rate']}}
|
sampling-rate 1
|
||||||
{% for server in pillar['netflow']['servers'] %}
|
{% for server in pillar['netflow']['servers'] %}
|
||||||
server {{ server.split(":")[0] }} {
|
server {{ server.split(":")[0] }} {
|
||||||
port {{ server.split(":")[1] }}
|
port {{ server.split(":")[1] }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user