游乐游手机版
首页/系统平台/文章详情

Linux虚拟机防火墙规则配置方法详解

时间:2026-08-21 06:10
Linux虚拟机防火墙配置实用指南一、工具选择与配置前准备常见防火墙方案:iptables(底层规则引擎)、firewalld(适用于 CentOS RHEL 7+ Fedora 的动态防火墙管理工具)、ufw(Ubuntu 常用的简化防火墙前端)。正式操作前建议务必做好以下准备:保留一条当前会话连

Linux虚拟机防火墙配置实用指南

Linux虚拟机如何配置防火墙规则

一、工具选择与配置前准备

  • 常见防火墙方案:iptables(底层规则引擎)、firewalld(适用于 CentOS/RHEL 7+/Fedora 的动态防火墙管理工具)、ufw(Ubuntu 常用的简化防火墙前端)。
  • 正式操作前建议务必做好以下准备:
    • 保留一条当前会话连接(如 SSH 登录),防止误配置防火墙规则后导致远程失联。
    • 提前备份现有规则(iptables 示例:iptables-sa ve > /root/iptables-$(date +%F).bak)。
    • 确认虚拟机网络模式(桥接/NAT)以及实际访问来源网段,避免端口开放范围过大带来安全风险。

二、不同 Linux 发行版的常用配置方法

  • firewalld(CentOS 7+/RHEL/Fedora)
    1. 启动服务并设置开机自启:sudo systemctl start firewalld && sudo systemctl enable firewalld
    2. 开放指定端口并永久生效:sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    3. 开放预定义服务:sudo firewall-cmd --zone=public --add-service=http --permanent
    4. 重新加载配置使规则生效:sudo firewall-cmd --reload
    5. 查看当前防火墙配置:sudo firewall-cmd --list-all
    6. 启用 NAT/地址伪装(适合虚拟机充当网关或路由转发场景):sudo firewall-cmd --zone=public --add-masquerade --permanent && sudo firewall-cmd --reload
  • ufw(Ubuntu/Debian 家族)
    1. 启用防火墙:sudo ufw enable
    2. 放行常用端口:sudo ufw allow 22/tcp,80/tcp,443/tcp
    3. 仅允许指定网段访问 SSH:sudo ufw allow from 192.168.1.0/24 to any port 22
    4. 查看防火墙状态与详细信息:sudo ufw status verbose
  • iptables(通用底层防火墙)
    1. 允许本地回环和已建立连接:sudo iptables -A INPUT -i lo -j ACCEPTsudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    2. 放行 SSH 端口:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    3. 放行 HTTP/HTTPS 访问:sudo iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT
    4. 设置默认拒绝所有入站连接:sudo iptables -P INPUT DROP
    5. 保存防火墙规则:
      • Debian/Ubuntu:sudo apt-get install iptables-persistent && sudo netfilter-persistent sa ve
      • CentOS/RHEL:sudo service iptables sa vesudo iptables-sa ve > /etc/sysconfig/iptables
    6. 恢复已保存规则:sudo iptables-restore < /etc/iptables/rules.v4

三、常见使用场景与命令示例

  • 场景A:仅开放 SSH 端口(适合安全加固)
    • firewalld:sudo firewall-cmd --zone=public --add-port=22/tcp --permanent && sudo firewall-cmd --reload
    • ufw:sudo ufw allow 22/tcp
    • iptables:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT && sudo iptables -P INPUT DROP(务必先放行当前管理端口,再修改默认策略,并保留现有会话)
  • 场景B:部署 Web 服务器(开放 HTTP/HTTPS)
    • firewalld:sudo firewall-cmd --zone=public --add-service=http --permanent && sudo firewall-cmd --zone=public --add-service=https --permanent && sudo firewall-cmd --reload
    • ufw:sudo ufw allow 80,443/tcp
    • iptables:sudo iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT
  • 场景C:限制 SSH 登录来源网段(白名单访问)
    • iptables:sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 22 -j DROP
  • 场景D:虚拟机作为网关/NAT 出口或端口转发节点
    • 启用 NAT:sudo firewall-cmd --zone=public --add-masquerade --permanent && sudo firewall-cmd --reload
    • 配置端口转发(示例:将宿主机访问 8080 转发到虚拟机 80 端口):sudo firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toport=80 --permanent && sudo firewall-cmd --reload

四、配置验证与故障排查方法

  • 端口连通性检测:
    • TCP 连通测试:nc -vz 80telnet 443
    • 查看本机监听端口:ss -tulpen | grep -E '(:80|:443|:22)'
  • 核对防火墙状态与规则:
    • firewalld:sudo firewall-cmd --statesudo firewall-cmd --list-all
    • ufw:sudo ufw status verbose
    • iptables:sudo iptables -L -n -v
  • 检查云平台安全组与宿主机防火墙:需要同时确认云服务器控制台和宿主机系统(例如 VMware Workstation 所在主机的防火墙)也已放行对应端口(如 22/80/443),否则即使 Linux 虚拟机内部防火墙已开放,外部依然无法正常访问。

五、安全加固与日常维护建议

  • 基本原则:只开放必要端口,默认拒绝未授权访问,遵循最小权限原则;关键规则变更建议先在测试环境验证。
  • 安全加固建议:限制 SSH 来源网段、增加连接速率限制(如 iptables -I INPUT -p tcp --dport 22 -m limit --limit 10/min -j ACCEPT)、开启日志记录并定期审计防火墙策略。
  • 规则持久化:每次防火墙配置变更后要及时保存(firewalld 使用 --permanent 并执行 reload;iptables 则使用对应发行版提供的持久化方式)。
  • 备份与回滚机制:修改前先备份防火墙规则,同时保留可快速恢复的脚本或虚拟机快照,便于故障时及时回滚。
来源:https://www.yisu.com/ask/16126487.html
上一篇Ubuntu环境下如何防范SQL注入攻击 下一篇VirtualBox设置Ubuntu虚拟机启动顺序的方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。