防火墙基本命令有哪些?

防火墙是网络安全体系中的重要组成部分,主要用于监控和控制进出网络的数据流,依据预设的安全规则决定是否允许数据包通过,在不同操作系统中,防火墙的实现方式和管理命令有所不同,以下将以Linux系统中的iptablesfirewalld为例,详细介绍防火墙的基本命令及其使用方法,同时涵盖Windows系统防火墙的基础操作,帮助用户全面掌握防火墙的配置与管理。

防火墙基本命令
(图片来源网络,侵删)

Linux系统防火墙基本命令

iptables命令(基于Netfilter框架)

iptables是Linux内核中经典的防火墙工具,通过表(table)和链(chain)来管理规则,默认包含filter、nat和mangle三个表,其中filter表最常用,用于过滤数据包。

  1. 查看规则

    • 查看filter表中所有规则(默认):
      sudo iptables -L -n -v

      参数说明:-L列出规则,-n以数字形式显示地址和端口(避免DNS解析),-v显示详细信息(如数据包数量、字节数)。

    • 查看指定链的规则(如INPUT链):
      sudo iptables -L INPUT -n
  2. 添加规则

    防火墙基本命令
    (图片来源网络,侵删)
    • 允许特定IP访问(如192.168.1.100):
      sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

      参数说明:-A在链末尾添加规则,-s指定源IP,-j采取的动作(ACCEPT允许、DROP丢弃、REJECT拒绝并返回错误信息)。

    • 允许访问特定端口(如80端口):
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

      -p指定协议(tcp/udp/icmp),--dport指定目标端口。

  3. 删除规则

    • 删除最后一条规则:
      sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT

      -D删除规则,需与添加规则时的参数完全一致。

      防火墙基本命令
      (图片来源网络,侵删)
    • 通过规则编号删除(先查看规则编号):
      sudo iptables --line-numbers -L INPUT
      sudo iptables -D INPUT 3  # 删除INPUT链的第3条规则
  4. 修改默认策略
    默认策略为ACCEPT(允许所有),修改为DROP(禁止所有)需谨慎:

    sudo iptables -P INPUT DROP  # 修改INPUT链默认策略为DROP
  5. 保存规则
    不同Linux发行版保存方式不同:

    • Ubuntu/Debian:sudo iptables-save > /etc/iptables/rules.v4
    • CentOS/RHEL:sudo service iptables save

firewalld命令(CentOS 7+/RHEL 7+默认防火墙)

firewalld采用区域(zone)概念,根据网络连接信任程度将流量划分到不同区域(如public、trusted、home),每个区域有独立的规则集。

  1. 启动与启用服务

    sudo systemctl start firewalld  # 启动服务
    sudo systemctl enable firewalld # 开机自启
  2. 查看区域与规则

    • 查看当前活跃区域:
      sudo firewall-cmd --get-active-zones
    • 查看指定区域的规则(如public区域):
      sudo firewall-cmd --zone=public --list-all
  3. 添加规则

    • 允许端口(如添加8080端口到public区域):
      sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

      --permanent表示永久生效(需重启服务或重新加载),不加则临时生效。

    • 允许特定IP(如192.168.1.50访问):
      sudo firewall-cmd --zone=public --add-source=192.168.1.50 --permanent
  4. 重新加载与删除规则

    • 重新加载规则使永久配置生效:
      sudo firewall-cmd --reload
    • 删除规则(如删除8080端口):
      sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
  5. 端口转发与MASQUERADE(NAT)

    • 启用IP转发:
      sudo sysctl -w net.ipv4.ip_forward=1
    • 设置MASQUERADE(适用于内网共享外网IP):
      sudo firewall-cmd --zone=public --add-masquerade --permanent

Windows系统防火墙基本命令

Windows防火墙可通过命令行工具netsh进行管理,适用于批量操作或脚本自动化。

  1. 启用/禁用防火墙

    • 启用防火墙(所有配置文件):
      netsh advfirewall set allprofiles state on
    • 禁用防火墙:
      netsh advfirewall set allprofiles state off
  2. 添加入站规则
    允许特定程序(如C:\Program Files\app.exe):

    netsh advfirewall firewall add rule name="Allow MyApp" dir=in action=allow program="C:\Program Files\app.exe"

    允许特定端口(如TCP 3389):

    netsh advfirewall firewall add rule name="Allow RDP" dir=in action=allow protocol=TCP localport=3389
  3. 删除规则
    按规则名称删除:

    netsh advfirewall firewall delete rule name="Allow MyApp"

