Linux:防火墙设置操作

这篇具有很好参考价值的文章主要介绍了Linux:防火墙设置操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

防火墙介绍

防⽕墙是保护机器不受来⾃外部的、不需要的⽹络数据的⼀种⽅式。它允许⽤⼾通过定义⼀组防
⽕墙规则来控制主机上的⼊站⽹络流量。这些规则⽤于对进⼊的流量进⾏排序,并可以阻断或允
许流量。

firewalld 是⼀个防⽕墙服务守护进程

firewalld 使⽤区和服务的概念来简化流量管理。
----zones 是预定义的规则集。⽹络接⼝和源可以分配给区。允许的流量取决于您计算机连接到的⽹络,并分配了这个⽹络的安全级别。
----防⽕墙服务是预定义的规则,覆盖了允许特定服务进⼊流量的所有必要设置,并在区中应⽤。
服务使⽤⼀个或多个端⼝或地址进⾏⽹络通信。防⽕墙会根据端⼝过滤通讯。要允许服务的⽹络
流量,必须打开其端⼝。 firewalld 会阻⽌未明确设置为打开的端⼝的所有流量。⼀些区
(如可信区)默认允许所有流量。

linux防火墙配置,linux,运维,服务器

zones

可以根据⽤⼾对该⽹络中的接⼝和流量设置的信任程度,使⽤ firewalld 来将⽹络划分为
不同的区。⼀个连接只能是⼀个区的⼀部分,但⼀个区可以被⽤来进⾏很多⽹络连接。

已经存在的预定义的区存储在 /usr/lib/firewalld/zones/ 文件中

[redhat@bogon ansible]$ ll /usr/lib/firewalld/zones/
total 44
-rw-r--r--. 1 root root 299 Jul 30  2021 block.xml
-rw-r--r--. 1 root root 293 Jul 30  2021 dmz.xml
-rw-r--r--. 1 root root 291 Jul 30  2021 drop.xml
-rw-r--r--. 1 root root 304 Jul 30  2021 external.xml
-rw-r--r--. 1 root root 397 Jul 30  2021 home.xml
-rw-r--r--. 1 root root 412 Jul 30  2021 internal.xml
-rw-r--r--. 1 root root 809 Nov 27  2019 libvirt.xml
-rw-r--r--. 1 root root 729 Aug 18  2021 nm-shared.xml
-rw-r--r--. 1 root root 343 Jul 30  2021 public.xml
-rw-r--r--. 1 root root 162 Jul 30  2021 trusted.xml
-rw-r--r--. 1 root root 339 Jul 30  2021 work.xml

各个文件介绍
block.xml 任何传⼊的⽹络连接都会被拒绝 ,只有从系统启动的⽹络连接才能进⾏。
dmz.xml 对于您的⾮企业化区⾥的计算机来说,这些计算机可以被公开访问,且有限访问您的内部⽹络。只接受所选的⼊站连接。
drop.xml 所有传⼊的⽹络数据包都会丢失,没有任何通知。只有外发⽹络连接也是可⾏的。
external 适⽤于启⽤了伪装的外部⽹络,特别是路由器。您不信任⽹络中的其他计算机不会损害您的计算机。只接受所选的⼊站连接。
home.xml ⽤于家⽤,因为您可以信任其他计算机。只接受所选的⼊站连接。
internal.xml 当您主要信任⽹络中的其他计算机时,供内部⽹络使⽤。只接受所选的⼊站连接。
public.xml 可⽤于您不信任⽹络中其他计算机的公共区域。只接受所选的⼊站连接
trusted.xml 所有⽹络连接都被接受。
work.xml 可⽤于您主要信任⽹络中其他计算机的⼯作。只接受所选的⼊站连接。

安装防火墙时,默认在public区域

预定义服务

服务可以是本地端⼝、协议、源端⼝和⽬的地列表,并在启⽤了服务时⾃动载⼊防⽕墙帮助程序
模块列表。使⽤服务可节省⽤⼾时间,因为它们可以完成⼀些任务,如打开端⼝、定义协议、启
⽤数据包转发等等,⽽不必在另外的步骤中设置所有任务。

服务配置选项和通⽤⽂件信息在 firewalld.service(5) ⼿册⻚中进⾏了描述。
可 使 ⽤ 图 形 化 的 firewall-config ⼯ 具 、 firewall-cmd 和 firewall-offline-cmd来添加和删除服务。

或者可以在 /etc/firewalld/services/ 目录中编辑xml 文件,如果⽤⼾没有添加或更改服务,则在 /etc/firewalld/services/ 中找不到相应的xml文件,如果要添加或更改服务,/usr/lib/firewalld/services/文件可以作为参考

firewalld启动与停止

请在root身份下进行启动停止操作

开启
systemctl unmask firewalld   
systemctl start firewalld

关闭
systemctl stop firewalld
systemctl disable firewalld

unmask: 将不标记 firewalld 服务  ,如果为 mask 无论怎么都不启动防火墙
stop: 停止防火墙,重新启动系统时还是会重新启动防护墙
disable: 在系统重新启动时也不启动防火墙

查看firewalld当前状态和设置

firewarll-cmd	--state      显示状态
systemctl status firewalld.service   更详细的

使⽤ CLI 查看 firewalld 设置

firewalld 使⽤区来管理流量。如果没有通过 --zone 指定区域,则 该命令会将其分配到默认的区域

列出默认区所以相关信息
firewall-cmd --list-all
列出指定区域的相关信息
firewall-cmd --list-all --zone=block
查看帮助信息
irewall-cmd --help

firewalld控制流量

firewalld 软件包安装⼤量预定义的服务⽂件,您可以添加更多或⾃定义它们。然后,您可以使⽤这些服务定义为服务打开或关闭端⼝,⽽⽆需了解这些服务使⽤的协议和端⼝号。

使⽤ CLI 禁⽤紧急事件的所有流量

1,要⽴即禁⽤⽹络流量,请切换 panic 模式:
启⽤ panic 模式可停⽌所有⽹络流量。因此,只有当您具有对机器的物理访问权限或使⽤串⾏控制台登录时,才应使⽤它。

firewall-cmd --panic-on

使⽤ CLI 控制预定义服务的流量

控制流量的最简单的⽅法是在 firewalld 中添加预定义的服务,这会打开所有必需的端⼝并根据 服务定义⽂件 修改其他设置。

列出被添加的服务
firewall-cmd --list-services 
列出所有的预定义服务
firewall-cmd --get-services
在允许的服务中添加服务
firewall-cmd --add-service=http   默认在默认区域添加,但是重载后该服务就会不见,需要重新添加
永久添加这个服务
firewall-cmd --add-service=http --permanent      重载后也不会不见

使⽤ CLI 控制端⼝

端⼝是可让操作系统接收和区分⽹络流量并将其转发到系统服务的逻辑设备。它们通常由侦听端⼝的守护进程来表⽰,它会等待到达这个端⼝的任何流量。

通常,系统服务侦听为它们保留的标准端⼝。例如, httpd 守护进程监听 80 端⼝。但默认情况下,系统管理员会将守护进程配置为在不同端⼝上侦听以便增强安全性或出于其他原因。

打开端口

通过打开端⼝,系统可从外部访问,这代表了安全⻛险。通常,让端⼝保持关闭,且只在某些服务需要时才打开。

列出所有允许的端口
firewall-cmd --list-ports
在允许的端⼝中添加⼀个端⼝,以便为⼊站流量打开这个端⼝
firewall-cmd --add-port=80/tcp 添加80端口,类型为tcp

端⼝类型为 tcp,udp ,sctp,dccp 这个类型必须与⽹络通信的类型匹配

关闭端口

当打开的端⼝不再需要时,在 firewalld 中关闭此端⼝。强烈建议您尽快关闭所有不必要的端⼝,因为端⼝处于打开状态会存在安全隐患。

从允许的端口中删除端口,以便对传⼊的流量关闭
firewall-cmd --remove-port=80/tcp

使用 firewalld 区

zones 代表⼀种更透明管理传⼊流量的概念。这些区域连接到联⽹接⼝或者分配⼀系列源地址。您可以独⽴为每个区管理防⽕墙规则,这样就可以定义复杂的防⽕墙设置并将其应⽤到流量。

列出系统中可用的区域
firewall-cmd --get-zones
查看所有系统中可用区的详细信息:
firewall-cmd --list-all-zones 

更改特定区的 firewalld 设置

例如,要允许在区public 中使⽤ SSH 服务
firewall-cmd --add-service=ssh --zone=public

更改默认区

系统管理员在其配置⽂件中为⽹络接⼝分配区域。如果接⼝没有被分配给指定区,它将被分配给默认区。每次重启 firewalld 服务后,firewalld 会加载默认区的设置,并使其处于活动状态。

当系统的前默认区
firewall-cmd --get-default-zone
设置默认区为home区
firewall-cmd --set-default-zone home

将网络接口分配给区

列出活跃区以及分配给它们的接⼝

[root@bogon ~]# firewall-cmd --get-active-zones
public
  interfaces: ens160

使用nmcli 命令为连接分配区域

