每一个问题都是机会

CentOS 7 防火墙详解

文章目录
  1. CentOS7 防火墙详解
  2. 1. firewalld 防火墙的基本使用
  3. 2. systemctl 工具
  4. 3. 配置 firewalld-cmd
  5. 4. 使用firewall-cmd配置端口

CentOS7 防火墙详解

CentOS 有两种防火墙 FirewallDiptables 防火墙。

CentOS7 使用的是 FirewallD 防火墙。

FirewallDiptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

  • FirewallD 使用区域和服务而不是链式规则。
  • 它动态管理规则集,允许更新规则而不破坏现有会话和连接。

FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 – 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。

1. firewalld 防火墙的基本使用

启动:

systemctl start firewalld

关闭:

systemctl stop firewalld

查看状态:

systemctl status firewalld

设置开机禁用防火墙 :

systemctl disable firewalld

设置开机启用防火墙 :

systemctl enable firewalld

2. systemctl 工具

systemctl 是 CentOS7 的服务管理工具中主要的工具,它融合之前 servicechkconfig 的功能于一体。

启动一个服务:

systemctl start firewalld.service

关闭一个服务:

systemctl stop firewalld.service

重启一个服务:

systemctl restart firewalld.service

显示一个服务的状态:

systemctl status firewalld.service

在开机时启用一个服务:

systemctl enable firewalld.service

在开机时禁用一个服务:

systemctl disable firewalld.service

查看服务是否开机启动:

systemctl is-enabled firewalld.service

查看已启动的服务列表:

systemctl list-unit-files|grep enabled

查看启动失败的服务列表:

systemctl --failed

3. 配置 firewalld-cmd

查看版本:

firewall-cmd --version

查看帮助:

firewall-cmd --help

显示状态:

firewall-cmd --state

查看所有打开的端口:

firewall-cmd --zone=public --list-ports
# 或
firewall-cmd --list-ports

更新防火墙规则:

firewall-cmd --reload

查看区域信息:

firewall-cmd --get-active-zones

查看指定接口所属区域:

firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:

firewall-cmd --panic-on

取消拒绝状态:

firewall-cmd --panic-off

查看是否拒绝:

firewall-cmd --query-panic

4. 使用firewall-cmd配置端口

  • 查看防火墙状态

    firewall-cmd --state
  • 单个端口开放

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    命令含义:

    • zone #作用域
    • add-port=80/tcp #添加端口,格式为:端口/通讯协议
    • permanent #永久生效,没有此参数重启后失效
  • 批量开放端口,如从3000到5000这之间的端口我们全部要打开

    firewall-cmd --zone=public --add-port=3000-5000/tcp --permanent
  • 重新载入

    firewall-cmd --reload
  • 查看

    firewall-cmd --zone=public --query-port=80/tcp
  • 单个删除开放端口

    firewall-cmd --zone=public --remove-port=80/tcp --permanent
  • 批量删除开放端口

    firewall-cmd --zone=public --remove-port=3000-5000/tcp --permanent
赞(3)
未经允许不得转载:技术好学屋 » CentOS 7 防火墙详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址