Debian防火墙配置怎样实现
导读: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 incoming;sudo ufw default allow outgoing - 启用:
sudo ufw enable(远程操作务必先放行 SSH,见下条)
- 安装:
- 常用规则
- 放行 SSH:
sudo ufw allow ssh(或sudo ufw allow 22/tcp,若 SSH 端口非默认请改为实际端口) - 放行 Web:
sudo ufw allow 80/tcp;sudo ufw allow 443/tcp - 放行端口范围:
sudo ufw allow 6000:6007/tcp - 按来源 IP/子网放行:
sudo ufw allow from 203.0.113.4;sudo ufw allow from 203.0.113.0/24 to any port 22 - 按网卡放行:
sudo ufw allow in on eth0 to any port 3306
- 放行 SSH:
- 管理与查看
- 状态与规则:
sudo ufw status verbose;按编号删除:sudo ufw status numbered后sudo ufw delete < 编号> - 禁用/重置:
sudo ufw disable;sudo ufw reset
- 状态与规则:
- 重要提示
- 远程启用前先放行 SSH,避免被锁;UFW 规则默认持久化,重启有效。
三 使用 iptables 配置
- 基本策略与必要放行
- 查看规则:
sudo iptables -L -v -n - 默认策略:
sudo iptables -P INPUT DROP;sudo iptables -P FORWARD DROP;sudo iptables -P OUTPUT ACCEPT - 放行回环与已建立连接:
sudo iptables -A INPUT -i lo -j ACCEPTsudo 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 firewalld;sudo systemctl enable firewalld
- 安装:
- 常用操作
- 放行端口:
sudo firewall-cmd --add-port=80/tcp --permanent;sudo firewall-cmd --add-port=443/tcp --permanent - 放行服务:
sudo firewall-cmd --add-service=ssh --permanent - 使配置生效:
sudo firewall-cmd --reload - 查询与关闭:
sudo firewall-cmd --query-port=8080/tcp;sudo firewall-cmd --remove-port=8080/tcp --permanent & & sudo firewall-cmd --reload
- 放行端口:
- 区域与富规则
- 区域管理:
sudo firewall-cmd --get-zones;sudo 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