nmcli connection modify ens160 connection.zone public     分配到public区

创建⼀个新区

要使⽤⾃定义区,创建⼀个新的区并使⽤它像预定义区⼀样。新区需要 --permanent 选项,否则命令⽆法正常⼯作。

例:创建⼀个新区testzone

 [root@bogon ~]# firewall-cmd --new-zone=testzone --permanent 
 [root@bogon ~]# firewall-cmd --reload 
 success 
 [root@bogon ~]# firewall-cmd --get-zones
 block dmz drop external home internal libvirt nm-shared public testzone trusted work

可在文件 /etc/firewalld/zones/ 中看到新建的区

使⽤区⽬标设定传⼊流量的默认⾏为

对于每个区,您可以设置⼀种处理尚未进⼀步指定的传⼊流量的默认⾏为。此⾏为是通过设置区的⽬标来定义的。有四个选项:

ACCEPT :接受除特定规则不允许的所有传⼊的数据包。

REJECT :拒绝所有传⼊的数据包,但特定规则允许的数据包除外。当firewalld 拒绝数据包时,源 机器会发出有关拒绝的信息。

DROP:除⾮由特定规则允许,丢弃所有传⼊数据包。当firewalld 丢弃数据包时,源 机器不会发出有关丢弃的信息。

default:与 REJECT 的⾏为类似,但在某些情况下有特殊含义。详情请查看 firewalld-cmd(1)man page 中的 Options to Adapt and Query Zones and Policies 部分。

列出特定区的信息以查看默认⽬标:

[root@bogon ~]# firewall-cmd --zone=public --list-all 
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: cockpit dhcpv6-client http ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 


给区设定新的目标
firewall-cmd --permanent --zone=public --set-target=ACCEPT

综合运用

定义2个虚拟机node1,node2
1,在node1主机上配置chrony时间服务器,将该主机作为时间服务器。

2,在node1主机上创建防火墙区域testzone,将node1主机网络接口接入该区域

3,在node1将该防火定义为允许chrony服务通过。

4,在node2主机上配置chrony时间客户段,该主机将node1主机作为时间源服务器

5,配置完防火墙服务后,node1和node2主机的时间服务器可正常工作。

大概思路:
1,首先要知道2个主机的ip ,在各自主机中配置chrony服务器,服务端的时间向真正的网络中请求,客户端的时间向主机node1请求
2,时间服务器配置准备好了后,再到node1上配置防火墙,防火墙不能关闭,导致node2不能直接获取到node1时间,所以为了客户端访问到node1 的时间就需要在node1进行防火墙操作,怎么操作?
3,先知道node1 主机对chrony 监听的端口,然后将这个端口以及对应的协议添加到testznoe 区域。

步骤

步骤1: 首先要知道服务器和客户的ip地址或者主机名字,如下:

客户端:192.168.190.128
服务器:192.168.190.129

2,更改临时主机名

192.168.190.128  设置为 node2
192.168.190.129  设置为 node1

3, 时间服务器的配置
客户端和服务端需要事先安装时间服务器的软件

对node1
[root@node1]# vim /etc/chrony.conf    配置时间服务器的文件
在该文件中写入:
pool 2.rhel.pool.ntp.org iburst      服务器请求网络中的源
allow 192.168.190.128/24   允许来请求时间的主机
保存退出重新启动chronyd

对node2
[root@node2]# vim /etc/chrony.conf    配置时间服务器的文件
在该文件中写入:
pool 192.168.190.129 iburst
保存退出重新启动chronyd

到这里的时候我们尝试用客户端(node2)请求时间,发现怎么请求也不能得到时间
因为服务器开启的,没有允许chrony服务通过

linux防火墙配置,linux,运维,服务器

4,node1 主机的防火墙设置
(1),创建防火墙区域testzone

[root@node1]# firewall-cmd --new-zone=testzone --permanent

(2)node1主机网络接口接入该区域

[root@node1]# nmcli c modify ens160 connection.zone testzone

重新载入
[root@node1]# firewall-cmd --reload 

查看正活动的区域

[root@node1]# firewall-cmd --get-active-zones 
testzone
  interfaces: ens160

查看chrony 服务的端口,发现chrony 服务端口为123 ,udp协议

[root@node1]# netstat -lntup | grep chrony
udp        0      0 127.0.0.1:323           0.0.0.0:*           3747/chronyd        
udp        0      0 0.0.0.0:123             0.0.0.0:*           3747/chronyd        
udp6       0      0 ::1:323                 :::*                3747/chrony

(3)防火墙允许chrony 服务通过

[root@node1]# firewall-cmd --permanent --add-port=123/udp --zone=testzone
重新加载

