服务器测评网
我们一直在努力

Linux安装iptables,CentOS7下如何正确安装与启用?

Linux 系统中,iptables 是一款功能强大的防火墙工具,用于控制网络数据包的流动,保障系统安全,本文将详细介绍在 Linux 系统中安装和配置 iptables 的步骤,帮助用户快速上手这一安全工具。

Linux安装iptables,CentOS7下如何正确安装与启用?

检查系统是否已安装 iptables

在开始安装前,需确认当前系统是否已安装 iptables,以常见的 Debian/Ubuntu 和 CentOS/RHEL 系统为例,可通过以下命令检查:

  • Debian/Ubuntu 系统

    sudo iptables --version

    若显示版本信息,则表示已安装;若提示“command not found”,则需安装。

  • CentOS/RHEL 系统

    sudo iptables -V

    同样,根据返回结果判断是否需要安装。

安装 iptables

不同 Linux 发行版的包管理器不同,安装命令也有所差异:

Linux安装iptables,CentOS7下如何正确安装与启用?

Debian/Ubuntu 系统

使用 apt 包管理器安装,执行以下命令:

sudo apt update          # 更新软件包列表
sudo apt install iptables  # 安装 iptables

安装完成后,可通过 sudo iptables --version 验证是否成功。

CentOS/RHEL 系统

使用 yum 或 dnf 包管理器安装(CentOS 7 及以上版本推荐 dnf):

sudo yum install iptables  # CentOS 6/7
# 或
sudo dnf install iptables  # CentOS 8/RHEL 8

若系统使用 firewalld 作为默认防火墙(如 CentOS 7+),需先停止并禁用 firewalld,避免冲突:

sudo systemctl stop firewalld    # 停止 firewalld
sudo systemctl disable firewalld  # 禁用 firewalld 开机自启

基本配置与使用

安装完成后,需了解 iptables 的基本规则操作,包括查看、添加、删除和保存规则。

查看 iptables 规则

sudo iptables -L -n -v  # 查看所有链的规则(-n:以数字形式显示地址;-v:显示详细信息)
sudo iptables -L INPUT -n  # 仅查看 INPUT 链规则

添加基本规则

以下为常用规则示例,可根据需求调整:

Linux安装iptables,CentOS7下如何正确安装与启用?

  • 允许本地回环通信
    sudo iptables -A INPUT -i lo -j ACCEPT  # 允许环回接口所有流量
  • 允许已建立的连接
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 允许 SSH 连接(默认端口 22)
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 允许 HTTP(80)和 HTTPS(443)端口
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • 默认拒绝所有输入流量(需谨慎操作,可能导致无法连接):
    sudo iptables -P INPUT DROP  # 设置 INPUT 链默认策略为 DROP

删除规则

若需删除规则,可通过 -D 参数实现,例如删除 SSH 允许规则:

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

保存 iptables 规则

重启后,iptables 规则会失效,需手动保存:

  • Debian/Ubuntu 系统
    sudo apt install iptables-persistent  # 安装 iptables-persistent
    sudo netfilter-persistent save       # 保存规则
  • CentOS/RHEL 系统
    sudo service iptables save  # 保存规则(CentOS 6/7)
    # 或
    sudo iptables-save | sudo tee /etc/sysconfig/iptables  # CentOS 8/RHEL 8

常用 iptables 链与目标说明

iptables 通过“链”(Chain)和“目标”(Target)控制数据包流向,核心链及功能如下表所示:

链名称 功能说明 常用目标 含义
INPUT 处理进入本机的数据包 ACCEPT 允许数据包通过
FORWARD 处理经过本机但不进入本机的数据包(如路由转发) DROP 丢弃数据包
OUTPUT 处理从本机发出的数据包 REJECT 拒绝数据包并返回错误信息
PREROUTING 数据包进入路由前处理(如 DNAT 目标转换) LOG 记录日志
POSTROUTING 数据包离开路由后处理(如 SNAT 源地址转换) MASQUERADE 动态源地址转换(NAT)

注意事项

  1. 规则顺序:iptables 按顺序匹配规则,一旦匹配即执行对应动作,建议将“允许已连接”规则置于前面。
  2. 默认策略:谨慎设置默认策略为 DROP,可能导致远程管理中断,建议先测试再应用。
  3. 防火墙协同:若使用 ufw(Ubuntu)或 firewalld(CentOS),需先禁用再配置 iptables,避免冲突。

通过以上步骤,用户可完成 iptables 的安装与基础配置,结合实际需求制定安全策略,有效提升系统网络安全性。

赞(0)
未经允许不得转载:好主机测评网 » Linux安装iptables,CentOS7下如何正确安装与启用?