在CentOS系统中,使用iptables
命令可以设置和管理防火墙规则。以下是一些基本的步骤和示例,帮助你设置iptables
规则:
首先,你可以查看当前的iptables规则,以确保没有冲突的规则存在。
sudo iptables -L -n -v
如果你想允许特定的IP地址访问你的服务器,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条规则允许IP地址为192.168.1.100的设备访问你的服务器。
如果你想允许特定的端口(例如SSH端口22)访问你的服务器,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
这条规则允许TCP协议的22端口访问你的服务器。
如果你想拒绝所有其他IP地址的访问,可以使用以下命令:
sudo iptables -A INPUT -j DROP
这条规则会拒绝所有进入的连接请求。
为了确保已建立的连接可以继续通信,可以使用以下命令:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
在CentOS 7及更高版本中,iptables
规则默认不会持久化保存。你可以使用firewalld
服务来管理防火墙规则,或者手动保存规则。
firewalld
服务sudo systemctl start firewalld
sudo systemctl enable firewalld
你可以将当前的iptables规则保存到一个文件中,以便在系统重启后重新加载。
sudo iptables-save > /etc/sysconfig/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
firewalld
服务来管理防火墙规则,因为它提供了更灵活和易于管理的界面。通过以上步骤,你应该能够在CentOS系统上设置和管理基本的iptables规则。