Linux防火墙firewalld基础设置

简介:Linux安装防火墙firewalld,查看防火墙某个端口的状态,firewalld开发端口

在Linux系统中有着千奇百怪的防火墙,今天我们就来介绍一下firewalld防火墙服务软件。

1.首先来看看我们的操作系统是否安装【firewalld】:

firewalld -h

执行上述明后如果出现如下信息,表示已安装

如果出现:unit firewalld.service could not defund表示没有安装,可以使用如下命令进行安装:

yum install firewalld firewall-config

注意:firewall-configfirewalld可视化界面程序,不需要的可以不安装

安装完毕后,查看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

有遗漏或者不对的可以在我的公众号留言哦

编程经验共享公众号二维码

编程经验共享公众号二维码
更多内容关注公众号
Copyright © 2021 编程经验共享 赣ICP备2021010401号-1