firewalld是Linux操作系统的防火墙管理工具。它通过充当Linux内核的netfilter框架的前端来提供防火墙功能,就像iptables一样。
安装firewalld
默认情况下CentOS 7可能已经安装了firewalld服务,若确实没有安装直接使用yum命令安装即可:
#安装firewalld
yum -y install firewalld
常用命令
安装完成后firewalld并没有运行,有必要先来熟悉下基本的命令:
#查看运行状态
firewall-cmd --state
#启动firewall
systemctl start firewalld
#设置开机自启
systemctl enable firewalld
#删除开机自启
systemctl disable firewalld
#停止firewall
systemctl stop firewalld
如果您在启动的时候提示“Failed to start firewalld.service: Unit firewalld.service is masked.”,输入下面的命令可解决:
systemctl unmask firewalld.service
一些常用的例子
# 放行某个指定的TCP端口,如放行80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 放行端口范围(8000-9000):
firewall-cmd --zone=public --add-port=8000-9000/tcp --permanent
# 查看已经放行的端口:
firewall-cmd --zone=public --list-ports
# 删除某个已经放行的端口(6022):
firewall-cmd --zone=public --remove-port=6022/tcp --permanent
# 阻止某个IP(123.57.22.204)连接:
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=123.57.22.204 reject"
# 仅允许特定的IP访问特定的端口:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="101.32.40.130" port protocol="tcp" port="3306" accept"
注意上面的所有列子都需要输入: firewall-cmd --reload重载firewall使其生效。
评论 (0)