温馨提示×

centos iptables如何使用链

小樊
41
2025-10-28 02:33:09
栏目: 智能运维

在 CentOS 系统中,iptables 是一个用于配置内核防火墙(netfilter)规则的命令行工具。iptables 使用表(table)、链(chain)和规则(rule)的概念来管理网络数据包的处理

  1. 表(table):iptables 有五个内置的表,分别是 filter、nat、mangle、raw 和 security。其中,filter 表是最常用的表,用于控制数据包的访问控制。

  2. 链(chain):每个表包含预定义的链,这些链对应于数据包处理的不同阶段。主要有以下几种链:

    • INPUT:处理进入本机的数据包
    • OUTPUT:处理从本机发出的数据包
    • FORWARD:处理经过本机转发的数据包
    • PREROUTING:处理目标地址转换(DNAT)的数据包
    • POSTROUTING:处理源地址转换(SNAT)的数据包
  3. 规则(rule):链中的规则用于决定如何处理匹配的数据包。每条规则都有一个匹配条件和一个目标(target),目标可以是接受(ACCEPT)、拒绝(DROP)、丢弃(REJECT)等操作。

使用 iptables 的基本步骤如下:

  1. 查看当前的 iptables 规则:
sudo iptables -L 
  1. 清空所有链的规则:
sudo iptables -F 
  1. 允许某个 IP 地址访问本机:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT 
  1. 拒绝某个 IP 地址访问本机:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP 
  1. 允许某个端口的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
  1. 保存 iptables 规则:
sudo service iptables save 
  1. 重启 iptables 服务:
sudo service iptables restart 

注意:在执行 iptables 命令时,可能需要使用 root 权限。在实际使用中,请根据实际需求调整规则。

0