我正在以串联模式(afpacket)运行snort,这是我的设置。
**VM1** (eth0: 10.0.10.20/24)
^
|
|
v
(eth0: 10.0.10.10/24)
**Snort**
(eth1: 10.0.20.10/24)
^
|
|
v
(eth0: 10.0.20.20/24) **VM2**
我使用以下命令运行snort:
sudo snort -Q -c /etc/snort/snort.conf -i eth0:eth1 -A console
我的snort.conf有以下几行:
config daq: afpacket
config daq_dir: /usr/local/lib/daq/
config daq_mode: inline
config policy_mode: inline
config daq_var: buffer_size_mb=128
我的local.rules文件具有以下一条规则:
pass icmp any any -> any any (msg:"received icmp ping"; GID:1; sid:10000001; rev:001; classtype:icmp-event;)
现在,当VM1 ping VM2(在两台机器上都设置了路由)时,我可以看到Snort将数据包从eth0传递到eth1(eth1的TX计数器已更新)。但是,数据包不会离开运行Snort的VM,也不会到达VM2。 我不知道为什么会这样。使用拖放操作时,VM1会“无法到达目标”,因此我认为Snort运行良好。但是问题似乎与运行Snort的VM的主机网络有关。
知道为什么会这样吗?
谢谢
答案 0 :(得分:0)
afpacket DAQ模块几乎不可能具有“ true”内联模式。我改用NFQueue,一切工作都很好。