这些规则你都知道吗

在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系统如何查看出口IP地址?

    在Linux系统中,查看出口IP(即设备访问互联网时经过NAT转换后的公网IP)是排查网络问题、配置防火墙规则或验证代理服务的重要操作,出口IP可能是路由器、NAT网关或代理服务器的IP,而非本地设备的内网IP,以下从常用命令行工具、在线查询方法、网络配置辅助判断及场景注意事项等方面,详细说明Linux查看出口……

    2025年9月21日
    25900
  • xftp如何连接Linux虚拟机?操作步骤与配置方法详解?

    要通过XFTP连接Linux虚拟机,需确保虚拟机网络配置正确、SSH服务正常运行,并在XFTP中正确设置连接参数,以下是详细步骤和注意事项:连接前的准备工作确认Linux虚拟机网络状态XFTP通过SSH协议连接Linux虚拟机,需确保虚拟机与宿主机(Windows)处于同一局域网,且网络互通,网络模式设置:以V……

    2025年9月27日
    8400
  • linux系统如何查看盘符

    Linux 系统中,可使用df -h命令查看各盘符及其使用情况,简洁

    2025年8月18日
    8000
  • Linux系统中如何查看环境变量的具体配置?

    在Linux系统中,环境变量是用于存储系统配置、用户信息以及程序运行所需参数的特殊变量,它们以“键=值”的形式存在,影响当前shell及其子进程的行为,查看环境变量是系统管理、调试程序和配置开发环境的基础操作,Linux提供了多种命令和方法来实现这一需求,下面将详细介绍常用方法及其应用场景,使用printenv……

    2025年9月27日
    6500
  • Linux如何查看系统缓存文件大小?

    在Linux系统中,缓存是提升系统性能的关键机制,通过缓存频繁访问的文件数据和元数据,减少磁盘I/O操作,加快程序响应速度,了解缓存文件大小的分布和占用情况,对于系统性能调优、故障排查和存储管理都具有重要意义,本文将详细介绍Linux系统中查看缓存文件大小的多种方法,涵盖系统级内存缓存、文件系统缓存及用户级应用……

    2025年9月17日
    9200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信