centos

centos下iptables规则怎样设置

小樊
38
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

注意事项

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

0
看了该问题的人还看了