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

防火墙命令是系统管理员和安全运维人员调度网络策略的核心手段,熟练使用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-servicesfirewall-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://test.idctop.com/article/495772.html

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

相关推荐

  • 服务器控件有哪些?ASP.NET常用服务器控件大全

    服务器控件是构建动态网页应用程序的核心组件,其本质是在服务器端执行逻辑并生成标准HTML标记返回给客户端浏览器,服务器控件的核心价值在于将复杂的HTML渲染逻辑封装成可复用的编程对象,极大提升了开发效率与代码的可维护性, 相比于原生HTML标签,服务器控件具备面向对象特性,支持属性设置、事件响应与状态管理,是企……

    2026年3月12日
    12700
  • 个人网站真的可以收费吗?个人网站怎么开通付费功能

    个人网站完全可以收费,但前提是提供独特的价值、专业的服务或稀缺的资源,而非单纯依靠流量变现,在2026年的互联网环境下,单纯靠广告联盟(AdSense等)赚取微薄差价的“搬运工”模式已难以为继,百度SEO的逻辑已经从单纯的关键词匹配,转向对用户意图的深度理解和服务质量的综合评估,个人网站要想通过收费实现商业闭环……

    2026年5月26日
    5900
  • 个人名义注册域名能备案吗?域名备案需要哪些资料

    个人名义注册域名是可以进行ICP备案的,但必须确保域名持有者信息与备案主体身份证信息完全一致,且需选择支持个人备案的国内服务器提供商,在2026年的互联网生态中,域名备案依然是国内网站上线的必经门槛,许多新手站长在注册完心仪的域名后,往往会在“个人能否备案”这个问题上产生犹豫,政策层面从未禁止个人备案,限制主要……

    服务器运维 2026年6月11日
    5200
  • 实现FTP服务器的创建需要哪些步骤,怎么搭建?

    实现FTP服务器的创建,核心在于五个步骤:明确需求、选择软件、部署配置、设置安全、测试公网访问,这不仅是技术操作,更是一场关于稳定与安全的持久战,准备工作:环境评估与模式选择在动手搭建前,我们需要先搞清楚两个基础问题,这决定了后续所有配置的走向,FTP的两种工作模式FTP分为主动模式(PORT)和被动模式(PA……

    服务器运维 2026年8月9日
    600
  • win7共享要打开哪些服务器,怎么设置?

    Win7共享依赖哪些服务Windows 7的共享功能本质上是依赖一组后台服务协同工作的,任何一个服务停用,共享就会失效,你可以在“运行”框输入services.msc打开服务管理器,逐个检查以下项目,Server服务:共享的“看门人”Server服务负责响应网络上其他电脑的共享请求,通俗说就是“对外开门”,如果……

    2026年8月11日
    1000
  • DCS服务器需要做哪些基本测试?,测试项目有哪些?

    DCS服务器上线前必须完成硬件健康、通信冗余、性能压测、环境适应性与安全基线五大类测试,任何一项缺失都可能在工业现场引发数据中断或误操作风险,DCS服务器测试的核心目的与适用场景DCS(分散控制系统)服务器是流程工业的“神经中枢”,承担着过程数据采集、逻辑运算、画面监控和指令输出等关键任务,与普通商用服务器不同……

    2026年8月23日
    100
  • 个人信息安全大数据泄露怎么办?如何保护个人隐私数据

    个人信息安全大数据的核心在于通过实时监测与智能预警,将原本分散的数据泄露风险转化为可视化的防御体系,从而在源头阻断身份盗用和隐私侵犯,个人信息泄露的隐形战场与大数据防御逻辑我们每天上网时,仿佛都在裸奔,点击一个广告、注册一个小众论坛、甚至只是路过某个WiFi热点,你的位置、设备指纹、甚至消费习惯都可能被悄悄记录……

    2026年6月15日
    2400
  • 服务器怎么更改系统版本?服务器系统版本更换步骤详解

    更改服务器系统版本的核心在于“数据无价,备份先行;驱动兼容,稳字当头”,最安全、最专业的方案并非直接原地升级,而是通过重装系统并迁移数据,或利用系统自带的版本升级工具进行平滑过渡,具体选择取决于业务对连续性的要求, 无论采用何种方式,完整的备份与兼容性测试是整个流程中不可逾越的红线, 前期准备:风险控制与数据保……

    2026年3月16日
    11500
  • Python keysym是什么?,怎么用

    Python keysym是tkinter中处理键盘事件的唯一键符号标识,与keycode不同,它直接返回按键字符或名称,是GUI键盘交互的核心,python keysym 怎么用:基础概念与实操什么是keysymKeysym来自X11协议,在Python的tkinter模块里,它描述了一个键的“符号”含义,比……

    2026年7月15日
    1000
  • 一台服务器需要哪些

    一台服务器需要的不是单一硬件,而是由处理器、内存、存储、网络、操作系统、安全防护、物理环境及运维管理构成的完整体系,具体配置需根据业务场景和预算综合决定,硬件选型:性能的基石处理器:计算的核心CPU决定服务器能处理的任务类型和并发量,多数情况下,高并发Web服务需要多核心高主频,而数据计算则更看重核心数,目前主……

    2026年8月24日
    100

发表回复

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