March 15, 2021

在openwrt上运行ntopng的docker版本

尽管有专业的防火墙软件pf_sense这类的东西,不过用过freenas的我对bsd实在不够熟悉,或者说精力不够维护太多种类的系统 linux&unix 还是存在一定程度的差别,为了掌握本地内网与外网的流量种类 频率 日常或异常 还是推荐用社区版的ntopng就够了 ntopng本是开源的包检测类软件,看起来功能做大做太强开始收费了 一看计费我擦 真的很会赚,不过社区版目前来讲就一直是免费的 ,光社区版就足够强大到满足个人业余需求了 企业用请酌情购买对应规模版本以获得他们的技术支持。

在openwrt上的docker根卷需要用到带快照功能的分区比如zfs,或者btrfs,所以自己把vda?分区mkfs.btrfs之后挂载到/opt,再根据自己习惯的docker repo配置好docker daemon.json就可以docker-init了

docker pull ntop/ntopng:stable

docker run -idt -p 3000:3000 --privileged=true --net=host --cpuset-cpus=0 --name ntopng ntop/ntopng:stable -d /var/lib/ntopng -i br-lan -m 192.168.50.0/24 --e= --community -v /opt/ntopng.license:/etc/ntopng.license:rw /opt/ntopng:/var/lib/ntopng:rw

 由于我的路由器host用的是一颗sandisk的U盘当的pve的根分区,磁盘性能炸裂的烂,我引入了内网的NAS做PVE的storage,没想到稀烂的QNAP到底比U盘还是好了不止一星半点儿。所以很期待未来QNAP能把旧的TS-451升级到quTS hero

另外值得注意的是,尽管openwrt对硬件要求极低,比如单核节能cpu,256M就能流畅跑的情况是普遍没错,不过ntopng是怪兽,也许redis是一个大头不说,如果还要挂接存储后端上的时序数据库做日志那么把虚拟机的配备提高到2个Vcore 内存提高到1GB是不错的建议 目前监控局域网内大大小小50多台上网设备内存开销平白多了360多MByte,所以我把虚拟的Openwrt增加到2个vcore ,内存到768MB,才免于读写swaps

我的迷你路由:

  • 主板PCM5-QM77 带2个千兆电口 itx DC19V输入 miniPCI-e 2 m-SATA1 SATA*4
  • i7-2640m 拆自旧笔记本hp probook4230s 35W TDP
  • 16G DDR3-1600Mhz 1.5v 拆自旧笔记本hp probook4230s
  • Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 双电口万兆 RMB:$175
  • proxmox + openwrt
  • 32G Sandisk SDCZ80 Flash Drive 真是没SSD用了现在m-SATA的SSD也贵 这个电源没有多出来给常见SATA盘供电的线所以哎 等mlc有便宜货的时侯再 dd