在Linux系统上安装ntopng有五种方法:一、APT源安装(Ubuntu/Debian);二、YUM源安装(CentOS/RHEL);三、源码编译安装(适配定制化需求);四、Docker容器化部署;五、配置防火墙与SELinux(RHEL/CentOS生产环境)。
如果您希望在Linux系统上安装ntopng流量分析工具以实现网络流量监控,则需要根据系统发行版和环境条件选择合适的安装方式。以下是多种可行的安装方法:
一、APT源安装(适用于Ubuntu/Debian系)
该方法通过官方ntop软件源安装预编译包,操作简洁、依赖自动处理,适合大多数桌面或服务器环境。
1、更新系统软件包列表:
sudo apt-get update
2、安装基础依赖:
sudo apt install wget libpcap0.8
3、添加ntop官方APT源:
sudo wget https://packages.ntop.org/apt/22.04/all/apt-ntop.deb sudo apt install ./apt-ntop.deb sudo apt update
4、安装ntopng及其核心组件:
sudo apt install pfring ntopng nprobe
5、启用并启动服务:
sudo systemctl start ntopng sudo systemctl enable ntopng
6、确认服务运行状态:
sudo systemctl status ntopng
7、访问Web界面:
在浏览器中输入http://服务器IP:3000即可进入登录页,默认凭据为admin/admin。
二、YUM源安装(适用于CentOS/RHEL 7/8)
该方式利用RPM包管理器与ntop官方YUM仓库完成部署,适用于企业级稳定环境,需额外配置epel扩展源。
1、切换至YUM源目录并下载ntop.repo:
cd /etc/yum.repos.d/ wget --no-check-certificate https://packages.ntop.org/centos-stable/ntop.repo -O ntop.repo
2、清理并更新YUM缓存:
yum clean all yum --exclude=kernel* update
3、安装EPEL扩展源:
yum install -y epel-release
4、安装ntopng及相关依赖:
yum install -y pfring-dkms n2disk nprobe ntopng cento
5、修改主配置文件指定监听接口与允许网段:
echo "-i=ens33" >> /etc/ntopng/ntopng.conf echo "-m=192.168.1.0/24" >> /etc/ntopng/ntopng.conf
6、启动Redis与ntopng服务:
systemctl start redis systemctl start ntopng systemctl enable redis ntopng
7、开放防火墙端口:
firewall-cmd --zone=public --add-port=3000/tcp --permanent firewall-cmd --reload
8、验证监听状态:
ss -tuln | grep :3000
三、源码编译安装(适用于定制化需求或DPU/ARM等特殊平台)
该方式提供最高灵活性,支持深度定制协议识别能力(如nDPI)、适配非标准内核或硬件加速模块,但对系统环境与编译经验要求较高。
1、安装构建工具与开发依赖:
sudo apt install -y build-essential git bison flex libxml2-dev libpcap-dev libtool libtool-bin rrdtool librrd-dev autoconf pkg-config automake autogen redis-server wget libsqlite3-dev libhiredis-dev libmaxminddb-dev libcurl4-openssl-dev libpango1.0-dev libcairo2-dev libnetfilter-queue-dev zlib1g-dev libssl-dev libcap-dev libnetfilter-conntrack-dev libreadline-dev libjson-c-dev libldap2-dev rename libsnmp-dev libexpat1-dev libradcli-dev libzmq3-dev curl jq libnl-genl-3-dev libgcrypt20-dev
2、克隆源码仓库:
git clone https://github.com/ntop/ntopng.git git clone https://github.com/ntop/nDPI.git
3、编译并安装nDPI:
cd nDPI./autogen.sh./configure make sudo make install
4、编译并安装ntopng:
cd ../ntopng./autogen.sh./configure make sudo make install
5、验证安装路径与版本:
which ntopng ntopng --version
6、手动启动服务(需先确保redis已运行):
redis-server &ntopng -i ens33 -m "192.168.1.0/24" -w 3000 -d /var/tmp/ntopng.pid
7、访问界面时需确保
-w参数指定的端口未被占用且防火墙放行。
四、Docker容器化部署(适用于快速验证或CI/CD集成)
该方式将ntopng及其依赖(包括Redis、PF_RING等)封装为轻量容器,避免主机环境污染,便于迁移与版本控制。
1、拉取官方镜像或构建自定义镜像:
docker pull ntop/ntopng
2、创建数据卷用于持久化流量数据:
docker volume create ntopng-data
3、运行容器并映射必要端口与设备:
docker run -d --name ntopng \--restart=always \-v ntopng-data:/var/lib/ntopng \-v /etc/localtime:/etc/localtime:ro \--cap-add=NET_ADMIN \--network=host \-e NTOPNG_HTTP_PORT=3000 \ntop/ntopng
4、检查容器运行状态:
docker ps | grep ntopng
5、确认ntopng进程在容器内正常监听:
docker exec -it ntopng ps aux | grep ntopng
6、访问地址为
http://宿主机IP:3000,首次访问将引导完成初始化配置。
五、配置防火墙与SELinux(适用于RHEL/CentOS系生产环境)
若系统启用了firewalld或SELinux策略,ntopng的Web服务与数据采集可能被拦截,需显式放行关键资源。
1、永久开放ntopng默认端口:
firewall-cmd --permanent --add-port=3000/tcp firewall-cmd --permanent --add-port=5556/udp
2、重载防火墙规则:
firewall-cmd --reload
3、检查当前开放端口列表:
firewall-cmd --list-ports 4、若SELinux处于enforcing模式,需调整策略以允许网络绑定:sudo setsebool -P httpd_can_network_bind 1
5、验证ntopng是否具备socket绑定权限:
sudo sesearch -s httpd_t -t port_type -c tcp_socket -p name_bind | grep 3000
6、重启ntopng服务使安全策略生效:
sudo systemctl restart ntopng
