firewalld防火墙基础配置

Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实时过滤和限制,属于典型的包过滤防火墙。

Linux防火墙是如何检查数据流量的?

对于进入系统的数据包,首先检查的就是其源地址:

若源地址关联到特定的区域,则执行该区域所制定的规则;
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则。
若网络接口未关联到特定的区域,那么就使用默认区域并执行该区域所制定的规则。
默认区域并不是单独的区域,而是指向系统上定义的某个其他区域。默认情况下,默认区域是public,但是也可以更改默认区域。以上匹配规则,按照先后顺序,第一个匹配的规则胜出,和网络设备的ACL匹配规则差不多,俗称匹配即停。
firewalld的相关预定义区域:

firewalld防火墙有两种配置模式:

1 、运行时模式:表示当前内存中运行的防火墙配置,在系统或firewalld服务重启、停止时将失效;

2、永久模式:表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置文件中的。

firewall-cmd命令工具与配置模式相关的选项有三个:

--reload:重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置;
--permanent:带有此选项的命令用于设置永久性规则,这些规则只有在重新启动或重新加载防火墙规则时才会生效;若不带此项,表示用于设置运行时规则。
--runtime-to-permanent:将当前运行时的配置写入规则配置文件中,使当前内存中的规则称为永久性配置。
1、防火墙相关命令使用:

[[email protected] ~]# systemctl start firewalld                #启动防火墙
[[email protected] ~]# systemctl enable firewalld            #设置开机自启动
[[email protected] /]# firewall-cmd --reload                     #重载防火墙
[[email protected] ~]# systemctl status firewalld             #查看防火墙状态
[[email protected] ~]# systemctl stop firewalld                #停止防火墙
[[email protected] ~]# systemctl disable firewalld            #设置防火墙开机不自启动
[[email protected] ~]# firewall-cmd --get-zones                #显示预定义的区域
block dmz drop external home internal public trusted work
[[email protected] ~]# firewall-cmd --get-service                     #显示预定义的服务
[[email protected] /]# firewall-cmd --list-all --zone=dmz                #查看指定区域的配置
dmz
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules: 

[[email protected] ~]# firewall-cmd --get-icmptypes                #显示预定义的ICMP类型
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

firewall-cmd --get-icmptypes命令执行结果中部分阻塞类型的含义如下:

destination-unreachable:目的地址不可达;
echo-reply:应答回应;
parameter-problem:参数问题;
redirect:重新定向;
router-advertisement:路由器通告;
router-solicitation:路由器征寻;
source-quench:源端抑制;
time-exceeded:超时;
timestamp-reply:时间戳应答回应;
timestamp-request:时间戳请求;

2、firewalld防火墙区域管理命令及示例:

[[email protected] /]# firewall-cmd --set-default-zone=dmz           #设置默认区域为DMZ区域
[[email protected] ~]# firewall-cmd --get-default-zone                #显示当前系统中的默认区域
[[email protected] ~]# firewall-cmd --list-all                                 #显示默认区域的所有规则
[[email protected] ~]# firewall-cmd --get-zone-of-interface=ens33       #显示网络接口ens33对应区域
[[email protected] ~]# firewall-cmd --get-active-zones           #显示所有激活区域
internal
  interfaces: ens33

 #执行以下操作可将网络接口ens33对应区域更改为internal区域,并查看:
 [[email protected] ~]# firewall-cmd --zone=internal --change-interface=ens33
 The interface is under control of NetworkManager, setting zone to ‘internal‘.
success
[[email protected] ~]# firewall-cmd --zone=internal --list-interfaces    #查看internal区域的接口列表
ens33
[[email protected] ~]# firewall-cmd --get-zone-of-interface=ens33    #查看接口ens33对应的区域
internal

3、防火墙服务管理相关命令及示例:

部分服务管理的示例:

为默认区域设置允许访问的服务

 [[email protected] services]# firewall-cmd --list-services          #显示默认区域内允许访问的所有服务
ssh dhcpv6-client
[[email protected] services]# firewall-cmd --add-service=http     #设置默认区域允许访问http服务
success
[[email protected] services]# firewall-cmd --add-service=https     #设置默认区域允许访问https服务
success
[[email protected] services]# firewall-cmd --list-services               #显示默认区域内允许访问的所有服务

ssh dhcpv6-client http https

为internal区域设置允许访问的服务:

[[email protected] services]# firewall-cmd --zone=internal --add-service=mysql
#设置internal区域允许访问mysql服务
success
[[email protected] services]# firewall-cmd --zone=internal --remove-service=samba-client
#设置internal区域不允许访问Samba-client服务
success
[[email protected]localhost services]# firewall-cmd --zone=internal --list-services
#显示internal区域内允许访问的所有服务
ssh mdns dhcpv6-client mysql

端口管理:
在进行服务配置时,预定义的网络服务可以使用服务名配置,服务所涉及的端口就会自动打开。但是,对于非预定义的服务只能手动为指定的区域添加端口。示例如下:

 [[email protected] services]# firewall-cmd --zone=internal --add-port=443/tcp
 #在internal区域打开443/tcp端口
success
 [[email protected] services]# firewall-cmd --zone=internal --remove-port=443/tcp
 #在internal区域禁止443/tcp端口访问
success

