在CentOS从零开始设置防火墙,可以按照以下步骤进行:
CentOS默认使用firewalld作为防火墙管理工具。你可以通过以下命令安装它:
sudo yum install firewalld
安装完成后,启动firewalld服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
你可以使用以下命令查看防火墙的状态:
sudo firewall-cmd --state
例如,允许TCP端口80(HTTP)和443(HTTPS):
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
例如,允许IP地址为192.168.1.100的设备访问:
sudo firewall-cmd --permanent --zone=public --add-source=192.168.1.100
例如,允许SSH服务:
sudo firewall-cmd --permanent --zone=public --add-service=ssh
每次修改防火墙规则后,都需要重新加载配置:
sudo firewall-cmd --reload
你可以使用以下命令查看当前的防火墙规则:
sudo firewall-cmd --list-all
如果你需要停止或禁用防火墙服务,可以使用以下命令:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
iptables进行更细粒度的控制虽然firewalld提供了方便的管理界面,但有时你可能需要使用iptables进行更细粒度的控制。以下是一些基本示例:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables规则sudo service iptables save
如果你需要恢复默认的防火墙规则,可以使用以下命令:
sudo firewall-cmd --remove-all
sudo firewall-cmd --reload
通过以上步骤,你可以在CentOS上从零开始设置和管理防火墙。根据你的具体需求,可以灵活调整防火墙规则。