百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

firewall-cmd 常用命令

citgpt 2024-10-26 09:03 17 浏览 0 评论

目录


firewall-cmd 常用命令

firewalld zone 说明

firewall zone 内容说明

firewall-cmd 常用参数

firewall-cmd 常用命令

常用命令

 


回到顶部

firewalld zone 说明

Public(公共):

  此区域适用于公共网络,例如互联网。

  默认情况下,不信任的流量通常被阻止。

External(外部):

  此区域适用于外部网络,例如在连接到互联网的服务器上的网络接口。

  类似于 Public 区域,但是可以区分外部和内部信任的网络流量。

Internal(内部):

  此区域适用于内部网络,例如局域网。

  允许较多的流量通过,通常被信任的流量不会被阻止。

DMZ(非信任区域):

  此区域适用于放置公共服务器的网络区域。

  允许一些服务通过,但通常比 Internal 区域更严格。

Work(工作):

  此区域适用于工作环境中的网络,例如企业内部网络。

  允许更多类型的流量通过,通常被信任的流量不会被阻止。

Home(家庭):

  此区域适用于家庭网络。

  允许较多的流量通过,通常被信任的流量不会被阻止。

Trusted(受信任):

  此区域信任所有流量,不进行任何过滤。

Block(阻止):

  此区域拒绝所有流量。

回到顶部

firewall zone 内容说明

public                     # zone 名称

  target: default          # 定义了此区域的目标行为。如果没有具体规则匹配,则使用默认目标。例如,DROP 或 ACCEPT。使用 "default" 意味着使用默认行为。

  icmp-block-inversion: no # 指定是否反转 ICMP 阻挡规则。no 表示仅阻止列出类型的 ICMP 包。如果设置为 yes,将允许列出类型的 ICMP 包,并阻止其他所有类型。

  interfaces:              # 定义该区域关联的网络接口。

  sources:                 # 定义源 IP 地址或网络范围 (CIDR) 与该区域关联。

  services: dhcpv6-client  # 指定允许的服务。dhcpv6-client 服务被允许

  ports: 6379/tcp          # 指定允许的端口。TCP 端口 6379 被开放

  protocols:               # 指定允许的协议。

  masquerade: no           # 指定是否启用地址伪装 (NAT)。no 表示不启用地址伪装。

  forward-ports:           # 定义端口转发规则。

  source-ports:            # 定义源端口规则。

  icmp-blocks:             # 列出被阻止的 ICMP 类型。

  rich rules:              # 允许用户定义复杂的防火墙规则。rich rules 提供了高级的规则配置,可以包括诸如时间限制、日志记录、特定的源和目标地址、服务、端口等。

回到顶部

firewall-cmd 常用参数

--add-service=<service>:添加一个服务到防火墙规则中。<service> 是要添加的服务的名称。

--remove-service=<service>:从防火墙规则中移除指定的服务。<service> 是要移除的服务的名称。

--add-port=<port>/tcp:添加一个 TCP 端口到防火墙规则中。<port> 是要添加的端口号。

--add-port=<port>/udp:添加一个 UDP 端口到防火墙规则中。<port> 是要添加的端口号。

--remove-port=<port>/tcp:从防火墙规则中移除指定的 TCP 端口。<port> 是要移除的端口号。

--remove-port=<port>/udp:从防火墙规则中移除指定的 UDP 端口。<port> 是要移除的端口号。

--zone=<zone>:指定要操作的防火墙区域。<zone> 是防火墙的区域名称。

--list-all:列出当前防火墙的所有规则。

--reload:重新加载防火墙规则,使更改生效。

--permanent:将规则永久性地保存在防火墙配置中。

--query-service=<service>:检查指定服务是否在防火墙规则中。

--get-services:获取所有可用的服务列表。

--panic-on:将防火墙设置为 Panic 模式,即阻止所有网络流量。

--panic-off:禁用 Panic 模式,允许网络流量通过防火墙。

--get-active-zones:它将列出系统上所有活动的网络接口及其所属的区域。

