centos

centos iptables如何使用链进行过滤

小樊
56
2025-04-30 16:45:11
栏目: 智能运维

在 CentOS 系统中,iptables 是一个功能强大的防火墙工具,它允许你通过设置规则来过滤进出网络的数据包。iptables 使用链(chains)来组织这些规则。主要有三种默认链:INPUT、OUTPUT 和 FORWARD,分别对应输入、输出和转发的数据包。

以下是如何使用 iptables 链进行过滤的基本步骤:

  1. 查看当前的 iptables 规则:
sudo iptables -L
  1. 清空所有链的规则:
sudo iptables -F
  1. 允许所有本地回环接口(lo)的流量:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
  1. 允许已建立的连接和相关的数据包通过:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  1. 允许特定端口的 TCP 和 UDP 流量。例如,允许端口 80(HTTP)和 443(HTTPS)的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 443 -j ACCEPT
  1. 允许特定 IP 地址访问你的服务器。例如,允许 IP 地址 192.168.1.100 访问:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
  1. 拒绝所有其他未明确允许的输入流量:
sudo iptables -P INPUT DROP
  1. 保存 iptables 规则:
sudo service iptables save
  1. 重启 iptables 服务以应用更改:
sudo service iptables restart

注意:在执行这些命令之前,请确保你有 root 权限。根据你的需求,你可以根据上述示例修改和扩展规则。在应用新的规则之前,请务必测试它们以确保它们按预期工作。

0
看了该问题的人还看了