centos

centos iptables防火墙怎样用

小樊
41
2025-06-22 06:33:13
栏目: 智能运维

在CentOS系统中,iptables是一个强大的防火墙工具,用于配置和管理网络数据包的过滤、转发和地址转换规则。以下是使用iptables的基本步骤:

安装iptables

在CentOS系统中,通常默认已经安装了iptables。如果未安装,可以使用以下命令进行安装:

sudo yum install iptables

配置iptables规则

  1. 查看当前规则
sudo iptables -L -n -v

这条命令将列出当前的iptables规则,-n选项以数字形式显示地址和端口,-v选项显示详细信息。

  1. 清空现有规则
sudo iptables -F

在执行任何新规则之前,建议清空现有的iptables规则。

  1. 设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

设置默认策略为拒绝所有进入和转发的数据包,只允许输出的数据包通过。

  1. 允许特定端口

例如,允许SSH(端口22)、HTTP(端口80)和HTTPS(端口443)的访问:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  1. 允许特定IP访问

例如,允许来自IP地址为192.168.1.100的主机访问本机的80端口:

sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
  1. 保存规则

修改iptables规则后,需要保存配置,以便在系统重启后生效:

sudo service iptables save

或者

sudo iptables-save > /etc/sysconfig/iptables
  1. 重启iptables服务

保存规则后,重启iptables服务以应用更改:

sudo systemctl restart iptables

或者

sudo service iptables restart

高级规则示例

sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP

这条命令限制80端口单个IP的最大连接数为10。

例如,将本地80端口的数据转发给192.168.1.2:8080:

sudo iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080

以上就是在CentOS系统中使用iptables的基本步骤和一些高级规则示例。请注意,修改iptables规则时要小心,错误的规则可能导致系统无法访问。建议在生产环境中使用firewalld,因为它提供了更友好的界面和动态管理功能。

0
看了该问题的人还看了