我在 VMware 虚拟化的 Linux 上配置了这样的网络:
主机 1 - 网桥(已安装 Snort-IPS) - 主机 2
我找到了 Noah Ditrich 在这种情况下制作的一些教程。 https://sublimerobots.com/2016/02/snort-ips-inline-mode-on-ubuntu/
本教程中有信息表明,需要数据包流经 Snort 运行,而不仅仅是机器,因为这是 Snort 丢弃数据包的唯一方法。
通过 Snort(IPS) 的数据包有这样的网络接口配置:
#Administrative interface
auto eth0
iface eth0 inet dhcp
#First bridged interface
auto eth1
iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
post-up ethtool -K $IFACE gro off
post-up ethtool -K $IFACE lro off
down ip link set $IFACE promisc off
down ifconfig $IFACE down
#Second Bridged Interface
auto eth2
iface eth2 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
post-up ethtool -K $IFACE gro off
post-up ethtool -K $IFACE lro off
down ip link set $IFACE promisc off
down ifconfig $IFACE down
我需要在ubuntu中通过Netplan进行相同的配置。我不知道如何,因为 Netplan 使用不同的命令。 如果我正确放置 Netplan 文件,我希望 Snort 能够丢弃数据包。如果没有,我会寻找其他解决方案。
解决了。 Snort 单独充当桥梁。我必须删除 Netplan 中的网桥 (br0) 配置。 您所需要的只是 Snort 主机上的两个没有 IP 地址(ens38、ens39)的网络接口和命令:
snort -c /.../snort.lua -i ens38:ens39 -Q --daq afpacket --daq-mode inline -A fast
所以,snort 工作得很好。我添加了完全不必要的替代路由,Snort 无法阻止那里的数据包。 Snort 只能影响那些经过它的数据包。