温馨提示×

如何在FetchLinux中配置防火墙

小樊
47
2025-11-22 22:28:41
栏目: 智能运维

FetchLinux 防火墙配置指南

一、识别系统与防火墙工具

  • 确认系统版本与默认防火墙:
    • 查看系统信息:cat /etc/os-release
    • 查看 firewalld 状态:sudo firewall-cmd --state(返回 running/not running
    • 查看 iptables 服务:sudo systemctl status iptables
  • 常见对应关系:
    • RHEL/CentOS/Fedora 系列默认使用 firewalld
    • Ubuntu/Debian 系列常用 ufw(若未安装,可用 sudo apt install ufw
    • 老版本或极简系统可能使用 iptables 脚本或服务
  • 原则:同一台机器只保留一种防火墙管理工具,避免规则冲突。

二、使用 firewalld 的配置步骤(RHEL/CentOS/Fedora)

  • 安装与启停:
    • 安装:sudo yum install firewalld(或 sudo dnf install firewalld
    • 启动/开机自启:sudo systemctl start firewalld && sudo systemctl enable firewalld
    • 停止/禁用:sudo systemctl stop firewalld && sudo systemctl disable firewalld
  • 常用规则(均在修改后执行 sudo firewall-cmd --reload 使永久规则生效):
    • 开放端口:sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
    • 开放服务:sudo firewall-cmd --permanent --zone=public --add-service=http
    • 放行网段:sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.0/24
    • 封禁 IP:sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.5" reject'
    • 查询与验证:
      • 当前区域规则:sudo firewall-cmd --list-all
      • 端口是否放行:sudo firewall-cmd --query-port=80/tcp
  • 提示:使用 –permanent 参数保存规则,变更后用 –reload 重载而非重启服务,减少中断。

三、使用 ufw 的配置步骤(Ubuntu/Debian)

  • 启用与默认策略:
    • 启用:sudo ufw enable
    • 默认拒绝入站:sudo ufw default deny
  • 常用规则:
    • 允许端口:sudo ufw allow 22/tcpsudo ufw allow 80,443/tcp
    • 允许网段:sudo ufw allow from 192.168.1.0/24
    • 封禁 IP:sudo ufw deny from 10.0.0.5
    • 查看与删除:
      • 查看:sudo ufw status numbered
      • 删除:sudo ufw delete <编号>
  • 提示:启用前确保已放行 SSH(22/TCP),避免被锁死远程连接。

四、使用 iptables 的配置步骤(通用或老系统)

  • 基本用法(示例为放行 SSH 与 HTTP/HTTPS):
    • 放行已建立连接与回环:sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    • 放行回环:sudo iptables -A INPUT -i lo -j ACCEPT
    • 放行端口:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • 放行端口区间:sudo iptables -A INPUT -p tcp --dport 80:443 -j ACCEPT
    • 默认策略(谨慎):sudo iptables -P INPUT DROPsudo iptables -P FORWARD DROP
  • 维护与持久化:
    • 查看:sudo iptables -L -n -v
    • 删除规则:sudo iptables -D INPUT <规则编号> 或按匹配条件删除
    • 清空规则:sudo iptables -F
    • 持久化(视发行版而定):如 sudo service iptables save 或使用 iptables-save/iptables-restore 备份与恢复
  • 提示:远程操作务必先放行 22/TCP,避免断开后无法恢复。

五、安全加固与排错要点

  • 最小暴露面:仅开放必需端口(如 22/SSH、80/HTTP、443/HTTPS),数据库、管理接口等仅对受控网段开放。
  • 限制来源:对敏感端口使用源地址限制(如仅内网或跳板机网段可访问)。
  • 变更可回滚:修改前导出当前规则(如 iptables-save > backup.rules),变更失败可快速恢复。
  • 避免冲突:确认只启用一种防火墙工具;若从 iptables 切换到 firewalld,先停用并清理旧规则。
  • 远程维护:优先使用 screen/tmux 执行规则变更,或先放行 SSH 再调整其他规则,降低失联风险。

0