UFW是Ubuntu默认的防火墙管理工具,基于iptables封装,操作更简洁。恢复UFW配置的核心是通过重置命令清除自定义规则,恢复默认策略。
若需彻底清除所有自定义规则(包括入站/出站策略、端口允许规则等),可使用ufw reset命令。执行后:
sudo ufw reset 注意:此操作不可逆,请提前备份重要规则(如通过sudo ufw export > ufw_rules_backup.txt导出)。
若仅需调整默认策略(如将入站策略从“拒绝”改为“允许”),可使用ufw default命令,无需删除现有规则:
# 恢复默认策略:拒绝入站、允许出站 sudo ufw default deny incoming sudo ufw default allow outgoing 此方法适用于保留现有自定义规则,仅修改默认行为的场景。
若UFW被禁用(sudo ufw status显示inactive),可通过enable命令重新启用,此时会恢复默认策略并设置开机自动启动:
sudo ufw enable 启用后,UFW会加载/etc/ufw/目录下的默认配置文件(如before.rules、after.rules)。
若直接使用iptables配置防火墙(非UFW前端),恢复方法需根据是否有备份选择:
若之前通过iptables-save命令备份了规则(如/etc/iptables/rules.v4),可直接用iptables-restore恢复:
# 恢复IPv4规则 sudo iptables-restore < /etc/iptables/rules.v4 # 恢复IPv6规则(若有) sudo ip6tables-restore < /etc/iptables/rules.v6 注意:备份文件需提前创建(如sudo iptables-save > /etc/iptables/rules.v4)。
若安装了iptables-persistent服务(用于持久化iptables规则),可通过以下步骤恢复默认规则:
# 停止服务 sudo systemctl stop netfilter-persistent # 删除现有规则文件 sudo rm /etc/iptables/rules.v4 /etc/iptables/rules.v6 # 重新启动服务(会加载默认规则) sudo systemctl start netfilter-persistent 此方法适用于依赖iptables-persistent管理规则的场景。
若无备份且未使用iptables-persistent,可手动清除所有规则并设置默认策略:
# 清除所有现有规则 sudo iptables -F # 清空自定义链 sudo iptables -X # 删除自定义链 # 设置默认策略:拒绝入站、允许出站 sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT # 允许本地回环接口 sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT # 允许已建立的连接 sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # 允许常见服务(如SSH、HTTP、HTTPS) sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 保存规则(需安装iptables-persistent) sudo iptables-save > /etc/iptables/rules.v4 此方法适用于全新系统或完全自定义规则的场景。
sudo ufw export > ufw_backup.txt或sudo iptables-save > iptables_backup.v4),避免误操作导致规则丢失。sudo systemctl enable ufw或sudo systemctl enable netfilter-persistent),避免系统重启后规则失效。sudo ufw status(UFW)或sudo iptables -L -v -n(iptables)验证规则是否生效。以上方法覆盖了Ubuntu防火墙(UFW/iptables)的常见恢复场景,可根据实际情况选择使用。