温馨提示×

如何使用CentOS iptables限制网络访问

小樊
41
2025-11-17 17:27:29
栏目: 智能运维

在CentOS系统中,iptables是一个强大的命令行工具,用于配置Linux内核防火墙。以下是如何使用iptables来限制网络访问的步骤:

1. 查看当前的iptables规则

首先,你可以查看当前的iptables规则,以了解现有的配置:

sudo iptables -L -n -v

2. 允许必要的端口和服务

确保允许必要的端口和服务。例如,如果你想允许SSH访问(默认端口22),可以使用以下命令:

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

3. 限制特定IP地址的访问

如果你想限制特定IP地址的访问,可以使用以下命令:

# 允许特定IP地址访问
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

# 拒绝所有其他IP地址访问
sudo iptables -A INPUT -j DROP

4. 限制特定端口的访问

如果你想限制特定端口的访问,可以使用以下命令:

# 允许特定端口(例如80端口)的访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 拒绝所有其他端口的访问
sudo iptables -A INPUT -p tcp --dport 1:65535 -j DROP

5. 保存iptables规则

在CentOS 7及以上版本中,iptables规则默认不会持久化。你可以使用firewalld来持久化规则,或者手动保存规则。

使用firewalld持久化规则

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

手动保存iptables规则

你可以将当前的iptables规则保存到一个文件中,并在系统启动时加载这些规则。

# 保存规则到文件
sudo iptables-save > /etc/sysconfig/iptables

# 在系统启动时加载规则
sudo systemctl enable iptables
sudo systemctl start iptables

6. 删除或修改规则

如果你需要删除或修改现有的规则,可以使用以下命令:

删除规则

# 删除特定规则
sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT

修改规则

# 修改特定规则
sudo iptables -R INPUT 1 -s 192.168.1.100 -j DROP

注意事项

  1. 备份现有规则:在进行任何更改之前,建议备份现有的iptables规则。

    sudo iptables-save > /etc/sysconfig/iptables.bak
    
  2. 测试规则:在生产环境中应用新规则之前,建议在测试环境中进行测试。

  3. 使用firewalld:对于大多数现代CentOS系统,推荐使用firewalld来管理防火墙规则,因为它提供了更友好的界面和更好的持久化支持。

通过以上步骤,你可以使用iptables在CentOS系统中有效地限制网络访问。

0