Linux Firewalld防火墙

您所在的位置:网站首页 关掉权限管理界面 Linux Firewalld防火墙

Linux Firewalld防火墙

2024-07-11 17:15:42| 来源: 网络整理| 查看: 265

Firewalld防火墙

防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

支持网络区域所定义的网络连接以及接口安全等级的动态防火墙工具。 支持IPv4、IPv6防火墙设置及以太网桥 拥有两种配置模式 1、运行时配置 实时生效,并一直持续到Firewalld重新启动或者reload 不中断现有连接 不能修改服务配置

2、永久配置 不立即生效,除非Firewalld重启或者reload 中断现有的连接 可以修改服务配置

文章目录 Firewalld防火墙Firewalld和iptables关系两者区别 区域区域介绍 Firewalld数据处理过程Firewalld防火墙的配置方法Firewall-config图形工具演示打开图形化管理界面根据要求进行配置修改 Firewalld-cmd 命令行命令演示查看防火墙运行状态查看系统定义的信息区域部分显示已激活的区域显示指定接口绑定的区域给指定接口绑定区域为指定的区域更改网络接口为指定区域删除接口显示所有区域及规则显示指定区域的规则 服务部分显示指定区域内允许放行的服务为指定区域增加允许方形的服务为指定区域删除服务为指定区域增加放行的端口号显示区域内放行的端口号为指定区域删除放行的端口号为指定区域内过滤 ICMP 类型显示指定区域内不放行的 ICMP 类型为指定区域内删除过滤的 ICMP 类型 更改配置模式 1、从CentOS7开始,默认使用firewall来配置防火墙,没有安装iptables(旧版默认安装)。 2、firewall的配置文件是以xml的格式,存储在 /usr/lib/firewalld/ 和 /etc/firewalld/ 目录中。  (1)系统配置目录,目录中存放定义好的网络服务和端口参数,系统参数,不要修改。

1 /usr/lib/firewalld/ 2 /usr/lib/firewalld/services 3 /usr/lib/firewalld/zones

(2)用户配置目录

1 /etc/firewalld/ 2 /etc/firewalld/services 3 /etc/firewalld/zones Firewalld和iptables关系

netfilter 位于Linux内核中的包过滤功能体系 成为Linux防火墙的“内核态” Firewalld/iptables CentOS7默认的管理防火墙规则的工具 称为Linux防火墙的“用户态” 在这里插入图片描述个人理解: firewalld是centos7里面的新的防火墙命令,它底层还是使用 iptables 对内核命令动态通信包过滤的,简单理解就是firewall是centos7下管理iptables的新命令

两者区别 Firewalldiptables配置文件位置/usr/firewalld/ect/sysconfig/iptables/etc/firewalld对规则的修改不需要全部刷新策略,不丢失现行连接需要全部刷新策略,丢失连接防火墙类型动态防火墙静态防火墙

firewalld修改后不需要重启服务,iptables需要重启服务

区域

区域就像是进入服务器的安检机,每个区域都具有不同限制程度的规则 可以使用一个或多个区域,但是任何一个活跃区域都要有关联源IP或者网卡接口 一般情况下,public(公共区域)是默认区域,包含所有接口

区域介绍

drop: 丢弃所有进入的包,而不给出任何响应 block: 拒绝所有外部发起的连接,允许内部发起的连接 public: 允许指定的进入连接 external: 同上,对伪装的进入连接,一般用于路由转发 dmz: 允许受限制的进入连接 work: 允许受信任的计算机被限制的进入连接,类似 workgroup home: 同上,类似 homegroup internal: 同上,范围针对所有互联网用户 trusted: 信任所有连接

Firewalld数据处理过程

检查数据来源的源地址 若地址关联到区域,则开始执行关联区域的所指定规则 若地址没关联到区域,则用传入数据的网络接口的区域并执行 该区域的规则 若网络接口为关联到指定区域,则使用默认的区域并执行该区域所制定的规则

Firewalld防火墙的配置方法

Firewall-config图形工具 Firewall-cmd命令行工具 /etc/firewalld/中的配置文件 Firewalld会优先使用 /etc/Firewalld/ 中的配置,若不存在配置文件,则使用 /usr/lib/firewalld/ 中的配置 /etc/firewalld/ :用户自定义配置文件,需要是可通过从 /usr/lib/firewalld/ 中拷贝 /usr/lib/firewalld/ :默认配置文件,不建议修改,若恢复至默认,可直接删除 /etc/firewalld/ 中的配置

Firewall-config图形工具演示 打开图形化管理界面

可以使用 Xshell,也可以在CentOS7的伪终端中使用

下为 Xshell 打开的 Xmanager 与系统防火墙同步 在这里插入图片描述下为系统中打开的 图形管理工具 在这里插入图片描述

根据要求进行配置修改

服务器IP:20.0.0.139 客户机1IP:20.0.0.132 7.2 客户机2IP:20.0.0.135 5papche

需求描述: 1 禁止主机 ping 服务器 2 仅允许 20.0.0.132 使用 shh远程登录 3 允许所有主机访问网页服务(apache)

分析: 一、ping命令是使用ICMP协议,所以直接一点把ICMP禁了 二、因为仅允许132进行ssh,所以给132的接口区域配置ssh,把默认接口的ssh禁了 三、允许访问apache,所以http不用禁

在 ICMP 过滤器中勾选 echo-reply 和 echo-request 在这里插入图片描述在这里插入图片描述这样任何客户机都无法 ping 通服务器了

仅允许132ssh本服务器 先去掉默认区域的ssh选项 在这里插入图片描述将20.0.0.132加入别的区域,这样就能使用别的区域的规则了

在这里插入图片描述 在这里插入图片描述132可以正常ssh,135则不行 在这里插入图片描述 在这里插入图片描述允许所有主机访问网页

在这里插入图片描述在这里插入图片描述两机均可访问网页 在这里插入图片描述在这里插入图片描述

