设置 Fprobe 和 Ntop
![]() ntop 软件包在 Alpine 3.12 及更高版本中不可用 (讨论) |
目标:在 Alpine Linux 路由器上设置 fprobe 作为 NetFlow 探针,然后在另一台机器上设置 ntop 作为收集器/分析器。
假设:路由器上的 Eth0 将被监控,192.168.0.1 是 LAN 侧的路由器接口,192.168.0.100 是 ntop 主机,端口 2055 将用于 fprobe。
路由器设置
安装软件包
apk add fprobe
编辑 /etc/conf.d/fprobe(根据需要调整下面显示的行 - 其余配置文件保持原样)
IFACE=eth0 FLOW_VER=7 LOCALIP=192.168.0.1 REMOTEIP=192.168.0.100 PORT=2055
启动 fprobe。
rc-service fprobe start
Ntop 主机设置
添加软件包
apk add ntop
编辑 /etc/conf.d/ntop(根据需要调整 ntop 缓存的路径)
NTOP_OPTS="-P /var/cache/ntop --http-server 3000 --https-server 0 --interface eth0"
创建所需目录
mkdir /var/cache/ntop
生成 ntop 密码
ntop --set-admin-password
启动 ntop
rc-service ntop start
通过浏览到 http://192.168.0.100:3000 打开 ntop Web 界面。
从插件菜单启用 NetFlow 插件。
使用正确的选项创建 NetFlow 设备
Local Collector UDP Port: 2055 Virtual NetFlow Interface Network Address: 192.168.0.100/255.255.255.0 Flow Aggregation (set as desired, bu TCP/UDP Port is a good choice) Enable Session Handling: Yes Debug: Off
在一两分钟后检查流量是否正在被处理,方法是转到“摘要”->“流量”菜单选项,并确保收集器端口存在数据并且正在生成 rrd 图形。
如果创建密码时遇到问题,您可以删除以前的数据库并重新创建
rm /var/ntop/ *.db
如果收到有关未找到字体的错误,您可以添加 ttf 字体
apk add font-dejavu
注释
- 要监控 2 个接口(以 gre1 为例),将 /etc/init.d/fprobe 复制到 /etc/init.d/fprobe.gre1,编辑 BIN= 行以指向 /usr/sbin/fprobe.gre。将 /etc/conf.d/fprobe 复制到 /etc/conf.d/fprobe.gre,并将接口行更改为 gre 接口上的 IP,端口行更改为 2056。最后,将 /usr/sbin/fprobe.gre 软链接到 /usr/sbin/fprobe。
- 如果不存在数据,请确保路由器和 ntop 主机上的防火墙都为从路由器到 ntop 主机的端口 2055(以及可能的 2056)开放。
- 如果您有一个要监控的大容量路由器,则您可能会达到 rrd 接口目录的文件夹限制(最多 32000 个),具体取决于您处理/解析流量的方式。 可能需要安排一个 cron 作业来定期清除缓存,并在删除较旧的文件夹后重新启动 ntop。