防火墙-Firewalld

 2022-08-04    0 条评论    45332 浏览

防火墙

状态命令

查看版本

firewall-cmd -V

查看状态

firewall-cmd --state

查看防火墙信息

systemctl status firewalld.service

响应

[root@VM-24-13-centos ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-08-04 18:00:29 CST; 52s ago
	 Docs: man:firewalld(1)
 Main PID: 20618 (firewalld)
	Tasks: 2
   Memory: 30.1M
   CGroup: /system.slice/firewalld.service
		   └─20618 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Aug 04 18:00:29 VM-24-13-centos systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 04 18:00:29 VM-24-13-centos systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 04 18:00:30 VM-24-13-centos firewalld[20618]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be ...g it now.
Hint: Some lines were ellipsized, use -l to show in full.

防火墙启动关闭命令

开启防火墙

systemctl start firewalld.service

开机启动防火墙

systemctl enable firewalld.service

关闭防火墙

systemctl stop firewalld.service

关闭开机启动防火墙

systemctl disable firewalld.service

重启防火墙

systemctl restart firewalld.service

查看防火墙是否开机自启动

systemctl is-enabled firewalld.service;echo $?

enable是自启动,如果是disable就不是

端口控制

查看已经开放的端口

firewall-cmd --list-port

这里说明我全部都没开启

开启指定的端口

#开启tcp或udp端口
firewall-cmd --zone=public --add-port=9100/tcp --permanent
#触发加载
firewall-cmd --reload
#查看指定端口状态
firewall-cmd --query-port=9100/tcp

移除指定的端口

firewall-cmd --zone=public --remove-port=9100/tcp --permanent
firewall-cmd --reload

命令解析zone

zone表示不同的网络区域,firewall默认区域为public

显示可用的网络区域

[root@VM-24-13-centos ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work

网络区域说明

  • drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
  • block(限制):任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
  • public(公共):在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
  • external(外部):特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
  • dmz(非军事区):用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
  • work(工作):用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
  • home(家庭):用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
  • internal(内部):用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。
  • trusted(信任):可接受所有的网络连接。

zone命令

命令作用
firewall-cmd --get-default-zone获取默认分区
firewall-cmd --set-default-zone=设置默认分区。:分区名称,如:public、home
firewall-cmd --get-zones获取所有的分区名称
firewall-cmd --get-active-zones获取活动的分区信息
firewall-cmd --new-zone=创建一个分区
firewall-cmd --delete-zone=删除一个分区
firewall-cmd --zone=选择这个分区,同行命令后边指定端口、ip 等规则都会作用在这个分区上
firewall-cmd --list-all列出指定分区的所有已添加或已启用的信息
firewall-cmd --info-zone=查看指定分区的信息
firewall-cmd --path-zone= --permanent查看分区对应的配置文件路径

EG

列出指定分区的所有已添加或已启用的信息

firewall-cmd —list-all

响应信息如下

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 3306/tcp 80/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules: