CentOS 防火墙命令
一. firewalld
命令
1. 安装 firewalld
sudo yum install firewalld -y
2. 启动和停止 firewalld
sudo systemctl start firewalld
sudo systemctl stop firewalld
3. 设置 firewalld
随系统启动
sudo systemctl enable firewalld
4. 查看防火墙状态
sudo firewall-cmd --state
5. 查看当前开放的端口
sudo firewall-cmd --list-ports
6. 查看所有区域及其设置
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all
7. 开放端口
sudo firewall-cmd --zone=public --add-port=89/tcp --permanent
sudo firewall-cmd --zone=public --add-port=89/udp --permanent
8. 关闭端口
sudo firewall-cmd --zone=public --remove-port=89/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=89/udp --permanent
9. 重新加载防火墙配置
sudo firewall-cmd --reload
10. 检查特定端口状态(使用 nmap
工具)
nmap -p 89 localhost
二. iptables
命令
1. 查看当前的 iptables
规则
sudo iptables -L -n -v
sudo iptables -L INPUT -n -v
3. 开放端口
sudo iptables -A INPUT -p tcp --dport 89 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 89 -j ACCEPT
4. 关闭端口
sudo iptables -A INPUT -p tcp --dport 89 -j DROP
sudo iptables -A INPUT -p udp --dport 89 -j DROP
5. 保存 iptables
规则
sudo service iptables save
- 对于CentOS 7及以上版本,使用
iptables-services
来保存:
sudo iptables-save | sudo tee /etc/sysconfig/iptables
6. 重新加载 iptables
规则
sudo systemctl restart iptables
7. 清空所有 iptables
规则
sudo iptables -F
三. 防火墙状态和配置命令
1. 查看防火墙状态
sudo systemctl status firewalld
2. 关闭 firewalld
sudo systemctl stop firewalld
3. 开启 firewalld
sudo systemctl start firewalld
4. 禁用 firewalld
sudo systemctl disable firewalld
5. 启用 firewalld
sudo systemctl enable firewalld
备注
- 默认情况下,
firewalld
提供了更简单的管理界面,而 iptables
更灵活,适合更复杂的防火墙规则。
firewalld
和 iptables
不建议同时使用,以避免冲突。