centos 7.5 iptables

CentOS 7.5 下的 iptables 配置与管理

在 CentOS 7.5 系统中,iptables 是一款强大的防火墙工具,用于控制网络流量,尽管 CentOS 7.5 默认使用 firewalld 作为防火墙管理工具,但 iptables 仍然被广泛使用,尤其是在需要精细规则配置的场景下,本文将介绍 iptables 的基本概念、常用命令、规则管理以及注意事项,帮助用户高效配置系统安全策略。

centos 7.5 iptables

iptables 基础概念

iptables 是基于 Linux 内核的 netfilter 框架实现的包过滤工具,它通过规则链(Chain)和规则(Rule)来管理数据包的流向,在 iptables 中,默认包含三种规则链:

  • INPUT:处理进入本机的数据包。
  • OUTPUT:处理从本机发出的数据包。
  • FORWARD:处理经过本机但不进入本机的数据包(常用于路由器场景)。

用户还可以自定义链,以满足复杂需求,规则链中的每条规则都定义了匹配条件和处理动作(如 ACCEPT、DROP、REJECT 等)。

检查 iptables 状态

在 CentOS 7.5 中,首先需要确认 iptables 服务是否运行,可以通过以下命令查看:

systemctl status iptables  

如果服务未启用,可以使用以下命令启动并设置开机自启:

systemctl start iptables  
systemctl enable iptables  

查看当前 iptables 规则则使用:

iptables -L -n -v  

-L 表示列出规则,-n 以数字形式显示地址和端口,-v 显示详细信息。

基本规则配置

允许特定端口访问

允许 HTTP(80 端口)和 HTTPS(443 端口)的访问:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  
iptables -A INPUT -p tcp --dport 443 -j ACCEPT  

禁用所有入站流量并允许回环

为了安全性,建议默认拒绝所有入站流量,然后明确允许必要的连接:

centos 7.5 iptables

iptables -P INPUT DROP  
iptables -A INPUT -i lo -j ACCEPT  

防止 IP 欺骗

添加以下规则可以防止源地址伪造:

iptables -A INPUT -s 127.0.0.0/8 -j DROP  
iptables -A INPUT -s 224.0.0.0/4 -j DROP  
iptables -A INPUT -s 240.0.0.0/5 -j DROP  

保存与持久化规则

在 CentOS 7.5 中,iptables 规则默认不会在重启后自动保存,可以使用以下命令保存当前规则:

service iptables save  

此命令会将规则保存到 /etc/sysconfig/iptables 文件中,如果需要手动编辑规则文件,可以直接修改该文件,然后重启 iptables 服务:

systemctl restart iptables  

高级规则管理

端口转发

如果需要将本地 8080 端口的流量转发到 80 端口,可以使用以下命令:

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80  

限制连接频率

防止暴力破解,限制每分钟最多 5 次 SSH 连接尝试:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set  
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 5 -j DROP  

注意事项

  1. 规则顺序:iptables 按顺序匹配规则,一旦匹配即停止,因此重要规则应放在前面。
  2. 默认策略:谨慎设置默认策略(DROP 或 ACCEPT),避免意外阻断必要流量。
  3. 备份规则:修改规则前建议备份,以便出错时快速恢复:
iptables-save > /root/iptables_backup  

FAQs

如何在 CentOS 7.5 中禁用 firewalld 并使用 iptables?

首先停止并禁用 firewalld:

systemctl stop firewalld  
systemctl disable firewalld  

然后安装 iptables 服务:

centos 7.5 iptables

yum install iptables-services -y  

启动并启用 iptables:

systemctl start iptables  
systemctl enable iptables  

iptables 规则误删后如何恢复?

如果未手动保存规则,可以通过以下方式恢复:

iptables-restore < /root/iptables_backup  

如果没有备份,可以尝试重启 iptables 服务(如果规则已保存到文件):

systemctl restart iptables  

若规则未保存,可能需要重新配置,建议定期备份规则文件以避免数据丢失。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2026-01-06 09:39
下一篇 2026-01-06 09:48

相关推荐

  • 服务器路由表配置实例_国内云手机服务器导流海外

    针对国内云手机服务器导流至海外的需求,我们通过配置服务器路由表实现。首先确定目标海外服务器的IP地址及所需端口,然后在云手机服务器上添加路由规则,确保数据包能够正确转发至海外服务器。注意监控网络流量,确保连接稳定且延迟低。

    2024-07-23
    009
  • CentOS Linux安装时,这些步骤你都做对了吗?

    CentOS Linux安装前的准备工作在开始安装CentOS Linux之前,充分的准备工作可以确保安装过程顺利无误,需要确认硬件兼容性,CentOS支持大多数主流硬件,但建议访问CentOS官方硬件兼容性列表,确认CPU、主板、存储设备等是否在支持范围内,准备安装介质,CentOS提供了ISO镜像文件,可通……

    2026-01-03
    006
  • centos6 named服务启动失败如何排查解决?

    在许多企业的遗留环境中,CentOS 6 依然扮演着重要的角色,尽管其生命周期(EOL)早已结束,但在某些特定场景下,我们仍需在其上部署关键服务,其中就包括核心的网络服务——DNS(域名系统),BIND(Berkeley Internet Name Domain)作为互联网上最广泛使用的DNS软件,其守护进程名……

    2025-10-02
    006
  • CentOS各版本内核版本号有何不同?

    在Linux操作系统的生态系统中,内核扮演着至关重要的角色,它是硬件与软件之间的桥梁,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定了系统的性能、稳定性和安全性,对于企业级应用而言,选择一个稳定且可预测的内核版本至关重要,CentOS作为Red Hat Enterprise Linux(RHEL……

    2025-10-03
    002

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信