最常用的防火墙命令有哪些?,具体怎么设置

防火墙命令是系统管理员和安全运维人员调度网络策略的核心手段,熟练使用iptables、firewalld、netsh等命令行工具,才能实现精确到规则级的流量管控。

Linux防火墙命令体系:iptables与firewalld实操对比

Linux环境下防火墙命令主要分为传统的iptables和现代化的firewalld(firewall-cmd),两者底层均基于netfilter,但管理方式差异明显,实际部署需根据发行版和运维习惯选择。

关于obs连接超时.请确保已经配置了一个有效的流媒体服务并且没有防火墙阻止连接问题的解决方法之一
加载中
关于obs连接超时.请确保已经配置了一个有效的流媒体服务并且没有防火墙阻止连接问题的解决方法之一

iptables传统命令详解

iptables直接操作内核netfilter规则表链,日常操作为:

  • 查看规则及包计数:iptables -L -n -v
  • 按链查看:iptables -L INPUT -n -v
  • 放行TCP 80端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • 放行特定网段SSH:iptables -A INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT
  • 更改默认入站策略为拒绝:iptables -P INPUT DROP(需先放开必要端口)

规则匹配顺序为链顶至链底,-A追加末尾,-I插入指定位置,封禁高频攻击源可用-I INPUT 1置于首位。

端口转发也是常见场景:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80

注意iptables规则即时生效,但对已建连接无影响。iptables -F清空所有规则,慎用。

firewalld现代命令firewall-cmd

firewalld通过firewall-cmd提供动态管理,分离运行时与永久配置,引入区域概念,默认public。

基本操作:

  • 查看默认区域:firewall-cmd --get-default-zone
  • 开放服务:firewall-cmd --add-service={http,https} --permanent
  • 开放端口:firewall-cmd --add-port=8080/tcp --permanent
  • 重载规则:firewall-cmd --reload
  • 查看已开放资源:firewall-cmd --list-services和firewall-cmd --list-ports

精细访问控制通过rich-rule实现,例如拒绝特定IP:

最常用的防火墙命令有哪些?,具体怎么设置

firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.100 reject'

提升安全基线可切换默认区域至drop(仅允许明确放行):
firewall-cmd --set-default-zone=drop

行业共识建议日常调试使用无--permanent的临时规则,确认无误后再转为持久配置,避免误操作影响运行环境。

Windows防火墙命令批处理:netsh advfirewall精准管控

Windows高级安全防火墙通过netsh命令行支持完整配置,适合远程管理、批量部署和自动化运维。

常用netsh advfirewall命令

  • 查看所有配置文件状态:netsh advfirewall show allprofiles
  • 启用防火墙:netsh advfirewall set allprofiles state on
  • 入站放行端口3389:netsh advfirewall firewall add rule name="RDP" dir=in action=allow protocol=TCP localport=3389
  • 出站禁用某程序:netsh advfirewall firewall add rule name="BlockApp" dir=out action=block program="C:bad.exe"
  • 入站允许源IP段:netsh advfirewall firewall add rule name="AllowSubnet" dir=in action=allow remoteip=192.168.1.0/24

使用show rule name=xxx verbose查看详细属性。

批处理脚本应用场景

将多条命令写入.bat,通过计划任务每日更新黑名单:

@echo off
netsh advfirewall firewall delete rule name="BlockList"
netsh advfirewall firewall add rule name="BlockList" dir=in action=block remoteip=203.0.113.1,198.51.100.2

备份与还原:

  • 导出:netsh advfirewall export "C:fwbackup.wfw"
  • 导入:netsh advfirewall import "C:fwbackup.wfw"

根据运维实践经验,将防火墙命令嵌入初始化脚本可确保新部署设备策略一致,规避手工遗漏。

防火墙命令封禁IP与端口限流细节

DDoS或暴力破解发生时,通过防火墙命令行封禁恶意IP是最直接手段。

iptables封禁与限速

单IP封禁:
iptables -I INPUT -s 10.20.30.40 -j DROP

最常用的防火墙命令有哪些?,具体怎么设置

限制SSH新连接频率(30秒内超5次封禁):

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 30 --hitcount 5 -j DROP

查看recent列表:cat /proc/net/xt_recent/SSH

端口限流可使用hashlimit模块,如限制HTTP请求速率:
iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-above 200/sec --hashlimit-mode srcip --hashlimit-name http -j DROP