Firewalld-cmd 命令行 命令演示 查看防火墙运行状态 [root@1centos ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 三 2020-07-29 15:59:36 CST; 5s ago Docs: man:firewalld(1) Main PID: 10671 (firewalld) Tasks: 2 CGroup: /system.slice/firewalld.service └─10671 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid... 查看系统定义的信息

显示系统预定义的区域

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

显示系统预定义的服务

[root@1centos ~]# firewall-cmd --get-services RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry docker-swarm dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls managesieve mdns minidlna mongodb mosh mountd ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius redis rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

显示预定义的 ICMP 类型

[root@1centos ~]# firewall-cmd --get-icmptypes address-unreachable bad-header communication-prohibited destination-unreachable echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement neighbour-solicitation network-prohibited network-redirect network-unknown network-unreachable no-route packet-too-big parameter-problem port-unreachable precedence-cutoff protocol-unreachable redirect required-option-missing router-advertisement router-solicitation source-quench source-route-failed time-exceeded timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly ttl-zero-during-transit unknown-header-type unknown-option

其中ICMP执行结果的各个类型翻译如下: destination-unreachable:目的地址不可达。 echo-reply:应答回应(pong)。 parameter-problem:参数问题。 redirect:重新定向。 router-advertisement:路由器通告。 router-solicitation:路由器征寻。 source-quench:源端抑制。 time-exceeded:超时。 timestamp-reply:时间戳应答回应。 timestamp-request:时间戳请求

区域部分

显示默认区域

[root@1centos ~]# firewall-cmd --get-default-zone public

设置默认区域

[root@1centos ~]# firewall-cmd --set-default-zone=work success [root@1centos ~]# firewall-cmd --get-default-zone work 显示已激活的区域

一个活动区域必须有一个对应接口

[root@1centos ~]# firewall-cmd --get-active-zones work interfaces: ens33 显示指定接口绑定的区域 [root@1centos ~]# firewall-cmd --get-zone-of-interface=ens33 work 给指定接口绑定区域

为其添加一块网卡,网卡名 ens37 在这里插入图片描述

[root@1centos ~]# firewall-cmd --get-zone-of-interface=ens37 no zone [root@1centos ~]# firewall-cmd --zone=public --add-interface=ens37 success [root@1centos ~]# firewall-cmd --get-zone-of-interface=ens37 public 为指定的区域更改网络接口 [root@1centos ~]# firewall-cmd --zone=drop --change-interface=ens37 The interface is under control of NetworkManager, setting zone to 'drop'. success 为指定区域删除接口 [root@1centos ~]# firewall-cmd --zone=drop --remove-interface=ens37 The interface is under control of NetworkManager, setting zone to default. success 显示所有区域及规则 [root@1centos ~]# firewall-cmd --list-all-zones block target: %%REJECT%% icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: dmz target: default icmp-block-inversion: no interfaces: sources: services: ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: drop target: DROP icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: external target: default icmp-block-inversion: no interfaces: sources: services: ssh ports: protocols: masquerade: yes forward-ports: source-ports: icmp-blocks: rich rules: home target: default icmp-block-inversion: no interfaces: sources: services: ssh mdns samba-client dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: internal target: default icmp-block-inversion: no interfaces: sources: services: ssh mdns samba-client dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: public (active) target: default icmp-block-inversion: no interfaces: public sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: trusted target: ACCEPT icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: work (active) target: default icmp-block-inversion: no interfaces: ens33 ens37 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

如果啥都不加显示默认区域的规则

[root@1centos ~]# firewall-cmd --list-all work (active) target: default icmp-block-inversion: no interfaces: ens33 ens37 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 显示指定区域的规则 [root@1centos ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: public sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 服务部分 显示指定区域内允许放行的服务 [root@1centos ~]# firewall-cmd --list-services ssh dhcpv6-client [root@1centos ~]# firewall-cmd --zone=public --list-services ssh dhcpv6-client 为指定区域增加允许方形的服务 [root@1centos ~]# firewall-cmd --zone=public --add-service=ftp success [root@1centos ~]# firewall-cmd --zone=public --add-service=tftp success [root@1centos ~]# firewall-cmd --zone=public --list-services ssh dhcpv6-client ftp tftp 为指定区域删除服务 [root@1centos ~]# firewall-cmd --zone=public --remove-service=tftp success [root@1centos ~]# firewall-cmd --zone=public --list-services ssh dhcpv6-client ftp 为指定区域增加放行的端口号 [root@1centos ~]# firewall-cmd --zone=public --add-port=443/tcp success 显示区域内放行的端口号 [root@1centos ~]# firewall-cmd --zone=public --list-ports 443/tcp 为指定区域删除放行的端口号 [root@1centos ~]# firewall-cmd --zone=public --remove-port=443/tcp success [root@1centos ~]# firewall-cmd --zone=public --list-ports 为指定区域内过滤 ICMP 类型

对应图形界面的 ICPM 过滤器

[root@1centos ~]# firewall-cmd --zone=public --add-icmp-block=echo-request success 显示指定区域内不放行的 ICMP 类型 [root@1centos ~]# firewall-cmd --zone=public --list-icmp-blocks echo-request 为指定区域内删除过滤的 ICMP 类型 [root@1centos ~]# firewall-cmd --zone=public --remove-icmp-block=echo-request success [root@1centos ~]# firewall-cmd --zone=public --list-icmp-blocks 更改配置模式

两种配置模式为:运行时 和 永久生效 –reload:重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置(和 systemctl reload firewalld 差不多)。 –permanent:带有此选项的命令用于设置永久性规则,这些规则只有在重新启动 firewalld 或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时 规则。 –runtime-to-permanent:将当前的运行时配置写入规则配置文件中,使之成为永久生效



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