首页 > 其他分享 >firewalld: 各个zone的用途

firewalld: 各个zone的用途

时间:2024-08-17 14:05:17浏览次数:10  
标签:xml blog zone -- firewalld 用途 zones root

一,查看linux当前的所有zone

[root@blog ~]$ firewall-cmd  --get-zones
block dmz drop external home internal nm-shared public trusted work

二,各个zone的区别

1, 一个网络区域(zone)定义了网络连接的信任级别,

trusted 区 受信任区。

接受所有网络连接。该区绑定的规则(如:网卡、源网段、服务等)不受防火墙阻挡,所有流量均可通过。

internal 区 用于内部网络。

home 区 用于家庭区域。

work 区 用于工作区域。

internal、home、work 这 3 个区你基本上相信网络上的其他计算机不会损害你的计算机。只接受选定的传入连接。

dmz 区 用于在非军事区内可公开访问但对内部网络有限制访问的计算机。只接受选定的传入连接。

external 区 用于启用伪装的外部网络,特别是路由器。你不相信网络上的其他计算机不会损害你的计算机。只接受选定的传入连接。

public 区 在公共场所使用。你不相信网络上的其他计算机不会损害你的计算机。只接受选定的传入连接。

block 区 任何传入的网络连接将被拒绝,IPv4和IPv6将分别发送icmp-host- forbid消息和icmp6-adm- forbid消息。只有在这个系统内发起的网络连接是可能的。

drop 区 任何传入的网络数据包被丢弃,没有应答。只可能传出网络连接。

2, 查看各个区默认的规则:每个zone就是一组规则的集合,如何查看它们默认的规则有哪些?

默认规则的保存路径:

/usr/lib/firewalld/zones/

上面的这个路径可以用rpm查询firewalld安装包得到

[root@blog zones]# rpm -ql firewalld | grep zones
/etc/firewalld/zones
/usr/lib/firewalld/zones/block.xml
/usr/lib/firewalld/zones/dmz.xml
/usr/lib/firewalld/zones/drop.xml
/usr/lib/firewalld/zones/external.xml
/usr/lib/firewalld/zones/home.xml
/usr/lib/firewalld/zones/internal.xml
/usr/lib/firewalld/zones/public.xml
/usr/lib/firewalld/zones/trusted.xml
/usr/lib/firewalld/zones/work.xml
/usr/share/man/man5/firewalld.zones.5.gz

进入目录后可以看到默认zone的xml配置文件:

[root@blog zones]# cd /usr/lib/firewalld/zones/
[root@blog zones]# ls
block.xml  dmz.xml  drop.xml  external.xml  home.xml  internal.xml  nm-shared.xml  public.xml  trusted.xml  work.xml

3,查看各个zone规则的不同:

drop.xml

[root@blog zones]# more drop.xml
<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
  <short>Drop</short>
  <description>Unsolicited incoming network packets are dropped. Incoming packets that are related 
  to outgoing network connections are accepted. Outgoing network connections are
allowed.</description>
  <forward/>
</zone>

block

[root@blog zones]# more block.xml
<?xml version="1.0" encoding="utf-8"?>
<zone target="%%REJECT%%">
  <short>Block</short>
  <description>Unsolicited incoming network packets are rejected. Incoming packets that are related to outgoing 
  network connections are accepted. Outgoing network connections are
 allowed.</description>
  <forward/>
</zone>

 public

[root@blog zones]# more public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer.
  Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <forward/>
</zone>

trusted

[root@blog zones]# more trusted.xml
<?xml version="1.0" encoding="utf-8"?>
<zone target="ACCEPT">
  <short>Trusted</short>
  <description>All network connections are accepted.</description>
  <forward/>
</zone>

work

[root@blog zones]# more work.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Work</short>
  <description>For use in work areas. You mostly trust the other computers on networks to not harm your computer. 
  Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <forward/>
</zone>

home

[root@blog zones]# more home.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Home</short>
  <description>For use in home areas. You mostly trust the other computers on networks to not harm your computer. 
  Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="mdns"/>
  <service name="samba-client"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <forward/>
</zone>

dmz

[root@blog zones]# more dmz.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>DMZ</short>
  <description>For computers in your demilitarized zone that are publicly-accessible with limited access to your 
  internal network. Only selected incoming connections are accepted
.</description>
  <service name="ssh"/>
  <forward/>
</zone>

external

[root@blog zones]# more external.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>External</short>
  <description>For use on external networks. You do not trust the other computers on networks to not harm your 
  computer. Only selected incoming connections are accepted.</descrip
tion>
  <service name="ssh"/>
  <masquerade/>
  <forward/>
</zone>

internal

[root@blog zones]# more internal.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Internal</short>
  <description>For use on internal networks. You mostly trust the other computers on the networks to not harm
  your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="mdns"/>
  <service name="samba-client"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <forward/>
</zone>

 三,查看九个内置zone的默认target

1, 分别查询:

说明:可以看到:多数zone的target就是default,
但有三个不同的zone: 

trusted: target为ACCEPT
drop: target为DROP
block: target为REJECT

所以在生产环境中,不会对这三个zone添加复杂的规则,只是把它们作为白名单、黑名单使用

[root@blog ~]# firewall-cmd --zone=trusted --permanent --get-target
ACCEPT
[root@blog ~]# firewall-cmd --zone=public --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=drop --permanent --get-target
DROP
[root@blog ~]# firewall-cmd --zone=block --permanent --get-target
REJECT
[root@blog ~]# firewall-cmd --zone=external --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=internal --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=dmz --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=work --permanent --get-target
default
[root@blog ~]# firewall-cmd --zone=home --permanent --get-target
default

 2,列出所有zone的规则:

[root@blog ~]# firewall-cmd --list-all-zones 

 四,比较public/home/external/internal/work/dmz这六个zone的区别

这六个zone的target同为default,它们的区别在哪里?

它们的不同之处在于默认规则的不同

1,work/public

work和public两个zone相同,都允许ssh/dhcpv6-client/cockpit三种服务的访问
ssh不用说了,
dhcpv6-client是dhcpv6的客户端,所用的端口是:546
如果不是动态的ip,建议关闭此服务
cockpit: 红帽开发的网页版图像化服务管理工具,优点是无需中间层,且可以管理多种服务
它所用的端口是:9090
如果不需要从图形界面对服务器管理,建议关闭此服务

2,home/internal
home和internal两个zone相同,都允许 ssh/mdns/samba-client/dhcpv6-client/cockpit五种服务的访问
ssh/dhcpv6-client/cockpit 上面已讲到
samba-client:提供samba服务的客户端服务
它的端口是:udp协议138
mdns:mDNS是一种基于多播的服务发现协议,通过它可以使设备在局域网内自动发现彼此的服务,
它的端口是:udp协议5353

3,dmz/external
dmz只提供ssh服务,
external则额外打开了<masquerade/>:它用来开启端口转发或代理上网

 

标签:xml,blog,zone,--,firewalld,用途,zones,root
From: https://www.cnblogs.com/architectforest/p/18364202

相关文章

  • 在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
    在Kubernetes(K8s)中,Service是一种抽象,它定义了一组逻辑上相同的服务实例(即Pod)以及访问它们的策略。Service可以将外部客户端的流量路由到后端的一个或多个Pod。Kubernetes提供了几种不同类型的Service,每种都有其特定的用途:ClusterIP描述:这是默认的Service类型。Cl......
  • firewalld: 禁止ping和允许ping
    一,默认情况允许ping[lhdop@blog~]$ping8.14.7.5PING8.14.7.5(8.14.7.5)56(84)bytesofdata.64bytesfrom8.14.7.5:icmp_seq=1ttl=58time=2.69ms64bytesfrom8.14.7.5:icmp_seq=2ttl=58time=2.59ms...二,禁止ping[root@iZ2zejc9t0hf6pnw6sewrxZ~]#fire......
  • Linux防火墙基础Firewalld
     简介    Firewalld是一个用于CentOS、Fedora和RedHatEnterpriseLinux(RHEL)等系统的动态防火墙管理工具。它是iptables的前端工具,可以帮助用户配置和管理Linux系统上的防火墙规则。    Firewalld防火墙是一种简单的、有状态的、基于区域(zone)的防火墙。......
  • firewalld: 端口转发
    一,操作允许ip伪装1,#允许防火墙伪装IP[root@blog~]#firewall-cmd--add-masquerade--permanentsuccess效果:[root@blog~]#more/etc/firewalld/zones/public.xml<?xmlversion="1.0"encoding="utf-8"?><zone><short>Public</shor......
  • Build Texture Streaming 和 Build Virtual Textures 的用途和使用场景
    TextureStreaming(纹理流)详细说明TextureStreaming(纹理流)是UnrealEngine4中的一项重要技术,用于动态加载和管理游戏中的纹理资源。这种技术可以有效地优化内存使用,确保游戏在不同的硬件上都有良好的表现。UnrealEngine提供了一些工具来帮助开发者管理纹理流的构建和优化,主要......
  • 反射的用途
    反射的用途动态创建对象:使用反射,你可以创建任何类的实例,即使该类在编译时是未知的。动态访问字段:可以读取和修改私有字段的值,绕过Java的访问控制。动态调用方法:可以调用任何对象的方法,包括私有方法。动态获取类信息:可以查询类的名称、其父类的名称、其实现的接口......
  • PHP中的魔术常量(如__FILE__,__LINE__)及其用途
    在PHP中,魔术常量是一组预定义的常量,它们会根据它们使用的上下文环境而改变其值。这些常量以两个下划线字符开始和结束。魔术常量提供了有关代码执行环境的有用信息,例如当前文件的路径、当前行号等。以下是几个常用的PHP魔术常量及其用途:__FILE__:用途:__FILE__ 魔术常量返......
  • 机器学习-算法分类以及用途
    1.监督学习算法线性回归(LinearRegression)目的:用于预测一个或多个自变量(X)与因变量(Y)之间的线性关系。应用领域:房价预测、销售预测、温度预测等连续值预测问题。逻辑回归(LogisticRegression)目的:虽然名为回归,但实际上是用于二分类问题的分类算法。应用领域:垃圾邮件识别、......
  • centos 7 各个目录的功能和用途是什么
    CentOS7的各个目录在Linux系统中扮演着重要的角色,它们各自具有特定的功能和用途。以下是CentOS7中一些主要目录的功能说明:1./(根目录)功能:包含了整个文件系统的所有文件和目录,是文件系统的起点。使用场景:任何时候都可以访问该目录下的文件和目录。2./bin功能:存放系统最......
  • 【ollama】手把手教你布置本地大语言模型 以及各种常见用途#如何加载guff模型到ollama
    ollama介绍Ollama是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。以下是其主要特点和功能概述:简化部署:Ollama目标在于简化在Docker容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。轻量级与可扩展:作为轻量级......