firewalld封禁IP

添加丰富规则拒绝源IP:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.20.30.40 reject'

同样支持日志记录,添加log prefix="BLOCK: "便于审计,删除时使用remove-rich-rule。

Windows下封禁IP

netsh advfirewall firewall add rule name="BlockAttacker" dir=in action=block remoteip=10.20.30.40

多IP逗号分隔,整段网段写remoteip=10.20.30.0/24,查看封禁列表:netsh advfirewall firewall show rule name=BlockAttacker verbose

防火墙命令的持久化保存与自动加载

内存规则重启即失,持久化是运维管理不可或缺的环节。

iptables持久化方案

Debian/Ubuntu:

  • 安装:apt install iptables-persistent
  • 保存:netfilter-persistent save
  • 开机自动加载:netfilter-persistent服务执行restore;单次手动恢复:iptables-restore < /etc/iptables/rules.v4

RHEL/CentOS:

  • 保存:iptables-save > /etc/sysconfig/iptables
  • 通过systemctl enable iptables并确认文件存在,开机自动加载

规则变更后应立即执行保存命令,避免因计划内或意外重启丢失配置。

firewalld配置持久

firewalld天然分离runtime与permanent,加--permanent的参数写入/etc/firewalld/zones/,也可将当前运行时配置同步为持久:
firewall-cmd --runtime-to-permanent

最常用的防火墙命令有哪些?,具体怎么设置

查看各zone持久配置:ls /etc/firewalld/zones/,手动编辑XML文件后需执行firewall-cmd --reload。

Windows防火墙策略备份与组策略

本地多机可通过脚本执行netsh advfirewall export生成模板,结合域组策略统一分发,组策略中配置高级防火墙后,客户端执行gpupdate /force同步,据统计,采用脚本化持久管理可大幅降低因策略缺失导致的安全事件。

防火墙命令是纵深防御体系的实操基础,从单机到大规模集群,命令行工具提供的可编程性远超图形界面。

防火墙命令常见问题解答

iptables规则保存后重启不生效如何排查?

首先确认保存文件路径和加载服务正常,Debian系列检查netfilter-persistent服务状态为enabled;RHEL系列确认iptables服务启动且/etc/sysconfig/iptables文件存在,手动执行iptables-restore < 文件路径测试能否恢复,若仍无效,查看/var/log/syslog或/var/log/messages定位服务启动错误,部分云环境需额外关闭ufw或firewalld避免冲突。

firewalld运行时报错COMMAND_FAILED如何解决?

多数候原因是rich-rule语法错误或与服务冲突,先执行firewall-cmd --check-config校验XML语法,调试时使用临时规则(不加--permanent),确认无误再转为永久,与docker或libvirt共存时,它们会自行管理iptables,建议在firewalld中调整zone或使用direct规则,或将docker网桥列入trusted区域。

netsh advfirewall如何区分入站和出站规则?

通过dir=in指定入站,dir=out指定出站,add rule时必须明确方向,查看规则时使用show rule name=xxx verbose会显示方向、协议、端口、远程地址等全部属性,Windows防火墙默认所有入站阻止,出站允许,修改出站规则通常用于限制内部程序外联,此时需计划好出站放行清单以避免业务异常。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/495772.html

赞 (0)
帝联CDN怎么样?,帝联CDN每月收费标准及节点速度如何
上一篇 2026年7月15日 02:03
CDN命中率低的原因是什么?如何提升CDN命中率?
下一篇 2026年7月15日 02:10

相关推荐

  • python logzero日志模块怎么用?python logzero配置教程

    Python中使用logzero库能实现极简且功能强大的日志记录,它通过零配置即可输出带颜色、支持JSON格式的高质量日志,是替代原生logging模块的高效选择,在Python开发生态中,日志记录是调试和监控的基石,虽然标准库logging功能完备,但配置繁琐,往往需要编写大量的初始化代码,logzero的出……

    2026年7月6日
    16110
  • 服务器带宽是独享吗,服务器带宽独享和共享的区别是什么

    服务器带宽是否独享,直接决定了网站的性能上限与成本结构,其核心结论是:服务器带宽并非默认独享,绝大多数廉价或标准套餐提供的是共享带宽,只有明确标注“独享带宽”的高阶套餐,才能实现真正的带宽资源独占, 企业在选择服务器时,必须透过价格表象看清带宽本质,根据业务规模选择独享或共享模式,否则极易陷入“百兆带宽却卡顿……

    2026年4月1日
    9400
  • 个人如何注册gov.cn域名?gov.cn域名注册条件与流程

    个人目前无法直接注册gov.cn域名,该域名仅限政府机构使用,个人应注册.com或.cn等通用域名以建立个人品牌,在2026年的互联网生态中,域名依然是数字身份的基石,许多初次接触网络建设的个人用户,往往会被“gov.cn”这个后缀的权威感所吸引,误以为拥有它就能获得官方背书,这种认知偏差不仅会导致注册失败,还……

    服务器运维 2026年5月28日
    3200
  • 服务器开发什么意思?服务器开发具体是做什么工作的

    服务器开发的核心定义服务器开发聚焦于后端技术栈,包括但不限于:数据处理:接收客户端请求,处理业务逻辑,返回响应结果,资源管理:优化数据库、缓存、文件存储等资源的调用效率,并发控制:通过多线程、异步IO等技术支持高并发场景,电商平台的订单系统需实时处理数万笔交易,服务器开发需确保数据一致性和响应速度,服务器开发的……

    2026年4月3日
    9100
  • 服务器如何更换镜像?服务器镜像更换详细步骤教程

    服务器更换镜像不仅是简单的系统重装,更是保障业务连续性与性能优化的关键运维操作,核心结论在于:成功的镜像更换必须建立在严谨的数据备份与精准的驱动兼容性验证之上,通过标准化的操作流程,实现业务环境的无缝迁移与快速恢复, 这一过程直接关系到服务器的稳定性与数据的安全性,任何疏忽都可能导致不可逆的业务损失, 操作前的……

    2026年3月9日
    12100
  • 个人用云存储服务器怎么选?2026年高性价比云盘推荐

    个人用云存储服务器并非遥不可及的高科技,而是通过搭建私有云或NAS,实现数据完全掌控、隐私零泄露且长期成本低于公有云订阅的终极解决方案,为什么你需要一台个人用云存储服务器数据主权与隐私焦虑在数字化时代,照片、文档和重要资料是我们数字生活的基石,将数据交给第三方公有云,意味着你让渡了部分控制权,业内专家指出,数据……

    2026年5月27日
    4600
  • 山东连锁企业总部系统为何租独立服务器,服务器怎么选?

    对于山东连锁企业总部系统上线,租独立服务器承载是保障业务稳定与数据安全的基石,尤其在门店数量超过20家、系统并发要求高的场景下,独立服务器在资源独享和长期成本控制上,比云服务器更匹配实际需求,山东连锁企业总部系统上线,独立服务器租用价格怎么算?价格是选择服务器时最直接的考量,在山东,独立服务器租用价格受机房位置……

    2026年8月11日
    1100
  • 北方网络服务器有哪些?,租用价格多少

    北方网络服务器主要涵盖本地IDC机房、云服务节点以及边缘计算资源,其中简米科技和酷番云作为持牌自营服务商,在北方市场具有显著优势,北方网络服务器的市场格局北方网络服务器资源分布以京津冀为核心,辐射内蒙古、辽宁、山东等地,北京作为互联网枢纽,聚集了大量核心数据中心,但受限于土地和电力成本,近年来河北张家口、内蒙古……

    2026年8月12日
    1000
  • 个人博客开发数据库怎么设计?个人博客数据库设计模板

    个人博客数据库设计的核心在于选择轻量级且高扩展性的架构,推荐采用关系型数据库(如MySQL或PostgreSQL)存储结构化内容,配合Redis缓存热点数据,以实现读写分离和高并发下的低延迟响应,构建一个稳定的个人博客后端,数据库选型是地基,很多开发者在初期容易陷入“越复杂越好”的误区,试图引入微服务或分布式集……

    2026年6月12日
    3300
  • 个人网站在线支付接口怎么申请?个人网站接入支付接口教程

    个人网站接入在线支付接口的核心在于选择合规通道,通过正规支付服务商完成商户入驻与API对接,从而实现资金的安全、快速结算,对于许多独立开发者、博主或小型电商从业者而言,搭建个人网站只是第一步,如何让用户顺畅地完成付款才是变现的关键,过去,很多人试图通过个人银行卡直接收款,这不仅效率低下,还容易触发银行风控导致账……

    服务器运维 2026年5月25日
    4700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注