以上配置都为临时配置,若想将当前配置保存为永久配置,可以使用下面命令:

 [[email protected] services]# firewall-cmd --runtime-to-permanent
success

直接配置为永久性规则,须带--permanent选项,如下:

[[email protected] /]# firewall-cmd --add-icmp-block=echo-request --permanent   #禁止ping

success
[[email protected] /]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent
#配置external区域禁止ping
success

原文地址:https://blog.51cto.com/14227204/2434689

时间: 2024-11-03 21:39:36

firewalld防火墙基础配置的相关文章

firewalld防火墙的配置及应用

            防火墙(centos7)的配置及应用 1:防火墙有基本的三类 iptables.firewalld.ip6tables Systemctl   status   {firewalld,iptables,ip6tables}  查看三类的状态,这里主要介绍firewalld防火墙的配置以及基本应用功能 2:firewalld提供支持区域定义网络连接的防火墙 3:拥有运行时配置和永久性配置(临时和永久性配置) 4:之前是静态,现在是动态,不用重新启动防火墙,不用卸载防火墙的模

firewalld防火墙基础

TIP:linux7.0比6.0多了个firewalld工具,大大简化了操作 7.0既可以用iptables和firewalld,firewalld效率更高.更简便 一.firewalld概述 1.支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具 2.支持IPv4.IPv6防火墙 3.支持服务或应用程序直接添加防火墙规则接口 4.拥有两种配置模式 (1)运行时配置 (2)永久配置 二.firewalld和iptables的关系 1.netfilter (1)位于Linux内核中的

详述CentOS 7中Firewalld防火墙基础

Firewalld概述 Firewalld简介 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具 支持IPv4.IPv6防火 墙设置以及以太网桥 支持服务或应用程序直接添加防火墙规则接口 拥有两种配置模式 运行时配置 永久配置 Firewalld和iptables的关系 netfilter netfilter是Linux2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统 netfilter采用模块化设计,具有良好的可扩充性 位于Linux内核中的包过滤功能体

Firewalld防火墙基础详解

Firewalld简介 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,支持IPv4.IPv6防火 墙设置以及以太网桥,支持服务或应用程序直接添加防火墙规则接口. 拥有两种配置模式 1.运行时配置 2.永久配置 Firewalld和iptables的关系 netfilter: 位于Linux内核中的包过滤功能体系称为Linux防火墙的"内核态" Firewalld/iptables: CentOS7默认的管理防火墙规则的工具(Firewalld)称为Linux防火墙的

网关防火墙基础配置

网关服务器上的防火墙简略配置: vim /etc/sysctl.conf 修改内核参数 net.ipv4.ip_forward=1[开启路由转发]sysctl -p [使配置生效] iptables -t nat -A POSTROUTING -s [内网网段/24]-o eth0 [外网网卡]-j SNAT--to-source [公网地址]{配置SNAT策略使内网主机共享固定IP上网} iptables -t nat -A POSTROUTING -s [内网网段/24]-o ppp0 -j

centos7之firewalld防火墙的配置与使用

firewalld是centos7开始提供的管理防火墙工具,提供了一个动态管理的防火墙,当然低层仍然调用的是 netfilter . 一.区域(zone)firewalld将网卡对应到不同的区域(zone),zone默认共有9个,block,dmz,drop,external,home,internal,public,trusted,work. 二.服务(services)/usr/lib/firewalld/services目录中,保存了另一类配置文件,每个文件对应一项具体的网络服务,如 ss

Firewalld防火墙高级配置——(实战篇!!)

实验拓扑图 实验需求 1.公司内网用户需要通过网关服务器共享上网2.互联网用户需要访问网站服务器3.只允许192.168.10 .0/24ping网关和服务器4.网站服务器和网关服务器均通过SSH来远程管理,为了安全,将SSH默认端口改为12345,只允许192.168.10.10主机SSH网关和服务器,允许互联网SSH内部服务器 实验环境 1.网关服务器:Centos7 -12.企业内网测试机:Centos7 -23.网站服务器:Centos7 -34.Internet测试机:Centos7

H3C F1000-S防火墙基础配置及telnet登录!

一.场景说明: 准备调试的防火墙在机房,由于现场配置比较麻烦,所以决定先调测到可以通过核心交换下面的一台跳板机可以访问后在远程调试. 二.拓扑图: 拓扑如下:外网通过箭头1的方向访问到箭头2所指向的跳板机,然后如logo覆盖的箭头3所示在通过跳板机访问与华为9306的互联的H3C防火墙,相关端口.规划IP如图所示. H3C SecPath F1000-S-AI版本如下: Comware Software, Version 5.20 注:请忽略拓扑标志都是思科标志,看懂即可. 三.配置过程: 1.

华为防火墙基础配置

拓扑图如下: 小实验一: trust区域设备可以访问dmz区域设备,而dmz区域设备不能访问trust区域设备 首先,第一步,将端口加入对应的区域 接下来,将对应的IP加入对应的端口 R1: FW: 测试下是否正常: 科普下,第一个包老报错是因为ARP,第一个包去请求MAC地址了 . 这里再说一点华为和思科的不同之处,思科你防火墙IP什么的配置完之后,PC能ping到FW,FW也能ping到PC:然而,华为思科当中,低安全级别默认都不能访问高安全级别,但华为FW的端口都属于local区域,loc