CentOS 下 iptables 的配置与使用指南

简介
iptables 是 Linux 系统下用于实现网络防火墙功能的工具,它允许用户对进出网络的数据包进行过滤、转发和 NAT(网络地址转换),在 CentOS 系统中,iptables 是默认的防火墙解决方案,本文将详细介绍如何在 CentOS 下配置和使用 iptables。
iptables 基本概念
规则链(Chain):iptables 中的规则链是指一组规则,用于匹配数据包并决定如何处理它们,常见的规则链有 INPUT、OUTPUT 和 FORWARD。
规则(Rule):规则链中的每一个条目都是一个规则,它包含一个匹配条件和相应的动作。
动作(Action):动作是指当数据包匹配到规则时,iptables 将采取的操作,如 ACCEPT、DROP、REJECT 等。
iptables 命令基础
查看当前防火墙规则

iptables -L
清空防火墙规则
iptables -F
删除防火墙规则
iptables -D [规则链] [规则编号]
添加防火墙规则
iptables -A [规则链] -p [协议] -s [源地址] -d [目标地址] -j [动作]
iptables 实例
允许所有本机访问
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
允许 SSH 访问
iptables -A INPUT -p tcp -s 0/0 -d 192.168.1.1 --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp -s 192.168.1.1 --sport 22 -d 0/0 -j ACCEPT
阻止特定 IP 访问
iptables -A INPUT -s 192.168.1.100 -j DROP iptables -A OUTPUT -d 192.168.1.100 -j DROP
开启端口转发

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 80 -j DNAT --to-destination 192.168.1.2:80 iptables -t nat -A POSTROUTING -j MASQUERADE
iptables 保存与重启
保存防火墙规则
service iptables save
重启防火墙服务
service iptables restart
FAQs
Q1:如何查看防火墙规则是否生效? A1:可以通过查看 /etc/sysconfig/iptables 文件来确认防火墙规则是否已保存,或者使用 iptables -L 命令查看当前生效的规则。
Q2:如何临时关闭防火墙? A2:可以使用以下命令临时关闭防火墙:
service iptables stop
关闭防火墙会使得系统面临安全风险,请谨慎操作。

