首页主机资讯Debian虚拟机中如何配置防火墙

Debian虚拟机中如何配置防火墙

时间2026-01-18 22:11:04发布访客分类主机资讯浏览531
导读:Debian 虚拟机防火墙配置指南 一 选择防火墙工具与准备 在 Debian 上常用且易用的防火墙工具有 UFW(适合快速上手)与 iptables(灵活、可脚本化)。开始前先更新系统并安装所需组件: 更新索引与系统:sudo apt...

Debian 虚拟机防火墙配置指南

一 选择防火墙工具与准备

  • Debian 上常用且易用的防火墙工具有 UFW(适合快速上手)与 iptables(灵活、可脚本化)。开始前先更新系统并安装所需组件:
    • 更新索引与系统:sudo apt update & & sudo apt full-upgrade
    • 安装 UFW:sudo apt install ufw
    • 安装 iptables(通常已内置):sudo apt install iptables
  • 建议在配置前先备份现有规则,便于回滚:
    • UFW:sudo ufw status verbose > ufw-backup-$(date +%F).txt
    • iptables:sudo iptables-save > iptables-backup-$(date +%F).txt
  • 虚拟机场景请先确认网络模式(NAT/桥接/Host-Only),这会影响你从宿主机或其他网络访问虚拟机的可达性与端口映射策略。

二 使用 UFW 快速配置

  • 基本启用与常用放行:
    • 启用:sudo ufw enable
    • 允许 SSH(避免锁死远程会话):sudo ufw allow 22/tcp
    • 允许 HTTP/HTTPSsudo ufw allow 80/tcpsudo ufw allow 443/tcp
    • 查看状态:sudo ufw status verbose
  • 常用进阶用法:
    • 仅允许某来源网段:sudo ufw allow from 192.168.1.0/24 to any port 22
    • 拒绝某端口:sudo ufw deny 12345
    • 按接口限制:sudo ufw allow in on eth0 to any port 80
    • 启用日志:sudo ufw logging on
  • 如需临时放行调试端口(例如 8080),再按需关闭:sudo ufw delete allow 8080/tcp

三 使用 iptables 精细配置

  • 查看与放行示例:
    • 查看规则:sudo iptables -L -n -v
    • 放行 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
  • 状态放行与默认策略(谨慎操作,避免锁死 SSH):
    • 放行已建立连接与相关流量:sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    • 允许回环:sudo iptables -A INPUT -i lo -j ACCEPT
    • 设置默认输入策略为 DROP(请在放行必要端口后再设置):sudo iptables -P INPUT DROP
  • 持久化保存与恢复(Debian 推荐方式):
    • 安装持久化组件:sudo apt install iptables-persistent
    • 安装过程中选择“是”保存当前规则;后续可用:
      • 保存:sudo netfilter-persistent savesudo iptables-save > /etc/iptables/rules.v4
      • 恢复:sudo netfilter-persistent startsudo iptables-restore < /etc/iptables/rules.v4
  • 清空规则(等同临时“关闭”防火墙):sudo iptables -F

四 验证与常见问题

  • 连通性验证:
    • 本机查看监听端口:ss -tulpen | grep -E ‘(:22|:80|:443)’
    • 从外部扫描:nmap -p 22,80,443 < 虚拟机IP> ;若使用 NAT,请在虚拟化平台配置端口转发后再测。
  • 避免锁死 SSH 的实用做法:
    • 先放行 22/tcp 再启用防火墙;或临时在控制台操作;必要时通过虚拟化平台控制台回滚规则。
  • 规则不生效的排查:
    • UFW:sudo ufw status verbosesudo ufw reload
    • iptables:sudo iptables -L -n -v 核对顺序与策略;确认已通过 iptables-persistent 保存并在重启后恢复。
  • 需要临时关闭防火墙进行排障(不建议生产环境长期使用):
    • UFW:sudo ufw disable
    • iptables:sudo iptables -F(清空规则);恢复时按前述持久化步骤重载。

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


若转载请注明出处: Debian虚拟机中如何配置防火墙
本文地址: https://pptw.com/jishu/784841.html
Jenkins在Debian上的监控与报警设置 如何在Ubuntu上使用Jellyfin的API

游客 回复需填写必要信息