个人名片
作者简介:java领域优质创作者
个人主页:码农阿豪
工作室:新空间代码工作室(提供各种软件服务)
个人邮箱:[[email protected]]
个人微信:15279484656
个人导航网站:www.forff.top
座右铭:总有人要赢。为什么不能是我呢?
码农阿豪系列专栏导航
面试专栏:收集了java相关高频面试题,面试实战总结️
Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用
Redis专栏:Redis从零到一学习分享,经验总结,案例实战
全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有
在 Linux 系统管理中,网络管理是非常重要的一部分,尤其是在服务器环境中,网络配置的正确性和安全性直接影响系统的稳定性和安全性。本文将深入探讨几种常见的网络管理任务,包括带宽消费查询、防火墙信息查询与配置、端口管理,以及防火墙配置的重新加载。通过这些操作,管理员可以更好地掌握系统的网络状况并进行有效的管理和优化。
网络带宽的使用情况是衡量服务器性能的一个重要指标,尤其是在高负载或关键任务环境中,实时监控带宽消耗可以帮助管理员迅速发现异常流量,防止网络拥堵或潜在的攻击。iftop
是一个在 Linux 环境中非常有用的网络流量监控工具,它提供了一个实时的带宽使用情况的可视化界面,帮助管理员快速了解网络状况。
在大多数 Linux 发行版中,iftop
并不默认安装,因此需要手动安装。在基于 Debian 的系统(如 Ubuntu)中,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install iftop
在基于 Red Hat 的系统(如 CentOS)中,可以使用:
sudo yum install iftop
安装完成后,可以使用 iftop
来监控带宽情况。常用的命令如下:
iftop -n -N -P
-n
:以数字形式显示 IP 地址,而不是尝试解析主机名。解析主机名可能会导致额外的网络流量,并影响监控结果的准确性。-N
:直接显示端口号而不是尝试解析服务名称,这样可以更清楚地了解每个端口的具体流量情况。-P
:显示每个连接的端口号,便于区分不同的服务和应用。运行命令后,iftop
会显示一个实时更新的界面,列出当前网络接口上的所有活动连接,并按流量排序。每行代表一个连接,列出了源 IP 地址、目标 IP 地址、端口号以及实时、过去 2 秒和过去 10 秒的带宽消耗情况。这样,管理员可以快速识别哪些 IP 或端口正在消耗大量带宽,从而做出相应的调整或排查潜在问题。
iftop
特别适用于以下场景:
iftop
能够帮助你快速找到问题根源。iftop
可以分析不同服务和应用的流量消耗,从而优化带宽配置。防火墙是保护服务器免受外部攻击的重要防线。在 Linux 系统中,firewalld
是一个动态管理防火墙的守护进程,而 firewall-cmd
则是其命令行界面工具,用于配置和查询防火墙规则。
管理员可以通过 firewall-cmd
来查看当前防火墙的配置,包括已开放的端口、活动的服务、已配置的区域等。
sudo firewall-cmd --list-all
执行该命令后,系统将返回防火墙的详细信息,包括:
public
,但也可能是自定义的区域。ssh
、http
、https
等。端口号/协议
,例如 80/tcp
。查询防火墙信息通常用于以下场景:
--list-all
进行审查,以确保配置正确无误。在网络管理中,开放和监听特定端口是一个常见需求。无论是部署新的应用服务,还是进行端口测试,管理员都需要熟练掌握如何开放端口以及如何查询端口的监听情况。
为了让外部流量能够访问服务器上的特定服务,通常需要在防火墙中开放相应的端口。以开放 8079 端口为例,使用以下命令:
sudo firewall-cmd --zone=public --add-port=8079/tcp --permanent
--zone=public
:指定防火墙的区域,这里选择 public
区域。区域代表防火墙规则应用的网络接口或网络范围。--add-port=8079/tcp
:添加端口规则,指定 8079 端口和 TCP 协议。--permanent
:将规则永久保存,即使重启系统,规则也会生效。如果不加此选项,规则只在当前会话中有效。开放端口后,最好通过防火墙的查询命令再次确认端口是否已成功开放:
sudo firewall-cmd --list-all
在输出中找到 ports
一行,确认 8079/tcp 端口已经列出,表明该端口已经开放。
确认端口是否被系统上的服务监听,是确保服务正常运行的重要步骤。可以使用 ss
工具来查询当前的端口监听情况。
sudo ss -tuln | grep :80
-t
:显示 TCP 端口。-u
:显示 UDP 端口。-l
:显示监听(Listening)状态的套接字。-n
:不解析主机名或服务名,直接显示数字形式的地址和端口号。| grep :80
:通过管道过滤,只显示监听 80 端口的结果。运行命令后,系统会显示正在监听 80 端口的进程信息。输出包括:
tcp
或 udp
。LISTEN
表示正在监听。*
,表示接受任何来源的连接。firewall-cmd
开放所需端口,并通过 ss
确认服务已正确监听端口。确认服务是否监听了正确的端口以及防火墙是否允许外部访问。
在修改防火墙规则后,通常需要重新加载配置以使新规则生效。在 Linux 系统中,firewalld
的动态特性使得它在重新加载配置时不会中断现有的连接,这一点对于保持服务的连续性至关重要。
使用以下命令来重新加载防火墙配置:
sudo firewall-cmd --reload
--reload
选项会重新加载 firewalld
的所有配置,包括新增的规则、修改的区域配置等。与重启防火墙不同,重新加载不会影响当前的连接,因此是生产环境中常用的操作。
假设你需要在一台新部署的服务器上配置防火墙,使其能够提供一个基于 HTTP 的 Web 服务,同时保证系统的安全性。你可以按照以下步骤进行操作:
安装并配置 Web 服务:假设你已经在服务器上安装并配置了 Apache 或 Nginx 作为 Web 服务,并使其监听 80 端口。
检查端口监听:使用 ss
工具确认服务是否正确监听了 80 端口。
sudo ss -tuln | grep :80
配置防火墙开放 80 端口:使用 firewall-cmd
工具开放 80 端口,以允许外部流量访问 Web 服务。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
重新加载防火墙配置:确保新规则生效。
sudo firewall-cmd --reload
验证防火墙配置:使用 --list-all
选项检查防火墙配置,确认 80 端口已经成功开放。
sudo firewall-cmd --list-all
通过上述步骤,你可以确保 Web 服务安全稳定地运行,并且只有必要的端口被开放,最大限度地减少了系统的安全风险。
Linux 网络管理是系统管理员日常工作中的一项重要任务,而掌握带宽监控、防火墙配置与端口管理的技巧,能够极大地提升服务器的安全性和性能。本文通过对 iftop
、firewall-cmd
和 ss
等工具的深入解析,展示了如何有效地管理和优化 Linux 系统的网络配置。
在实际操作中,管理员应根据具体的使用场景选择合适的工具和方法,定期监控系统的网络状况,及时调整防火墙配置,确保系统始终处于最佳状态。通过合理配置和管理网络资源,不仅可以提高系统的安全性,还能有效应对各种网络挑战,从而为业务的持续稳定运行提供有力保障。