新手在Linux上安装配置Snort应优先使用apt安装稳定二进制版本,修改/etc/snort/snort.conf中HOME_NET、EXTERNAL_NET和RULE_PATH三处关键配置,添加ICMP测试规则并验证告警,最后通过systemctl启用后台服务持续运行。

新手在Linux上安装配置Snort,核心是“装得稳、配得准、跑得起来”。不需要从源码编译起步,用系统包管理器安装官方维护的稳定版本最省心,再聚焦修改几处关键配置,就能让Snort真正开始监听并告警。
用apt一键安装Snort(Ubuntu/Debian系)
大多数现代发行版已将Snort纳入软件源,直接安装即可获得适配良好的二进制版本:
- 更新系统并安装Snort主程序和依赖库:
sudo apt update && sudo apt install -y snort snort-common libdaq2 - 安装完成后验证:
snort -V—— 应显示类似 Version 2.9.17 的输出 - 安装时系统会自动创建 snort 用户与用户组,并配置基础服务单元,无需手动建用户
快速定位并修改核心配置文件
Snort主配置文件默认位于 /etc/snort/snort.conf。新手只需关注三处关键设置:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
-
HOME_NET:定义你要保护的内部网络段。例如你的服务器IP是
192.168.1.10,则改为:ipvar HOME_NET 192.168.1.0/24 -
EXTERNAL_NET:通常保持默认
any即可,表示监控所有外部流量 -
RULE_PATH:确认规则目录路径是否正确,常见为:
var RULE_PATH /etc/snort/rules—— 确保该目录存在且有读取权限
启用一条测试规则并验证告警
先不追求复杂规则,用一条ICMP Ping检测规则确认整个链路通顺:
- 在
/etc/snort/rules/local.rules中添加一行:alert icmp any any -> $HOME_NET any (msg:"ICMP Ping Detected"; classtype:icmp-event; sid:1000001; rev:1;) - 编辑
/etc/snort/snort.conf,取消以下行的注释(删除开头的#):include $RULE_PATH/local.rules - 保存后运行一次测试命令:
sudo snort -A console -q -c /etc/snort/snort.conf -i eth0
(eth0替换为你实际的网卡名,可用ip a查看) - 另开终端,对本机执行
ping -c 1 192.168.1.10,控制台应立即打印出告警信息
让Snort作为后台服务持续运行
测试成功后,转为守护进程模式,避免终端关闭导致中断:
- 启用并启动Snort服务:
sudo systemctl enable snort && sudo systemctl start snort - 检查运行状态:
sudo systemctl status snort—— 状态应为 active (running) - 日志默认输出到
/var/log/snort/alert,可用tail -f /var/log/snort/alert实时查看新告警

















