在Linux系统中,防火墙是保护系统安全的关键组件,但某些场景(如调试网络服务、测试环境配置)可能需要临时关闭。操作前务必注意:关闭防火墙会暴露系统安全风险,仅建议在受控环境或明确需求下执行,完成后应立即恢复。 以下是针对不同防火墙工具的关闭方法:
firewalld 是 Red Hat 系列发行版的默认防火墙工具。
操作步骤:
- 停止防火墙服务
sudo systemctl stop firewalld
- 禁用开机自启(避免重启后自动开启)
sudo systemctl disable firewalld
- 验证状态
sudo systemctl status firewalld # 显示 "inactive (dead)" 表示已关闭 sudo firewall-cmd --state # 显示 "not running" 确认
关闭 iptables(传统工具,Debian/Ubuntu 旧版或基础系统)
iptables 通过内核规则管理流量,需清空规则链。
操作步骤:
- 清空所有规则
sudo iptables -F # 清空IPv4规则 sudo ip6tables -F # 清空IPv6规则
- 删除自定义链
sudo iptables -X sudo ip6tables -X
- 设置默认策略为ACCEPT(允许所有流量)
sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT
- 持久化规则(可选,重启后失效)
若需永久关闭,需安装持久化工具(如iptables-persistent
)并保存空规则:sudo apt install iptables-persistent -y # Debian/Ubuntu sudo netfilter-persistent save
关闭 ufw(Ubuntu/Debian 的简化工具)
ufw(Uncomplicated Firewall)是 Ubuntu/Debian 的默认前端。
操作步骤:
- 停用防火墙
sudo ufw disable
- 检查状态
sudo ufw status # 显示 "Status: inactive"
- 禁用开机启动
sudo systemctl disable ufw # 适用于systemd系统
关闭 nftables(新一代替代 iptables 的工具)
nftables 用于较新内核(Debian 10+、RHEL 8+)。
操作步骤:
- 停止服务
sudo systemctl stop nftables
- 清空规则
sudo nft flush ruleset
- 禁用服务
sudo systemctl disable nftables
关键安全提醒
- 临时关闭 vs 永久关闭
systemctl stop
仅临时生效,重启后恢复。systemctl disable
会阻止开机自启,需手动开启。
- 重新启用防火墙命令
sudo systemctl start firewalld # firewalld sudo ufw enable # ufw sudo systemctl start nftables # nftables
- 操作后验证
使用telnet
或nmap
检查端口是否开放:nmap -p 22 localhost # 测试SSH端口(22)是否可访问
- 生产环境警告
切勿在公网服务器关闭防火墙!若需开放端口,应使用以下命令:sudo firewall-cmd --add-port=80/tcp --permanent # firewalld开放80端口 sudo ufw allow 80/tcp # ufw开放80端口
关闭防火墙需根据系统使用的工具选择对应命令,核心步骤是停止服务、清空规则、禁用自启,操作后务必验证网络功能,并在完成后立即重新启用防火墙或精准开放所需端口,安全环境中,建议通过配置规则(如 firewall-cmd
或 ufw
)替代完全关闭,以平衡功能与安全。
引用说明参考 Linux 官方文档(firewalld.org、netfilter.org)及 Ubuntu Manpage(manpages.ubuntu.com),操作命令已通过 CentOS 9、Ubuntu 22.04 实测验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8359.html