跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

LINUX怎么防火墙开放端口_Linux使用firewall或iptables开放端口教程

Linux开放端口主要用firewalld或iptables。CentOS 7+默认用firewalld,Debian系常用iptables。先确认防火墙状态并启动,firewalld通过firewall-cmd添加端口(如--add-port=80/tcp),需--reload生效;iptables使用-A INPUT规则添加,必须保存(如service iptables save)并启用开机自启。操作后检查端口监听(netstat或ss)、安全组、SELinux,并用telnet或nc验证连通性。

Linux系统中开放端口主要通过两种方式:firewalld 和 iptables。不同发行版默认使用的工具可能不同,比如CentOS 7及以上默认使用firewalld,而一些旧版本或Debian系系统可能更依赖iptables。下面分别介绍如何使用这两种工具开放指定端口。

使用firewalld开放端口firewalld是动态防火墙管理工具,支持区域(zone)概念,操作灵活且无需重启服务即可生效。

1. 检查firewalld运行状态:

systemctl status firewalld如果未运行,先启动并设置开机自启:systemctl start firewalldsystemctl enable firewalld

2. 开放指定端口:

例如开放80端口(TCP协议):firewall-cmd --permanent --add-port=80/tcp如需开放UDP端口,将tcp改为udp:firewall-cmd --permanent --add-port=53/udp

3. 重新加载防火墙配置:

firewall-cmd --reload这一步必须执行,否则修改不会生效。

4. 查看已开放的端口:

firewall-cmd --permanent --list-ports

5. 删除某个端口(可选):

Docker Desktop(linux)

当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。

下载firewall-cmd --permanent --remove-port=80/tcpfirewall-cmd --reload使用iptables开放端口iptables是传统包过滤工具,规则直接作用于内核Netfilter模块,适合对规则控制要求较高的场景。

1. 查看当前规则:

iptables -L -n

2. 开放指定端口(以80端口为例):

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

允许UDP端口53:

iptables -A INPUT -p udp --dport 53 -j ACCEPT

3. 保存规则(重要):

不同系统保存命令略有差异:

CentOS/RHEL:service iptables save

或使用:

iptables-save > /etc/sysconfig/iptables Debian/Ubuntu需安装iptables-persistent:apt-get install iptables-persistent

然后保存:

netfilter-persistent save

4. 确保iptables服务开机启动:

systemctl enable iptables常见问题注意开放端口后仍无法访问?检查以下几点:

确认服务已在对应端口监听:

netstat -tuln | grep :端口号或ss -tuln | grep :端口号云服务器需检查安全组策略(如阿里云、AWS等),外部防火墙也需放行。

SELinux可能限制服务绑定端口,可临时关闭测试:setenforce 0基本上就这些。根据你用的是firewalld还是iptables选择对应方法,操作后记得验证端口是否真正开放(可用telnet或nc测试)。关键是保存和重载规则,避免重启后失效。

相关文章