防火墙规则管理表格(Linux firewalld示例)

操作命令示例说明
添加端口规则sudo firewall-cmd --zone=public --add-port=80/tcp --permanent永久开放80端口
查看规则sudo firewall-cmd --zone=public --list-ports列出public区域已开放端口
删除端口规则sudo firewall-cmd --zone=public --remove-port=443/tcp --permanent永久关闭443端口
添加服务规则sudo firewall-cmd --zone=public --add-service=http --permanent开放http服务(对应80端口)
查看已开放服务sudo firewall-cmd --zone=public --list-services列出public区域已开放服务

相关问答FAQs

Q1: 防火墙规则添加后不生效怎么办?
A1: 首先检查规则是否添加到正确的链或区域(如iptables需确认添加到INPUT链,firewalld需确认区域匹配),对于iptables,确保规则顺序正确(按从上到下匹配);对于firewalld,添加--permanent规则后需执行--reload重新加载,检查默认策略是否为DROP,若为DROP需明确允许相关流量,同时排查网络接口是否正确绑定规则。

Q2: 如何允许防火墙阻止的特定程序联网?
A2: 以Linux firewalld为例,可通过添加服务规则或程序路径实现:

  • 若程序属于已知服务(如SSH、HTTP),直接开放对应服务:
    sudo firewall-cmd --zone=public --add-service=ssh --permanent
  • 若为自定义程序,需开放其使用的端口(如程序使用12345端口):
    sudo firewall-cmd --zone=public --add-port=12345/tcp --permanent

    对于Windows系统,使用netsh添加程序规则(见上文),或在防火墙控制面板中“允许应用通过防火墙”手动添加程序路径,注意:开放端口或程序时需遵循最小权限原则,避免过度开放导致安全风险。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/358132.html<

(0)
运维的头像运维
上一篇2025-09-22 03:49
下一篇 2025-09-22 03:55

相关推荐

  • 如何实现微小店积分功能?

    要实现微小店积分体系的搭建与运营,需从积分规则设计、技术实现、场景应用、用户激励及数据分析五个核心环节系统推进,确保积分体系既能提升用户粘性,又能促进店铺转化,以下为具体实施步骤及细节:明确积分体系目标与用户定位在设计积分体系前,需先明确核心目标:是提升复购率、活跃用户,还是促进拉新?不同目标对应积分规则差异……

    2025-11-18
    0
  • Linux端口映射命令有哪些?

    Linux 端口映射是网络管理中常见的技术,主要用于将外部网络的请求转发到内部网络的特定服务,或者实现不同服务器之间的端口访问控制,在 Linux 系统中,端口映射可以通过多种方式实现,包括使用 iptables、firewalld、socat 等工具,每种工具适用于不同的场景和系统环境,以下将详细介绍这些命令……

    2025-11-12
    0
  • RedHat防火墙命令有哪些?如何永久关闭?

    在Red Hat Enterprise Linux(RHEL)系统中,防火墙是保障系统安全的重要组件,它通过控制网络流量进出系统来防止未授权访问,在某些特定场景下,如系统配置、网络调试或临时启用服务时,可能需要临时或永久关闭防火墙,以下是关于Red Hat系统中关闭防火墙的详细命令说明及注意事项,不同版本的RH……

    2025-11-08
    0
  • 华为交换机ACL命令怎么用?

    华为交换机ACL(访问控制列表)是网络安全管理的重要工具,通过配置ACL规则可以精确控制数据流的转发行为,实现网络访问限制、流量过滤和安全策略部署,以下是华为交换机ACL命令的详细配置方法及注意事项,涵盖基础概念、命令步骤、常见场景及示例,ACL基础概念华为交换机ACL主要分为标准ACL(基本ACL)和扩展AC……

    2025-11-07
    0
  • CentOS7如何永久关闭防火墙?

    在CentOS 7操作系统中,防火墙(Firewalld)是默认启用的安全工具,用于管理网络流量和系统访问权限,在某些场景下,如开发测试环境、临时网络配置或特定服务需求下,可能需要临时或永久关闭防火墙,以下是关于CentOS 7关闭防火墙的详细操作指南,包括命令使用、注意事项及常见问题解答,CentOS 7防火……

    2025-10-30
    0

发表回复

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