Linux 开放端口与关闭端口方法

8次阅读

linux 开放或关闭端口需先确认防火墙服务(firewalld/ufw/iptables),再按对应命令操作:firewalld 用 –add-port/–remove-port 加 –reload;ufw 用 allow/delete;还需检查服务监听、云安全组及 selinux。

Linux 开放端口与关闭端口方法

Linux 开放或关闭 端口,核心是管理防火墙规则。默认情况下,大多数发行版使用 firewalld(如 CentOS 8/9、Fedora)或 ufw(如 Ubuntu),部分老系统或精简环境可能直接用 iptables。操作前请确认当前使用的防火墙服务,避免命令无效或冲突。

确认正在运行的防火墙服务

执行以下命令查看启用并运行中的防火墙:

  • sudo systemctl status firewalld —— 查 firewalld 状态
  • sudo systemctl status ufw —— 查 ufw 状态
  • sudo iptables -L -n —— 直接查 iptables 规则(无服务管理)

若 firewalld 和 ufw 同时启用,可能产生冲突,建议只保留一个。通常 Ubuntu 默认用 ufw,CentOS/RHEL 默认用 firewalld。

用 firewalld 开放或关闭端口

firewalld 使用区域(zone)管理规则,默认常用 zone 是 public。操作需重载配置生效:

  • 开放 TCP 端口(例如 8080):sudo firewall-cmd –permanent –add-port=8080/tcp
  • 开放 UDP 端口(例如 53):sudo firewall-cmd –permanent –add-port=53/udp
  • 关闭已开放的端口:sudo firewall-cmd –permanent –remove-port=8080/tcp
  • 重新加载使规则生效:sudo firewall-cmd –reload
  • 查看当前开放的端口:sudo firewall-cmd –list-ports

用 ufw 开放或关闭端口

ufw 命令更简洁,适合桌面或轻量服务器:

  • 确保 ufw 已启用:sudo ufw enable(首次启用会自动启动服务)
  • 开放 TCP 端口:sudo ufw allow 8080 或指定协议 sudo ufw allow 8080/tcp
  • 开放 UDP 端口:sudo ufw allow 53/udp
  • 删除某条规则(按编号或按规则内容):sudo ufw delete allow 8080 或先运行 sudo ufw status numbered 查编号再删
  • 查看当前规则:sudo ufw status verbose

临时测试:不用防火墙也能验证端口通断

防火墙只是控制进出流量的一环。即使端口在防火墙中开放,还需确保:

  • 对应服务已启动并监听该端口(如 sudo ss -tlnp | grep :8080
  • 没有云平台安全组或物理防火墙拦截(如阿里云、AWS 控制台需单独放行)
  • 本地 SELinux(RHEL/CentOS)未阻止(可临时设为 permissive 测试:sudo setenforce 0

验证端口是否真正可达,可在本机用 telnet 127.0.0.1 8080 或远程用 nc -zv your-server-ip 8080 测试连接。

text=ZqhQzanResources