我有KVM虚拟化。我有超过 60 个接口:
vnet1-60 - virtual;
vmbr0 - bridge;
enp2s0f0 - PHYSOUT;
我需要知道每个 vnet 接口有多少个连接。我有一个规则,例如:
iptables -A FORWARD -o vnet1 -m state -p tcp --dport 25 --state NEW -j
LOG --log-level 7 --log-prefix "25port: "
...但没有结果。同样没有结果:
-A OUTPUT -o vnet*;
-A OUTPUT -o vnet55,vnet56;
-A OUTPUT -o enp2s0f0;
仅当我使用它时我才会收到日志:
-A FORWARD -o vmbr0 -s 123.0.0.0/8 -m state -p tcp --dport 25 --state
NEW -j LOG --log-level 7 --log-prefix "25port: "
...但是这是不正确的,因为 vmbr 是桥梁。如何从端口 25 上的虚拟接口获取流量日志?
答案1
您需要加载br_netfilter
模块,然后iptables
通过以下方式启用桥接流量
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables