简介:Linux安装防火墙firewalld,查看防火墙某个端口的状态,firewalld开发端口
在Linux系统中有着千奇百怪的防火墙,今天我们就来介绍一下firewalld防火墙服务软件。
1.首先来看看我们的操作系统是否安装【firewalld】:
firewalld -h
执行上述明后如果出现如下信息,表示已安装
如果出现:unit firewalld.service could not defund表示没有安装,可以使用如下命令进行安装:
yum install firewalld firewall-config
注意:firewall-config是firewalld的可视化界面程序,不需要的可以不安装
安装完毕后,查看firewalld服务状态:
service firewalld status
或者
systemctl status firewalld.service
如果出现:active(running)表示正在运行中,如下图所示:
当然除了上述情况,还有可能服务被锁定了
如果出现服务被锁定,可以使用:systemctl unmask firewalld 进行解锁。
如果需要重新锁定服务,可以使用:systemctl mask firewalld 进行解锁
2.我们来看看firewalld启动、关闭及重载
#启动防火墙
service firewalld start
#关闭防火墙
service firewalld stop
# 重启防火墙
service firewall restart
# 设置开机自启动
systemctl enable firewalld
# 取消开机自启动
systemctl disable firewalld
3.查询端口状态
firewall-cmd --query-port=80/tcp
4.开放80端口
firewall-cmd --zone=public --permanent --add-port=端口号/连接的协议
例如:
firewall-cmd --zone=public --permanent --add-port=80/tcp
5.移除某个端口
firewall-cmd --zone=public --permanent --remove-port=端口号/协议
例如:
firewall-cmd --zone=public --permanent --remove-port=80/tcp
上述任意一处修改后都需要重新加载防火墙规则才能生效哦:
firewall-cmd --reload
firewall-cmd --reload这个命令是重新加载防火墙规则,不是重启
如需要重启可以使用:service firewalld restart
6.防火墙其他命令
# 查看防火墙状态
firewall-cmd --state
# 查看防火墙所有规则
firewall-cmd --list-all
上述命令有一些参数含义比较模糊,为了防止大家忘记,接下来我给大家总结了两个参数值的含义:
zone参数含义:
- drop: 丢弃所有进入的包,而不给出任何响应
- block: 拒绝所有外部发起的连接,允许内部发起的连接
- public: 允许指定的进入连接
- external: 同上,对伪装的进入连接,一般用于路由转发
- dmz: 允许受限制的进入连接
- work: 允许受信任的计算机被限制的进入连接,类似 workgroup
- home: 同上,类似 homegroup
- internal: 同上,范围针对所有互联网用户
- trusted: 信任所有连接
- source: 根据源地址过滤
- interface: 根据网卡过滤
- service: 根据服务名过滤
- port: 根据端口过滤
- icmp-block: icmp 报文过滤,按照 icmp 类型配置
- masquerade: ip 地址伪装
- forward-port: 端口转发
- rule: 自定义规则
l其中,过滤规则的优先级遵循如下顺序
1.source
2.interface
3.firewalld.conf
有遗漏或者不对的可以在我的公众号留言哦