这些规则你都知道吗

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

  1. 重要备份:执行 iptables-save > /backup/iptables.rules 或 firewall-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 deny 或 iptables -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系统中R文件如何运行并获取其运行时间?

    在Linux环境下运行R语言脚本文件(通常以.R为扩展名)并测量其执行时间,是数据分析和科学计算中的常见需求,R脚本通常包含一系列R命令,用于数据处理、模型训练或可视化等任务,而运行时间测量则有助于评估代码效率、优化性能瓶颈,本文将详细介绍R脚本在Linux下的执行方法、时间测量技巧及相关注意事项,R脚本的编写……

    2025年9月9日
    23600
  • 电脑断网?可能是网卡被禁用了!

    在Linux系统中,禁用网卡是网络管理中的常见操作,常用于系统维护、安全加固或故障排查,以下是几种专业、可靠且经过验证的方法,适用于不同发行版(如Ubuntu、CentOS、Debian等),操作前请确保具备root权限(使用sudo),并谨慎执行,避免意外断开网络连接,安全防护:隔离存在风险的网络接口,资源优……

    2025年7月23日
    36000
  • Linux系统如何安装文件上传下载工具?

    Linux作为广泛使用的服务器操作系统和开发环境,文件上传下载是日常操作中的核心需求,无论是从服务器下载备份文件、上传代码到远程仓库,还是在本地与设备间传输数据,掌握Linux下的上传下载工具和方法都至关重要,本文将详细介绍Linux中常用上传下载工具的安装步骤、使用方法,以及服务器端文件传输服务的搭建,帮助用……

    2025年9月18日
    27400
  • linux如何卸载myeclipse

    在Linux系统中卸载MyEclipse需要根据不同的安装方式采取不同的操作步骤,常见的安装方式包括压缩包(tar.gz)解压安装、二进制安装包(.bin/.run)安装以及通过包管理器(如apt、yum)安装(较少见,因MyEclipse非开源软件),卸载过程需彻底删除安装目录、配置文件、环境变量及相关残留进……

    2025年8月28日
    24900
  • Linux怎样认出你的硬件?

    内核启动阶段的硬件识别BIOS/UEFI初始化计算机通电后,固件(BIOS或UEFI)首先检测基础硬件(CPU、内存、磁盘控制器),并将控制权移交Linux内核,内核硬件探测内核镜像(vmlinuz):包含基础驱动(如磁盘、USB控制器),确保系统能挂载根文件系统,initramfs(临时根文件系统):存储额外……

    2025年7月21日
    21400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信