【linux】【firewalld】防火墙设置

前言

  • CentOS 7.4
  • 开启firewalld防火墙。开启ssh、80/http端口。其余端口关闭。

操作

在CentOS7开始,默认是没有iptables的,而是使用了firewalld防火墙.

开启防火墙

  • 操作firewalld防火墙,需要使用firewall-cmd命令。
  • 使用firewall-cmd命令,需要先启动防火墙。
  • firewalld防火墙默认使用的是public域(zone)。
  • public域(zone)中,默认打开了ssh服务(ssh服务默认启用22端口)。
  • 远程使用ssh登录到服务器,并开启firewalld防火墙前,先确认: firewalld防火墙开启前是否还能继续通过ssh连到服务器。(默认情况下是可以的。)
  • 在本步确保开启防火墙。

可能用到的命令:

操作 命令
启动firewalld服务 systemctl start firewalld.service
关闭firewalld服务 systemctl stop firewalld.service
重启firewalld服务 systemctl restart firewalld.service
显示firewalld服务的状态 systemctl status firewalld.service
在开机时启用firewalld服务 systemctl enable firewalld.service
在开机时禁用firewalld服务 systemctl disable firewalld.service
查看firewalld服务是否开机启动 systemctl is-enabled firewalld.service
查看已启动的服务列表 systemctl list-unit-files
查看启动失败的服务列表 systemctl –failed

查看域(zone)

  • 每个域(zone)就是一套规则集。在域(zone)中配置服务、端口等。
  • firewalld防火墙,提供了9个域(zone)。firewalld防火墙读取默认域(zone)的配置。
  • 默认域(zone)为public。
  • 在本步确认默认域。此处以未修改过默认域为基础,后面操作均在public域(zone)下进行操作。

可能用到的命令:

操作 命令
查看默认域(zone) firewall-cmd –get-default-zone
获取活动的区域(zone) firewall-cmd –get-active-zones
列出所有支持的域(zone) firewall-cmd –get-zones
查看当前的默认域(zone) firewall-cmd –get-active-zones
设置默认区域(zone) firewall-cmd –set-default-zone=public

查看firewall的可用服务

  • 这里也只是查看一下
firewall-cmd --get-services

简单列举几个服务

服务名 端口 端口
ssh tcp 22
http tcp 80
https tcp 443
mysql tcp 3306
dns tcp&udp 53
dhcp udp 67

查看域(zone)下的服务

  • 命令中添加参数–zone=public,表示操作public域。不添加该参数–zone,则表示操作默认域。
  • 查看public域(zone)中,是否包含了ssh、http服务。如果有,则本次操作结束。如果没有就往下执行,添加上缺少的服务。

可能用到的命令:

操作 命令
列出public域(zone)中已启用的服务 firewall-cmd –zone=public –list-services
列出public域(zone)中已启用的特性(包含服务、端口等) firewall-cmd –zone=public –list-all
列出默认域(zone)中已启用的服务 firewall-cmd –list-services
列出默认域(zone)中已启用的特性(包含服务、端口等) firewall-cmd –list-all

添加服务

  • 默认情况下,ssh服务已经启用。此步,仅添加http服务即可。

可能用到的命令:

操作 命令
添加服务 firewall-cmd –zone=public –add-service=http –permanent
移除服务 firewall-cmd –zone=public –remove-service=http –permanent
临时添加服务 firewall-cmd –zone=public –add-service=http
临时移除服务 firewall-cmd –zone=public –remove-service=http

注:临时添加或移除服务,在 firewalld防火墙重载配置后失效。

重新载入配置

  • 重新载入配置
  • 重新载入配置后,检查所添加的服务是否依然有效(查询public下的可用服务即可)。

可能用到的命令:

操作 命令
重新加载防火墙,并不中断用户连接 firewall-cmd –reload
重新加载防火墙,并中断用户连接 firewall-cmd –complete-reload

配置文件说明

域配置文件

优先级 位置 说明
/etc/firewalld/zones 带 –permanent参数时,会修改此目录下的域文件
/usr/lib/firewalld/zones

猜你喜欢

转载自blog.csdn.net/sayyy/article/details/80931114