linux系统,常见端口介绍

13 阅读4分钟

在 Linux 系统中,端口(Port)是网络通信的逻辑通道,范围从 0 到 65535。其中 0–1023 被称为 “知名端口”(Well-Known Ports) ,通常由系统服务使用,需要 root 权限才能绑定。

下面列出 Linux 环境中最常见、最实用的端口及其作用,按类别分类,便于理解和运维。


🔑 一、系统与基础服务端口

端口协议服务/用途说明
22TCPSSH(Secure Shell)远程登录、文件传输(scp/sftp),Linux 最重要的管理端口
23TCPTelnet明文远程登录(不安全,已淘汰
53TCP/UDPDNS(Domain Name System)域名解析,UDP 用于查询,TCP 用于区域传输
123UDPNTP(Network Time Protocol)时间同步(如 chronyntpd
161/162UDPSNMP(Simple Network Management Protocol)网络设备监控(161 查询,162 告警)

🌐 二、Web 与 HTTP 相关端口

端口协议服务/用途说明
80TCPHTTP标准 Web 服务(明文)
443TCPHTTPS加密 Web 服务(SSL/TLS)
8080TCPHTTP 代理 / 备用 Web 端口常用于开发测试、反向代理后端(如 Tomcat、Gunicorn)
8443TCPHTTPS 备用端口常用于管理界面(如 Jenkins、Kubernetes Dashboard)
3000TCP开发服务器常用端口Node.js(Express)、Grafana 默认端口
5000TCPFlask 开发默认端口Python Flask 应用常用
8000TCPDjango / Gunicorn / FastAPIPython Web 框架常用部署端口

💡 提示:80/443 是浏览器默认端口,访问 http://example.com 实际是 :80,无需写端口。


🗄️ 三、数据库端口

端口数据库协议说明
3306MySQL / MariaDBTCP最流行的开源关系型数据库
5432PostgreSQLTCP高级开源关系型数据库
27017MongoDBTCPNoSQL 文档数据库
6379RedisTCP内存键值存储(缓存/消息队列)
9200ElasticsearchTCP分布式搜索与分析引擎(REST API)
11211MemcachedTCP/UDP分布式内存对象缓存系统

📦 四、应用与中间件端口

端口服务用途
2181ZooKeeper分布式协调服务(Kafka/Hadoop 依赖)
9092Kafka消息队列 broker 端口
8081Nexus / Artifactory私有 Maven/PyPI 仓库
9000Portainer / MinIODocker 可视化管理 / 对象存储
8888Jupyter Notebook数据科学交互式开发环境
25 / 465 / 587SMTP邮件发送服务(25 明文,465/587 加密)
110 / 995POP3邮件接收(110 明文,995 SSL)
143 / 993IMAP邮件同步协议(143 明文,993 SSL)

🛠️ 五、监控与可观测性端口

端口服务用途
9090Prometheus时序数据库 + 监控服务
9100Node Exporter主机指标采集器(CPU/内存/磁盘等)
3000Grafana可视化仪表盘(常与 Prometheus 配合)
3100Loki日志聚合系统(Grafana Labs)
7946Docker Swarm容器集群管理通信
9093AlertmanagerPrometheus 告警路由服务

🔒 六、安全与防火墙相关

端口用途
所有非标准端口建议在生产环境中限制访问源 IP(如只允许办公网段访问 22、3306)
0.0.0.0 vs 127.0.0.1
  • 0.0.0.0:8000 → 所有网络接口可访问(公网暴露!
  • 127.0.0.1:8000 → 仅本机可访问(更安全,配合 Nginx 反向代理) |

🧪 七、如何查看当前监听的端口?

1. 查看所有监听端口

ss -tuln
# 或
netstat -tuln

2. 查看某端口被哪个进程占用

sudo lsof -i :8000
# 或
sudo ss -tulnp | grep :8000

3. 测试端口是否可达(本地)

curl http://127.0.0.1:8000
telnet 127.0.0.1 8000

4. 测试远程端口连通性(从本地电脑)

telnet your-ecs-ip 8000
# 或
nc -zv your-ecs-ip 8000

🛡️ 八、安全建议(生产环境)

  1. 最小开放原则:只开放必要端口(如 Web 服务开 80/443,管理开 22)

  2. 限制来源 IP

    • SSH(22)只允许公司/家庭 IP
    • 数据库(3306)只允许应用服务器 IP
  3. 避免直接暴露应用端口

    • 不要直接开放 8000、3000 给公网
    • Nginx/Apache 反向代理 + HTTPS
  4. 定期扫描端口

    nmap -sV your-server-ip
    

✅ 总结:高频端口速查表

场景推荐端口是否开放公网
SSH 远程管理22✅(限 IP)
Web 网站80 / 443
Flask/Django 后端8000 / 5000❌(应通过 Nginx 代理)
MySQL3306❌(仅内网)
Redis6379❌(禁止公网!)
Prometheus9090❌(或加认证)
Grafana3000❌(或加认证/反向代理)

💡 记住
“能不开就不开,能限 IP 就限 IP,能走内网就走内网”