[root@node1]# firewall-cmd --permanent --set-target=ACCEPT --zone=testzone
重新加载

查看testzone 区

[root@bogon ~]# firewall-cmd --list-all --zone=testzone 
testzone (accept)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: 
  ports: 123/udp
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

最后到node2 主机再次请求时间,发现隔一会就好了

linux防火墙配置,linux,运维,服务器
查看node2 chrony 发现有来自 服务器:192.168.190.129 的记录文章来源地址https://www.toymoban.com/news/detail-758854.html

到了这里,关于Linux:防火墙设置操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux防火墙设置放行、移除端口

    1、查询已开启的端口列表:         若为空,表示所有端口都未放行。 2、端口放行、移除: 3、重启防火墙:

    2024年02月15日
    浏览(36)
  • Linux实战——Tomcat安装部署、Linux中配置JDK环境、关闭防火墙、配置防火墙规则

    Tomcat安装部署【简单】 简介 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被

    2023年04月09日
    浏览(49)
  • Linux防火墙的配置

    Linux防火墙的配置 防火墙是一种网络安全设备,可用于保护网络中的计算机和其他设备免遭来自互联网或其他网络连接的未授权访问。其主要作用是监控网络流量,根据预先设定的规则对网络流量进行过滤,以防止未经授权的访问、攻击和病毒等威胁。 在Linux中,常用的防火

    2024年02月12日
    浏览(37)
  • Linux操作系统:Firewalld防火墙

    Linux操作系统:Firewalld 防火墙 课堂引入: Linux防火墙是通过netfilter来处理的,它是内核级别的框架。iptables被作为netfilter的用户态抽象层,iptables将包通过一系列的规则进行检查,如果包与特定的IP/端口/协议的组合匹配,规则就会被应用到这个包上,以决定包是被通过、拒绝

    2024年02月07日
    浏览(55)
  • Linux下iptables防火墙配置

    目录 一.Linux防火墙基础 1.1 防火墙概述 1.2  四表五链 二. iptables--命令 2.1 iptables的安装 2.2 iptables的配置方法  三.配置Filter表防火墙 3.1 列出(fliter)表中的所有链  iptables -L 3.2 使用数字形式(fliter)表所有链显示输出结果iptables -nL  3.3 清空表中所有链iptables -t filter -F 3.4 添

    2024年02月05日
    浏览(39)
  • Linux:centos7防火墙开放端口操作

    Centos 升级到7之后,发现无法使用iptables控制Linux的端口, google 之后发现Centos 7使用 firewalld 代替了原来的iptables。   但是在CentOS7中也可以iptables控制防火墙,只不过需要安装iptables模块,具体做法请参考: Linux:CentOS7下配置 iptables 一、系统命令 firewalld 的基本使用 防火墙开启

    2023年04月08日
    浏览(48)
  • linux操作防火墙及对外端口开放与禁用

    一、firewall防火墙 1、查看firewall服务状态 systemctl status firewalld 出现Active: active (running)切高亮显示则表示是启动状态。 出现 Active: inactive (dead)灰色表示停止,看单词也行。 2、查看firewall的状态 firewall-cmd --state 3、查看所有开启的端口 firewall-cmd --list-ports 4、开启5000端口 firewal

    2024年02月14日
    浏览(37)
  • Linux下通过AnySetup配置防火墙

      软件 AnySetup 主要功能 主要功能是对Linux操作系统下的基本配置进行管理、多种服务配置进行管理、安全配置进行管理等。如:操作系统的升级管理,软件包的安装、更新和卸载管理,软件仓库源的管理,系统时间和时区的管理,系统语言环境的管理,网络环境的配置管理,

    2024年02月05日
    浏览(40)
  • 在Linux7上配置防火墙

    Linux7防火墙配置方法 查看防火墙状态 在终端输入以下命令,查看防火墙状态: 如果防火墙处于开启状态,会出现以下提示: 如果未开启,则会出现以下提示: 开启防火墙 如果防火墙未开启,则需要输入以下命令来启动防火墙: 如果想要防火墙在开机自动启动,可以输入以

    2024年02月11日
    浏览(38)
  • Linux · Zookeeper的安装、使用及常用命令,虚拟机ping外网,linux防火墙设置

    近期在学习Zookeeper,将服务注册进去并能够正常使用。由于Zookeeper依赖于Java和Linux,所以中间还碰到了一些虚拟机上的问题,在此记录一下,共同学习一下。 Zookeeper是一个分布式协调服务,一般用来做服务注册中心。Zookeeper的数据是存储在内存中的,因此效率较高,内部数据

    2023年04月25日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包