温馨提示×

centos下iptables规则怎样设置

小樊
54
2025-03-15 10:33:59
栏目: 智能运维

在CentOS系统中,使用iptables命令可以设置和管理防火墙规则。以下是一些基本的步骤和示例,帮助你设置iptables规则:

1. 查看当前的iptables规则

首先,你可以查看当前的iptables规则,以确保没有冲突的规则存在。

sudo iptables -L -n -v 

2. 允许特定IP地址访问

如果你想允许特定的IP地址访问你的服务器,可以使用以下命令:

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT 

这条规则允许IP地址为192.168.1.100的设备访问你的服务器。

3. 允许特定端口访问

如果你想允许特定的端口(例如SSH端口22)访问你的服务器,可以使用以下命令:

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

这条规则允许TCP协议的22端口访问你的服务器。

4. 拒绝所有其他IP地址的访问

如果你想拒绝所有其他IP地址的访问,可以使用以下命令:

sudo iptables -A INPUT -j DROP 

这条规则会拒绝所有进入的连接请求。

5. 允许已建立的连接

为了确保已建立的连接可以继续通信,可以使用以下命令:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

6. 保存iptables规则

在CentOS 7及更高版本中,iptables规则默认不会持久化保存。你可以使用firewalld服务来管理防火墙规则,或者手动保存规则。

使用firewalld服务

sudo systemctl start firewalld sudo systemctl enable firewalld 

手动保存iptables规则

你可以将当前的iptables规则保存到一个文件中,以便在系统重启后重新加载。

sudo iptables-save > /etc/sysconfig/iptables 

7. 重新加载iptables规则

如果你手动保存了iptables规则,可以在系统启动时自动加载这些规则,或者在当前会话中重新加载。

sudo iptables-restore < /etc/sysconfig/iptables 

示例:设置一个简单的防火墙规则

以下是一个简单的示例,允许SSH访问并拒绝所有其他连接:

# 允许已建立的连接 sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许SSH访问 sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 拒绝所有其他连接 sudo iptables -A INPUT -j DROP 

注意事项

  • 修改iptables规则时要小心,错误的规则可能导致服务器无法访问。
  • 在生产环境中,建议使用firewalld服务来管理防火墙规则,因为它提供了更灵活和易于管理的界面。

通过以上步骤,你应该能够在CentOS系统上设置和管理基本的iptables规则。

0