首页主机资讯Debian防火墙配置怎样实现

Debian防火墙配置怎样实现

时间2025-11-19 13:37:05发布访客分类主机资讯浏览591
导读:Debian 防火墙配置实操指南 一 常用方案与选择 UFW(Uncomplicated Firewall):基于 iptables 的前端,语法简洁,适合桌面与通用服务器快速上手。 iptables:底层规则引擎,灵活强大,适合需要精细...

Debian 防火墙配置实操指南

一 常用方案与选择

  • UFW(Uncomplicated Firewall):基于 iptables 的前端,语法简洁,适合桌面与通用服务器快速上手。
  • iptables:底层规则引擎,灵活强大,适合需要精细控制或已有 iptables 体系的场景。
  • firewalld:动态管理防火墙,支持区域(zone)富规则(rich rules),适合复杂网络与多区域策略。
    以上三种方式均可满足日常防护需求,选择时以易用性(UFW)与可控性(iptables/firewalld)为权衡。

二 使用 UFW 快速配置

  • 安装与启用
    • 安装:sudo apt update & & sudo apt install ufw
    • 默认策略:sudo ufw default deny incomingsudo ufw default allow outgoing
    • 启用:sudo ufw enable(远程操作务必先放行 SSH,见下条)
  • 常用规则
    • 放行 SSH:sudo ufw allow ssh(或 sudo ufw allow 22/tcp,若 SSH 端口非默认请改为实际端口)
    • 放行 Web:sudo ufw allow 80/tcpsudo ufw allow 443/tcp
    • 放行端口范围:sudo ufw allow 6000:6007/tcp
    • 按来源 IP/子网放行:sudo ufw allow from 203.0.113.4sudo ufw allow from 203.0.113.0/24 to any port 22
    • 按网卡放行:sudo ufw allow in on eth0 to any port 3306
  • 管理与查看
    • 状态与规则:sudo ufw status verbose;按编号删除:sudo ufw status numberedsudo ufw delete < 编号>
    • 禁用/重置:sudo ufw disablesudo ufw reset
  • 重要提示
    • 远程启用前先放行 SSH,避免被锁;UFW 规则默认持久化,重启有效。

三 使用 iptables 配置

  • 基本策略与必要放行
    • 查看规则:sudo iptables -L -v -n
    • 默认策略:sudo iptables -P INPUT DROPsudo iptables -P FORWARD DROPsudo iptables -P OUTPUT ACCEPT
    • 放行回环与已建立连接:
      • sudo iptables -A INPUT -i lo -j ACCEPT
      • sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    • 放行 SSH:sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
  • 保存与开机加载
    • 保存:sudo iptables-save > /etc/iptables/rules.v4
    • 方式一(推荐)安装持久化包:sudo apt install iptables-persistent,安装时选择保存当前规则;后续可用 sudo systemctl restart netfilter-persistent 使变更生效。
    • 方式二 自建 systemd 服务:创建 /etc/systemd/system/iptables-restore.service,内容:
      • [Unit] Description=Restore IPTables rules;Before=network.target
      • [Service] Type=oneshot;ExecStart=/sbin/iptables-restore < /etc/iptables/rules.v4
      • [Install] WantedBy=multi-user.target
      • 启用:sudo systemctl enable --now iptables-restore.service
  • 验证:sudo iptables -L -v -n 检查规则是否生效。

四 使用 firewalld 配置

  • 安装与启动
    • 安装:sudo apt update & & sudo apt install firewalld
    • 启动与开机启用:sudo systemctl start firewalldsudo systemctl enable firewalld
  • 常用操作
    • 放行端口:sudo firewall-cmd --add-port=80/tcp --permanentsudo firewall-cmd --add-port=443/tcp --permanent
    • 放行服务:sudo firewall-cmd --add-service=ssh --permanent
    • 使配置生效:sudo firewall-cmd --reload
    • 查询与关闭:sudo firewall-cmd --query-port=8080/tcpsudo firewall-cmd --remove-port=8080/tcp --permanent & & sudo firewall-cmd --reload
  • 区域与富规则
    • 区域管理:sudo firewall-cmd --get-zonessudo firewall-cmd --set-default-zone=public
    • 富规则(仅允许指定 IP 访问 SSH):
      • sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100/32" service name="ssh" accept'
  • 持久化与回滚
    • 将运行时规则写入持久配置:sudo firewall-cmd --runtime-to-permanent
  • 提示
    • 规则变更后记得 --reload;删除规则同样需要 --permanent 并重新加载。

五 安全与排错要点

  • 远程操作务必先放行 SSH,再启用防火墙;变更前先备份规则,变更后在本地或带外控制台验证。
  • 仅开放必要端口与服务,遵循最小暴露面原则;对关键业务端口可结合来源 IP/子网做白名单。
  • 建议开启日志以便审计与故障排查(UFW 与 firewalld 均支持日志能力,生产环境可按需配置)。
  • 规则顺序与默认策略至关重要;使用 status verbose/--list-ports 等命令核对生效的规则集合。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian防火墙配置怎样实现
本文地址: https://pptw.com/jishu/751124.html
Debian远程访问如何安全设置 如何解决Debian启动问题

游客 回复需填写必要信息