防火墙怎么开启和关闭linux
Linux系统中防火墙的开启与关闭需依据所采用的防火墙管理工具而定,主流方案包括firewalld、iptables和ufw三类。以CentOS/RHEL 8+及Fedora等发行版为例,firewalld是默认服务,执行`sudo systemctl start firewalld`即可启用,配合`sudo systemctl enable firewalld`可实现开机自启;Ubuntu/Debian系则普遍预装ufw,一条`sudo ufw enable`即完成激活。若使用传统iptables,需通过`sudo iptables -P INPUT DROP`等策略命令手动设定规则链,默认不自带服务管理机制,须结合`iptables-save`与`iptables-restore`保障重启持久化。所有操作均需root权限,且建议先用`sudo firewall-cmd --state`或`sudo ufw status`确认当前状态,再实施启停动作,确保网络策略调整精准可控。
一、firewalld服务的标准化操作流程
在支持firewalld的系统中,启停操作应严格遵循服务管理规范。启用时需依次执行`sudo systemctl start firewalld`启动服务,再运行`sudo systemctl enable firewalld`写入开机启动项;关闭则对应使用`sudo systemctl stop firewalld`终止进程,并用`sudo systemctl disable firewalld`移除自启配置。每次操作后务必验证状态:`sudo firewall-cmd --state`返回running即为生效,`sudo systemctl status firewalld`可查看详细运行日志与活跃单元信息。若需临时放行服务(如SSH或HTTP),应配合`--permanent`参数持久化规则,例如`sudo firewall-cmd --zone=public --add-service=ssh --permanent`,最后执行`sudo firewall-cmd --reload`刷新生效,避免仅修改内存规则导致重启失效。
二、ufw防火墙的简易化管理方式
Ubuntu及Debian系用户可直接调用ufw实现策略级控制。启用命令`sudo ufw enable`会自动设置默认拒绝入站、允许出站的基线策略,并激活内核netfilter模块;禁用则只需`sudo ufw disable`,该命令立即清空所有规则并卸载iptables链。查看当前策略需使用`sudo ufw status verbose`,它将明确列出各端口/服务的ALLOW/DENY状态及应用区域。如需开放特定端口,应采用`sudo ufw allow 80/tcp`格式指定协议类型,而非简单写端口号,以确保IPv4/IPv6双栈兼容性。所有ufw配置均自动持久化,无需额外保存指令。
三、iptables手动配置的关键注意事项
对于未启用高层服务管理器的场景,iptables需人工维护规则链。清空现有策略统一使用`sudo iptables -F`,但必须紧随其后设定默认策略:`sudo iptables -P INPUT DROP`、`sudo iptables -P OUTPUT ACCEPT`、`sudo iptables -P FORWARD DROP`构成最小安全基线。关键在于规则持久化——CentOS需执行`sudo service iptables save`将规则写入`/etc/sysconfig/iptables`,Ubuntu则依赖`sudo iptables-save > /etc/iptables/rules.v4`。重启前务必测试连通性,防止因INPUT链默认DROP导致SSH会话中断。
综上,选择匹配发行版默认工具的操作路径,是保障防火墙策略稳定生效的前提。




