我知道在创建 IP 集时有一个名为“计数器”的选项IP设置。但是我想知道如何读出计数器的值,以便知道从集合中的每个 IP 地址转发了多少个数据包或多少数据。
答案1
最快的方法是直接转储 ipset 并查找值。如果您想要它而不转储它,您可能需要使用 libipset API 编写一些 C 代码。
root@host # ipset save |grep -e 'packets [1-9]'
add ganeti-v4 1.2.3.4 timeout 85663 packets 26 bytes 5876 comment "basedata: @1475359261 /etc/firewall.d/functions/ipset"
add ganeti-v4 1.2.3.5 timeout 85663 packets 30 bytes 6780 comment "basedata: @1475359261 /etc/firewall.d/functions/ipset"
add drbd-v4 4.5.6.7 timeout 85663 packets 4 bytes 240 comment "basedata: @1475359261 /etc/firewall.d/functions/ipset"