服务器测评网
我们一直在努力

Linux 端口服务如何查看与管理?

Linux 端口服务管理基础

在 Linux 系统中,端口与服务的管理是系统运维的核心任务之一,端口是计算机与外部通信的入口,而服务则是通过这些端口提供特定功能的程序,理解端口与服务的关联关系,掌握常用服务的配置与管理方法,对于保障系统安全、优化性能至关重要,本文将详细介绍 Linux 端口服务的基本概念、常用工具、配置方法及安全实践。

Linux 端口服务如何查看与管理?

端口与服务的核心概念

端口(Port) 是 TCP/IP 协议中用于区分不同服务的逻辑地址,用 16 位二进制数表示,范围从 0 到 65535,0~1023 为知名端口(Well-Known Ports),由 IANA(互联网号码分配局)统一分配,用于常见服务(如 HTTP 80、SSH 22);1024~49151 为注册端口(Registered Ports),用户可自定义使用;49152~65535 为动态/私有端口(Dynamic/Private Ports),通常用于临时连接。

服务(Service) 是运行在后台的程序,通过监听特定端口接收客户端请求并提供响应,Web 服务(如 Nginx)监听 80 端口,数据库服务(如 MySQL)监听 3306 端口,服务通常以守护进程(Daemon)形式运行,可通过 systemd 或 init.d 脚本管理。

查看端口与服务的常用工具

Linux 提供了多种工具用于查看端口占用情况及关联服务,以下是常用命令及其使用场景:

netstat:传统网络状态工具

netstat 可显示网络连接、路由表、接口统计等信息,常用参数如下:

  • -t:显示 TCP 端口
  • -u:显示 UDP 端口
  • -l:仅显示监听端口
  • -n:以数字形式显示地址和端口(避免 DNS 解析)
  • -p:显示 PID 和程序名

示例:查看所有监听的 TCP 端口及关联服务

netstat -tulnp

ss:现代替代工具(推荐)

ssnetstat 的替代品,速度更快,功能更强大,默认安装于大多数 Linux 发行版,常用参数与 netstat 类似:

  • -t:TCP 端口
  • -u:UDP 端口
  • -l:监听端口
  • -n:数字形式
  • -p:显示进程信息

示例:查看监听端口的 PID 和进程名

ss -tulnp

lsof:列出打开文件的工具

lsof(List Open Files)可查看进程打开的文件、网络连接等,通过 -i 参数过滤端口信息。

示例:查看占用 80 端口的进程

Linux 端口服务如何查看与管理?

lsof -i :80

systemctl:管理系统服务

systemctl 是 systemd 的管理工具,用于启动、停止、启用/禁用服务,并查看服务状态。

示例:查看 Nginx 服务状态

systemctl status nginx

常见端口与对应服务

了解常见端口及其服务是管理 Linux 系统的基础,以下是部分知名端口及服务的对照表:

端口号 协议 服务名称 用途说明
22 TCP SSH 安全远程登录协议
21 TCP FTP 文件传输协议
80 TCP HTTP 超文本传输协议(Web 服务)
443 TCP HTTPS 安全 HTTP 协议(加密 Web 服务)
25 TCP SMTP 简单邮件传输协议
110 TCP POP3 邮局协议版本 3(接收邮件)
143 TCP IMAP 互联网消息访问协议
3306 TCP MySQL MySQL 数据库服务
5432 TCP PostgreSQL PostgreSQL 数据库服务
6379 TCP Redis 内存数据库缓存服务

端口服务的配置与管理

启动/停止/重启服务

使用 systemctl 管理服务:

# 启动服务
sudo systemctl start nginx
# 停止服务
sudo systemctl stop nginx
# 重启服务
sudo systemctl restart nginx
# 设置开机自启
sudo systemctl enable nginx
# 禁止开机自启
sudo systemctl disable nginx

修改服务监听端口

以 Nginx 为例,修改监听端口需编辑配置文件 /etc/nginx/sites-available/default 或自定义配置文件:

server {
    listen 8080;  # 修改为 8080 端口
    server_name localhost;
    root /var/www/html;
    index index.html;
}

修改后重启 Nginx 服务即可生效。

防火墙端口配置

Linux 防火墙(如 iptablesfirewalld)需开放端口才能允许外部访问。

firewalld(CentOS/RHEL)

# 开放 80 端口
sudo firewall-cmd --permanent --add-port=80/tcp
# 重载防火墙
sudo firewall-cmd --reload

iptables(Ubuntu/Debian)

Linux 端口服务如何查看与管理?

# 允许 80 端口访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 保存规则
sudo iptables-save > /etc/iptables/rules.v4

端口服务的安全实践

关闭不必要的端口服务

减少攻击面,关闭未使用的服务,若不使用 FTP,可卸载 vsftpd 并禁用相关端口:

sudo apt remove vsftpd  # Ubuntu/Debian
sudo yum remove vsftpd  # CentOS/RHEL

修改默认端口

将默认端口(如 SSH 22)修改为非常用端口,可降低自动化攻击风险,编辑 SSH 配置文件 /etc/ssh/sshd_config

Port 2222  # 修改为非 22 端口

重启 SSH 服务后,客户端需通过 -p 参数指定新端口连接。

使用 TCP Wrappers 限制访问

通过 /etc/hosts.allow/etc/hosts.deny 控制服务访问权限,仅允许 IP 168.1.100 访问 SSH:

# /etc/hosts.allow
sshd: 192.168.1.100
# /etc/hosts.deny
sshd: ALL

定期检查端口与进程

定期使用 ss -tulnpnetstat -tulnp 检查异常端口,发现可疑进程及时终止(通过 kill PID)。

Linux 端口服务管理是系统运维的基础技能,从查看端口状态到配置服务、保障安全,每一步都需要严谨操作,通过熟练掌握 sssystemctl 等工具,结合防火墙配置与安全策略,可有效提升系统的稳定性和安全性,在实际运维中,建议定期审计端口与服务,遵循最小权限原则,确保系统安全高效运行。

赞(0)
未经允许不得转载:好主机测评网 » Linux 端口服务如何查看与管理?