firewalld是Linux防火墙管理工具,在CentOS 7及以后版本中默认使用,相对iptables来说,使用更加简单和人性化
安装&启动
代码语言:javascript复制sudo yum install firewalld -y
sudo systemctl status firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
常用命令
代码语言:javascript复制# 查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
sudo firewall-cmd --list-all
# 重新加载配置文件
firewall-cmd --reload
# 查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd --list-all-zones
单个端口配置
- 添加端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
- 查看端口
sudo firewall-cmd --zone=public --list-ports
- 删除端口
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload
复杂规则
- 允许某些网段访问特定端口
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.17.0.0/24" port protocol="tcp" port="80" accept'
- 删除负责规则
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="172.17.0.0/24" port protocol="tcp" port="80" accept'
端口转发
代码语言:javascript复制# 开启伪装IP
firewall-cmd --permanent --add-masquerade
# 配置端口转发:将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口
firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
# 重载配置
firewall-cmd --reload
参考
- Firewall常用命令