如何用命令进入并配置防火墙?

在Linux系统中,防火墙的管理通常依赖于不同的发行版和防火墙工具,常见的有iptables(传统工具)、firewalld(CentOS/RHEL 7+默认)以及nftables(较新版本),要使用命令进入防火墙配置模式,需根据具体工具和需求选择对应操作,以下将分场景详细说明各类防火墙的进入方式及基础配置逻辑。

用命令怎么进入防火墙
(图片来源网络,侵删)

基于iptables的防火墙进入与配置

iptables是Linux内核集成的包过滤工具,通过规则链控制数据流,进入配置模式实质是执行iptables命令进行规则管理,无需“进入”特定界面,而是直接在终端输入命令。

查看当前规则

sudo iptables -L -n -v

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

配置规则示例

  • 允许SSH连接(默认端口22)

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    -A表示添加规则到链尾,-p tcp指定协议,--dport 22目标端口,-j ACCEPT允许通过。

    用命令怎么进入防火墙
    (图片来源网络,侵删)
  • 拒绝特定IP访问

    sudo iptables -A INPUT -s 192.168.1.100 -j DROP

    -s指定源IP,-j DROP直接丢弃数据包。

保存规则(防止重启失效)

不同发行版保存方式不同:

  • CentOS 6/7:使用iptables-service服务
    sudo service iptables save  # CentOS 6
    sudo /usr/libexec/iptables/iptables.init save  # CentOS 7
  • Debian/Ubuntu:安装iptables-persistent后自动保存
    sudo apt install iptables-persistent
    sudo netfilter-persistent save

基于firewalld的防火墙进入与配置

firewalld采用区域(Zone)概念动态管理规则,支持运行时配置和永久配置分离,进入配置模式主要通过firewall-cmd命令实现。

用命令怎么进入防火墙
(图片来源网络,侵删)

检查服务状态

sudo firewall-cmd --state

若返回running,则服务已启动。

查看当前区域及默认区域

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone

动态添加规则(临时生效,重启后失效)

  • 开放HTTP服务(端口80)
    sudo firewall-cmd --add-service=http --zone=public
  • 开放自定义端口
    sudo firewall-cmd --add-port=8080/tcp --zone=public

永久保存规则

添加规则时使用--permanent参数,或单独执行以下命令:

sudo firewall-cmd --runtime-to-permanent

交互式配置(可选)

通过firewall-config图形工具(需安装)进入可视化界面:

sudo firewall-config &

基于nftables的防火墙进入与配置

nftables是iptables的替代品,语法更简洁,在Ubuntu 20.04+、CentOS 8+等新版本中默认使用。

查看当前规则集

sudo nft list ruleset

添加基础规则

  • 创建链表
    sudo nft add table inet filter
    sudo nft add chain inet filter input { type filter hook input priority 0 \; }
  • 允许SSH流量
    sudo nft add rule inet filter input tcp dport 22 ct state new,established accept

保存规则

nftables规则默认保存在/etc/nftables.conf,修改后需手动加载:

sudo nft -f /etc/nftables.conf

防火墙规则管理通用操作

操作iptables命令firewalld命令nftables命令
查看所有规则sudo iptables -Lsudo firewall-cmd --list-allsudo nft list ruleset
清空规则sudo iptables -Fsudo firewall-cmd --reloadsudo nft flush ruleset
禁用防火墙sudo systemctl stop iptablessudo systemctl stop firewalldsudo systemctl stop nftables
启用防火墙开机自启sudo systemctl enable iptablessudo systemctl enable firewalldsudo systemctl enable nftables

注意事项

  1. 规则顺序:防火墙按规则顺序匹配,一旦匹配即停止,因此规则顺序至关重要(如拒绝规则应放在最后)。
  2. 远程管理安全:修改防火墙规则时,建议先通过本地终端操作,避免因SSH端口被误封导致远程连接断开。
  3. 日志记录:通过-j LOG记录被拦截的包(如sudo iptables -A INPUT -j LOG --log-prefix "DROP: "),便于排查问题。

相关问答FAQs

Q1: 修改防火墙规则后如何立即生效?
A1: 不同工具生效方式不同:

  • iptables:临时规则立即生效,永久规则需执行sudo service iptables restart(CentOS)或sudo netfilter-persistent reload(Ubuntu)。
  • firewalld:临时规则使用sudo firewall-cmd --reload重新加载,永久规则需先添加--permanent参数再重载。
  • nftables:执行sudo nft -f /etc/nftables.conf重新加载配置文件。

Q2: 如何确认防火墙是否成功拦截了特定连接?
A2: 可通过以下方式验证:

  1. 日志检查
    • iptables:查看/var/log/messages/var/log/kern.log(需先配置-j LOG)。
    • firewalld:执行sudo journalctl -u firewalld查看服务日志。
    • nftables:使用sudo dmesg | grep nft查看内核日志。
  2. 测试连接:在客户端使用telnetnc测试目标端口,若连接失败且无防火墙放行规则,则说明拦截成功。telnet 192.168.1.10 80

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

(0)
运维的头像运维
上一篇2025-10-08 00:35
下一篇 2025-10-08 00:46

相关推荐

  • bat如何执行dos命令?

    在Windows系统中,批处理(BAT)文件是一种强大的脚本工具,能够通过命令行执行一系列操作,其中包括调用DOS命令(即Windows命令提示符下的命令),通过BAT文件执行DOS命令可以简化重复性任务、自动化系统管理流程,甚至实现复杂的逻辑判断,以下将详细介绍BAT文件执行DOS命令的方法、常见场景及注意事……

    2025-11-19
    0
  • 如何安全退出DOS命令窗口?

    退出DOS命令(更准确地说,是Windows命令提示符cmd.exe或命令行界面)是一个基础但重要的操作,尤其对于不熟悉命令行的用户而言,虽然“退出”看似简单,但根据不同的使用场景和进入DOS的方式,具体的操作方法会有所不同,下面将详细阐述各种情况下退出DOS命令行环境的方法,并辅以说明和示例,确保用户能够清晰……

    2025-11-19
    0
  • 如何快速查看本机IP的cmd命令是什么?

    在Windows操作系统中,cmd命令是用户与系统进行交互的重要工具,通过命令提示符可以执行各种系统管理任务,其中查看本机IP地址是较为常用的操作之一,本机IP地址是设备在网络中的唯一标识,分为IPv4和IPv6两种类型,了解如何通过cmd命令获取这些信息对于网络配置、故障排查等场景至关重要,通过cmd命令查看……

    2025-11-19
    0
  • Windows修改密码命令是什么?

    在Windows操作系统中,修改用户密码是一项常见的管理操作,无论是为了提升账户安全性还是因遗忘密码需要重置,掌握命令行方式都能提供更高效、灵活的解决方案,本文将详细介绍通过命令行修改Windows密码的多种方法,包括net user命令、计算机管理命令以及针对特定场景的技巧,并辅以操作说明和注意事项,帮助用户……

    2025-11-19
    0
  • 如何快速打开命令框?

    在Windows操作系统中,命令框(通常指命令提示符或PowerShell)是一个强大的工具,允许用户通过输入文本命令来执行系统管理任务、排查问题或运行程序,以下是打开命令框的多种方法,涵盖不同场景和用户需求,并附上操作步骤和注意事项,通过开始菜单搜索打开这是最直接的方法之一,适用于所有Windows版本(Wi……

    2025-11-18
    0

发表回复

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