这些规则你都知道吗

在Linux系统中,防火墙是保护系统安全的核心组件,修改防火墙规则需要谨慎操作,以下详细指南涵盖主流工具(iptables、firewalld、UFW),操作前请注意:

  1. 重要备份:执行 iptables-save > /backup/iptables.rulesfirewall-cmd --runtime-to-permanent
  2. 权限要求:所有命令需 root 权限(使用 sudo
  3. 测试验证:修改后务必测试连通性

使用 iptables(传统工具,通用所有发行版)

核心概念规则链(INPUT/OUTPUT/FORWARD)

# 允许特定端口(示例:开放80端口)  
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  
# 允许IP访问(示例:允许192.168.1.10访问SSH)  
iptables -A INPUT -p tcp -s 192.168.1.10 --dport 22 -j ACCEPT  
# 拒绝所有其他入站流量(必须最后执行!)  
iptables -A INPUT -j DROP  
# 删除规则(先列出带编号规则)  
iptables -L --line-numbers  
iptables -D INPUT 3  # 删除INPUT链第3条规则  
# 保存规则(依发行版选择)  
service iptables save    # RHEL/CentOS 6  
iptables-save > /etc/iptables/rules.v4  # Debian/Ubuntu  

使用 firewalld(RHEL/CentOS/Fedora 默认)

核心概念:区域(zone)与服务(service)

# 查看活动区域  
firewall-cmd --get-active-zones  
# 开放端口(示例:永久开放443端口)  
firewall-cmd --permanent --add-port=443/tcp  
# 添加服务(示例:允许HTTP服务)  
firewall-cmd --permanent --add-service=http  
# 允许IP(示例:允许192.168.1.0/24访问DNS)  
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="dns" accept'  
# 移除规则(将 --add 替换为 --remove)  
firewall-cmd --permanent --remove-port=8080/tcp  
# 重载配置(不中断连接)  
firewall-cmd --reload  

使用 UFW(Ubuntu/Debian 简化工具)

# 启用防火墙  
ufw enable  
# 允许服务(示例:SSH与Nginx)  
ufw allow ssh  
ufw allow 'Nginx Full'  # 开放80/443  
# 允许端口范围(示例:UDP 5000-5010)  
ufw allow 5000:5010/udp  
# 拒绝IP(示例:屏蔽203.0.113.5)  
ufw deny from 203.0.113.5  
# 删除规则(先列出编号)  
ufw status numbered  
ufw delete 2  # 删除第2条规则  

关键安全建议

  1. 最小化开放:仅暴露必要端口(如Web服务器只需80/443)
  2. 默认拒绝策略:设置 ufw default denyiptables -P INPUT DROP
  3. 日志监控:添加日志规则 iptables -A INPUT -j LOG --log-prefix "IPTABLES-DENIED: "
  4. 防锁定
    • 先允许当前SSH连接:iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • 测试后再应用新规则

测试与故障排查

  • 检查端口状态nc -zv 你的IP 端口telnet 你的IP 端口
  • 查看防火墙日志
    • iptables:dmesg | grep iptables
    • firewalld:journalctl -u firewalld
  • 临时禁用(紧急恢复):
    iptables -F  # 清空规则  
    systemctl stop firewalld  # 停止firewalld  
    ufw disable  # 禁用UFW  

引用说明

  • iptables 官方文档:https://www.netfilter.org/documentation/
  • firewalld 配置指南:https://firewalld.org/documentation/
  • UFW 手册页:man ufw(或访问 https://help.ubuntu.com/community/UFW) 基于 Linux 内核 5.x+ 及主流发行版(RHEL 8+, Ubuntu 20.04+)验证,实际操作请以您的环境为准。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9974.html

(0)
酷番叔酷番叔
上一篇 2025年8月8日 08:53
下一篇 2025年8月8日 09:07

相关推荐

  • Linux下关机命令是什么?有哪些常用方式?

    在Linux系统中,正确的关机操作至关重要,直接关系到数据安全和系统寿命,直接断电可能导致文件系统损坏、进程数据丢失等问题,因此需要通过专用命令安全关闭系统,Linux提供了多种关机命令,每种命令的功能、适用场景和参数略有不同,用户可根据需求选择使用,Linux关机命令详解shutdown命令:最常用且功能全面……

    2025年9月21日
    10900
  • Linux下如何查看MySQL的版本信息?

    在Linux系统中,了解MySQL的版本信息是日常运维、问题排查、版本升级或兼容性检查的重要环节,MySQL的版本信息可以通过多种方式获取,涵盖命令行工具、系统服务、配置文件、包管理器等多个维度,本文将详细介绍这些方法,并分析其适用场景和注意事项,帮助用户在不同环境下快速准确地定位MySQL版本,使用MySQL……

    2025年8月27日
    12100
  • Linux中打开软件,命令行与图形界面操作方法有哪些?

    在Linux操作系统中,打开软件的方式因发行版、桌面环境及软件安装形式的不同而呈现多样性,无论是图形界面(GUI)还是命令行界面(CLI),Linux都提供了灵活的操作路径,用户可根据习惯和场景选择合适的方法,图形界面(GUI)打开软件对于习惯图形操作的用户,Linux桌面环境(如GNOME、KDE、XFCE等……

    2025年8月29日
    10300
  • Linux如何安全删除目录?

    核心命令与区别rm 命令功能:删除文件及非空目录(含子目录和文件),基本语法: rm -r 目录名-r(或 -R)表示递归删除目录内所有内容,强制删除(慎用): rm -rf 目录名 # -f 强制删除,不提示确认示例:删除 /home/user/docs 及其内容rm -r /home/user/docsrm……

    2025年7月15日
    12300
  • 如何安全开启Linux远程访问?

    常用远程访问方式SSH(推荐)加密命令行访问,适用于大多数Linux发行版(Ubuntu/CentOS/Debian等),VNC图形界面远程控制,适合需要桌面环境的场景,RDP(通过xrdp)兼容Windows远程桌面协议,实现图形化登录,SSH远程访问配置(以Ubuntu为例)步骤1:安装SSH服务端sudo……

    2025年7月28日
    12000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信