Linux防火墙服务如何启动才稳定
导读:稳定启动 Linux 防火墙的实用方案 一 核心原则 只保留并启用一种防火墙管理工具(如 firewalld/ufw/iptables),避免并行管理导致规则互相覆盖。 规则要持久化,并配置为开机自启,否则重启后可能“裸奔”或规则丢失。...
稳定启动 Linux 防火墙的实用方案
一 核心原则
- 只保留并启用一种防火墙管理工具(如 firewalld/ufw/iptables),避免并行管理导致规则互相覆盖。
- 规则要持久化,并配置为开机自启,否则重启后可能“裸奔”或规则丢失。
- 变更规则后使用热加载或有序重启,确保已有连接不断开,减少业务中断。
- 启动前后进行状态校验与连通性验证,并配置日志监控,便于快速回滚与排障。
二 不同工具的稳态启动步骤
-
firewalld(RHEL/CentOS/Fedora 常用)
- 安装与启动
- 安装:yum/dnf install firewalld
- 启动:systemctl start firewalld
- 开机自启:systemctl enable firewalld
- 状态:systemctl status firewalld 或 firewall-cmd --state
- 放行常用服务与端口(示例)
- 放行 SSH/HTTP/HTTPS:firewall-cmd --permanent --zone=public --add-service=ssh --add-service=http --add-service=https
- 或放行端口:firewall-cmd --permanent --zone=public --add-port=80/tcp --add-port=443/tcp
- 使配置生效:firewall-cmd --reload
- 校验:firewall-cmd --list-all
- 稳态要点
- 使用 –permanent 写入配置,变更后用 –reload 热加载,避免重启导致短时可达性中断。
- 避免直接 –complete-reload(会重置运行时状态),优先用 –reload。
- 安装与启动
-
ufw(Ubuntu/Debian 常用)
- 安装与启用
- 安装:apt install ufw
- 启用:ufw enable(会自动设置开机自启)
- 状态:ufw status verbose
- 放行常用端口(示例)
- 策略:ufw default deny incoming,ufw default allow outgoing
- 放行:ufw allow 22/tcp,ufw allow 80/tcp,ufw allow 443/tcp
- 稳态要点
- 启用即持久化;变更后规则即时生效,必要时用 ufw reload 确保一致性。
- 安装与启用
-
iptables(传统方式)
- 安装与持久化
- 规则保存:
- Debian/Ubuntu:apt install iptables-persistent,安装时选择保存当前规则;后续可用 netfilter-persistent save。
- RHEL/CentOS:service iptables save(写入 /etc/sysconfig/iptables)。
- 自定义 systemd 服务示例(确保开机加载):
- 保存规则:iptables-save > /etc/iptables/rules.v4
- 创建服务:/etc/systemd/system/iptables-restore.service
[Unit] Description=Restore iptables rules After=network.target [Service] Type=oneshot ExecStart=/sbin/iptables-restore /etc/iptables/rules.v4 RemainAfterExit=yes [Install] WantedBy=multi-user.target - 启用:systemctl daemon-reload & & systemctl enable --now iptables-restore.service
- 规则保存:
- 基本稳态规则(示例)
- iptables -P INPUT DROP
- iptables -P FORWARD DROP
- iptables -P OUTPUT ACCEPT
- iptables -A INPUT -i lo -j ACCEPT
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 稳态要点
- 规则必须先“保存”,再配置“开机恢复服务”;变更规则后记得再次保存。
- 安装与持久化
三 提升稳定性的关键做法
- 避免锁死 SSH
- 先放行 22/TCP 再启用防火墙;远程操作建议使用 screen/tmux,或临时放通 22 后再收紧策略。
- 使用“热加载”而非粗暴重启
- firewalld 用 firewall-cmd --reload;iptables 用持久化机制或自定义服务在启动早期恢复规则,减少中断窗口。
- 开机自启与启动顺序
- 确认服务已 enable;如使用云厂商或容器环境,确保 网络就绪 后再启动防火墙(避免早期规则因接口未就绪而异常)。
- 状态校验与连通性验证
- 启动后执行:
- firewalld:firewall-cmd --state、firewall-cmd --list-all
- ufw:ufw status verbose
- iptables:iptables -L -n -v
- 连通性:对关键端口(如 22/80/443)进行本机与外网侧验证(必要时临时放通源地址/IP 做灰度)。
- 启动后执行:
- 日志与监控
- firewalld:journalctl -u firewalld -f
- ufw:tail -f /var/log/ufw.log
- iptables:tail -f /var/log/syslog | grep iptables
- 建议接入 系统日志 或 集中监控,并设置关键事件告警。
四 快速排障清单
- 服务未运行或规则未生效
- 检查运行状态与自启:systemctl status firewalld/ufw 或 iptables -L -n;确认已 enable。
- 端口未放行
- firewalld:firewall-cmd --permanent --query-port=80/tcp;如未放行,添加后 –reload。
- ufw:ufw status verbose 查看是否允许对应端口/服务。
- 重启后规则丢失
- 确认已使用 持久化 工具(如 iptables-persistent、firewalld 的 –permanent 或 ufw 的 enable),并检查恢复服务是否 enabled。
- 远程连接中断
- 临时放通 22/TCP 或控制台登录,回滚最近规则变更,再按“先放行、后收紧”的顺序重做。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux防火墙服务如何启动才稳定
本文地址: https://pptw.com/jishu/749141.html
