ntop 是最好的网络监控工具之一。ntop是一个网络探测器,它以与top显示进程般类似的方式显示网络使用率。在交互模式中,它显示了用户终端上的网络状态。在网页模式中,它作为网络服务器,创建网络状态的HTML转储文件。它支持NetFlow/sFlowemitter/collector,这是一个基于HTTP的客户端界面,用于创建ntop为中心的监控应用,并使用RRD来持续存储通信数据。
在本教程中,您将在腾讯云CVM上配置和安装ntopng。本教程还将介绍Web管理界面的配置示例和建议。完成教程并部署网络监视器后,您将能够:
您需要一台已经设置好可以使用sudo
命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。
更新您的系统并安装ethtool
:
sudo apt update && sudo apt upgrade
sudo apt install ethtool
.deb
或.rpm
文件并将其安装到您的系统中。
Ntopng 默认以用户nobody
身份运行。对于需要最少访问系统的守护进程,这是一个不错的选择。但是,ntopng会在用户nobody
可能无权访问的目录中安装文件。最简单的解决方案是为ntop创建一个新用户:
添加用户ntopng
:
useradd -r -s /bin/false ntopng
设置用户ntopng
和安装文件/目录的权限,如下所示:
mkdir /var/tmp/ntopng
chown -R ntopng:ntopng /usr/share/ntopng /var/tmp/ntopng
chmod 1770 -R /var/tmp/ntopng
find /usr/share/ntopng -type d -print0 | xargs -0 chmod 744
find /usr/share/ntopng -type f -print0 | xargs -0 chmod 755
替换eth0
为主连接接口:
ethtool -K eth0 gro off gso off tso off
验证是否已禁用TCP分段:
ethtool -k eth0 | grep segmentation
该tcp-segmentation-offload
部分的每一行都应设置为off
,如下所示:
tcp-segmentation-offload: off
tx-tcp-segmentation: off
tx-tcp-ecn-segmentation: off
tx-tcp-mangleid-segmentation: off
tx-tcp6-segmentation: off
配置选项可以在文件中定义,也可以从命令行设置。如果在命令行和文件中指定选项,ntopng将优先处理配置文件中的设置。
使用以下示例为ntopng创建配置文件。替换192.0.2.0
为您CVM的公共IP地址。如果需要,请更换eth0
主网络接口。从终端运行man ntopng
,查看所有可用的配置参数。
1 --user=ntopng
2 --interface=eth0
3 -w=192.0.2.0:3005
4 --community
5 --daemon
6 --dump-flows=logstash # optional
7 --disable-autologout # optional
8 --disable-login=1 # optional
注意注释的选项标志
# optional
不是必需的。所有需要输入的标志必须后跟一个=
和一个值。
配置文件细分
标志 | 特征 |
---|---|
-user | 指定用户ntopng将在其下运行。将此标志保留在配置文件之外将默认为nobody。 |
-interface | ntopng将监控的网络接口。 |
-w | 用于连接管理界面的HTTP地址和端口。端口3005是默认端口,您可以定义任何端口。 |
-community | 许可证ntopng将在下运行。 |
-daemon | ntopng可以用作转发服务或后台守护程序。 |
-dump-flows | 记录的流量可以与其他服务共享。 |
-disable-autologout | 强制ntopng允许用户保持登录Web界面而不会停用。 |
-disable-login | 1表示禁用密码验证,0表示需要验证。 |
Ntopng需要3005
端口和3006
端口,您需要在防火墙中打开。
ufw allow 3005:3006/tcp
iptables -A INPUT -p tcp --match multiport --dports 3005:3006 -j ACCEPT
开启ntopng:
ntopng /etc/ntopng/ntopng.conf
导航到192.0.2.0:3005
,替换192.0.2.0
为您的域或IP。如果您启用了自动登录,则会将您引导到“欢迎”页面。如果您没有启用自动登录,在弹出的窗口输入username:admin
和password:admin
。然后会提示您设置新密码。
如果要通过同一网络对设备进行分组或托管主媒体服务器,则可以使用主机池。此示例使用OpenV**将连接的设备组合在一起(您不需要运行OpenV**)。
eth0
。在ntop徽标正下方的菜单中,选择类似于3人组的图标。选择“ 管理池”。+
。为您的池提供一个描述性名称并保存。 注意如果要在单个页面上查看所有主机连接,请在表格上方的过滤选项旁边设置每页显示的行数。
Ntopng提供了一种简单方便的方法来监控威胁。
警告Ntopng不会取代核心安全功能,例如正确配置的防火墙。。
现在您已经了解了如何使用ntopng以及对其功能的一些了解,您可能希望进一步探索适合您特定情况的配置。您可以在ntop网站的ntopng产品页面上找到详细信息。使用ntopng是一个不错的选择,但是对于生产环境的服务器,我还是建议您接入比较成熟的安全防护软件,比如腾讯云云镜服务。云镜基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供黑客入侵检测和漏洞风险预警等安全防护服务,主要包括密码破解拦截、异常登录提醒、木马文件查杀、高危漏洞检测等安全功能,解决当前服务器面临的主要网络安全风险,帮助企业构建服务器安全防护体系,防止数据泄露。 更多Linux教程请前往腾讯云+社区学习更多知识。
参考文献:《Diagnostics and Testing》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。