--get-zone-of-interface=<interface>:它将返回指定接口所属的防火墙区域的名称。例如 eth0。

回到顶部

firewall-cmd 常用命令

添加允许某个端口的流量到特定区域

firewall-cmd --zone=public --add-port=80/tcp --permanent

移除某个端口的流量规则

firewall-cmd --zone=public --remove-port=80/tcp --permanent

添加允许某个服务的流量到特定区域

firewall-cmd --zone=public --add-service=http --permanent

移除某个服务

firewall-cmd --permanent --zone=public --remove-service=ssh

查看当前区域的所有规则

firewall-cmd --zone=public --list-all

重新加载防火墙规则

firewall-cmd --reload

查看所有打开的端口

firewall-cmd --zone=public --list-ports

direct

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 22 -j ACCEPT

这条命令告诉firewalld在INPUT链的顶部(0)添加一个允许TCP端口22的规则(SSH连接),并将其设置为接受(ACCEPT)。

端口转发

# 这个命令将在防火墙上创建一个源 NAT 转发规则,将来自本机的 TCP 流量的 8080 端口转发到内部主机的 192.168.1.100 地址的 80 端口。

firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.100  

# 这个命令将在防火墙上创建一个端口转发规则,将 TCP 流量的 8080 端口转发到内部主机的 192.168.1.100 地址的 80 端口。这使得外部用户可以通过访问防火墙上的 8080 端口来访问内部网络的 Web 服务。

firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.100

添加允许特定源 IP 访问的规则 

# 允许具有源IP地址为192.168.1.100的IPv4流量通过防火墙。

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'

添加拒绝特定端口访问的规则

# 拒绝所有IPv4 UDP流量的53端口访问。

firewall-cmd --add-rich-rule='rule family="ipv4" port protocol="udp" port="53" drop'

添加限制 ICMP 类型的规则

# 允许IPv4 ICMP 协议通过防火墙。

firewall-cmd --add-rich-rule='rule family="ipv4" protocol value="icmp" icmp-type=echo-reply accept'


firewall-cmd --zone=myzone --add-rich-rule='rule family="ipv4" source address="192.168.1.101" icmp-type name="echo-request" drop' --permanent

添加限制特定网络接口的规则

# 拒绝所有从eth0网络接口进入的IPv4流量。

firewall-cmd --add-rich-rule='rule family="ipv4" source interface="eth0" drop'

仅在工作时间(例如 9AM 到 6PM)允许特定源 IP 访问

sudo firewall-cmd --zone=myzone --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=6379 protocol=tcp time daytime from="09:00" to="18:00" accept' --permanent

回到顶部

常用命令

firewall-cmd --permanent --new-zone=appzone


firewall-cmd --permanent --set-target=ACCEPT


firewall-cmd --permanent --zone=appzone --add-source=192.168.174.100


firewall-cmd --permanent --zone=appzone --add-port=9100/tcp


firewall-cmd --permanent --zone=appzone --add-rich-rule='rule family="ipv4" source address="192.168.1.100"  port protocol="tcp" port="9200" accept'


firewall-cmd --permanent --zone=appzone --remove-port=9100/tcp


firewall-cmd --permanent --zone=appzone --delete-zone=appzone


firewall-cmd --permanent --zone=appzone --remove-source=192.168.174.100


firewall-cmd --permanent --zone=appzone --remove-service=ssh


firewall-cmd --permanent --zone=appzone --remove-rich-rule='rule family="ipv4" source address="192.168.1.100"  port protocol="tcp" port="9200" accept'


firewall-cmd --list-all-zone


firewall-cmd --zone=appzone --list-all


firewall-cmd --reload


firewall-cmd --list-interfaces


firewall-cmd --permanent --zone=dockerappzone --add-interface=docker0


firewall-cmd --permanent --zone=dockerappzone --add-masquerade

firewall-cmd --permanent --zone=dockerappzone --remove-masquerade


相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令
firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 ...

2024-10-26 09:03 citgpt

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: