linux 防火墙(firewall)

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

一 : 介绍

1.1

防⽕墙是保护机器不受来⾃外部的、不需要的⽹络数据的⼀种⽅式。它允许⽤⼾通过定义⼀组防

⽕墙规则来控制主机上的⼊站⽹络流量。这些规则⽤于对进⼊的流量进⾏排序,并可以阻断或允

许流量。

1.2

firewalld 是⼀个防⽕墙服务守护进程,其提供⼀个带有 D-Bus 接⼝的、动态可定制的、

基于主机的防⽕墙。如果是动态的,它可在每次修改规则时启⽤、修改和删除规则,⽽不需要在

每次修改规则时重启防⽕墙守护进程。

1.3(区别)

1.3.1

firewalld :使⽤ firewalld 实⽤程序进⾏简单防⽕墙⽤例。此⼯具易于使⽤,并

涵盖了这些场景的典型⽤例

1.3.2

nftables :使⽤ nftables 实⽤程序设置复杂和⾼性能的防⽕墙,如为整个⽹络设

置。

1.3.3

iptables :Red Hat Enterprise Linux 上的 iptables ⼯具使⽤ nf_tables 内

核 API ⽽不是 legacy 后端。 nf_tables API 提供了向后兼容性,以便使⽤

iptables 命令的脚本仍可在 Red Hat Enterprise Linux 上⼯作。对于新的防⽕墙脚

本,红帽建议使⽤ nftables

1.4(联系)

RHEL 7 中使⽤ firewalld 服务作为⽤⼾配置防⽕墙规则的⼯具,iptables 作为实现防⽕墙规则的⽤⼾空间实现,因此通过 firewall-cmd 与 iptables 命令⾏均可实现防⽕墙的配置。RHEL 8 中也使⽤ firewalld 服务,但其后端默认通过 nftables 实现防⽕墙规则,iptables也可作为其后端,但为⾮默认配置可通过⼿动⽣效

1.5(Zones 分区)

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

1.5.1(分区工具)

NetworkManager 通知接⼝区的 firewalld 。您可以为接⼝分配区:

fi rewall- confi g 图形化⼯具

fi rewall- cmd 命令⾏⼯具

后 三 个 只 能 编 辑 适 当 的 NetworkManager 配 置 ⽂ 件 。 如 果 您 使 ⽤ web 控 制 台

fi rewall- cmd 或 fi rewall- confi g 来 更 改 接 ⼝ 的 区 , 则 请 求 将 被 转 发 到

NetworkManager ,且不是由 fi rewalld 来处理。

预定义的区存储在 /usr/lib/fi rewalld/zones/ ⽬录中,并可⽴即应⽤到任何可⽤的⽹

络接⼝。只有在修改后,这些⽂件才会被拷⻉到 /etc/fi rewalld/zones/ ⽬录中

预定区默认配置有:

block :任 何 传 ⼊ 的 ⽹ 络 连 接 都 会 被 拒 绝 , 并 报 IPv4 的 icmp-host-prohibited 消息和

IPv6 的 icmp6-adm-prohibited 消息 。只有从系统启动的⽹络连接才能进⾏。

dmz :对于您的⾮企业化区⾥的计算机来说,这些计算机可以被公开访问,且有限访问您的内部

⽹络。只接受所选的⼊站连接。

drop :所有传⼊的⽹络数据包都会丢失,没有任何通知。只有外发⽹络连接也是可⾏的。

external :适⽤于启⽤了伪装的外部⽹络,特别是路由器。您不信任⽹络中的其他计算机不会损害您

的计算机。只接受所选的⼊站连接。

home :⽤于家⽤,因为您可以信任其他计算机。只接受所选的⼊站连接。

internal :当您主要信任⽹络中的其他计算机时,供内部⽹络使⽤。只接受所选的⼊站连接。

public :可⽤于您不信任⽹络中其他计算机的公共区域。只接受所选的⼊站连接。

trusted :所有⽹络连接都被接受。

work :可⽤于您主要信任⽹络中其他计算机的⼯作。只接受所选的⼊站连接。

二:防火墙的使用

2.1防火墙的启用

[root@kittod ~ # systemctl unmask firewalld

[root@kittod ~ # systemctl start firewalld

[root@kittod ~ # systemctl enable firewalld (系统启动时自动启用)

2.2防火墙的停止

[root@kittod ~ # systemctl stop firewalld

[root@kittod ~ # systemctl disable firewalld (防止系统启动时自动启动)

2.3 查看防火墙的状态

[root@kittod ~ # firewall- cmd --state

[root@kittod ~ # systemctl status firewalld

2.4查看区的状态:

[root@kittod ~ # firewall- cmd --list- all(列出默认区的相关信息)

[root@kittod ~ # firewall- cmd --list-all-zone=home(列出指定区home的状态)

2.5查看当前区允许哪些服务

[root@kittod ~ # firewall- cmd --list- services

2.6当要禁止网络服务时可以使用以下命令(谨慎使用):

[root@kittod ~ # firewall- cmd --panic-on(启用)

[root@kittod ~ # firewall- cmd --query- panic(是否关闭)

启⽤ panic 模式可停⽌所有⽹络流量。因此,只有当您具有对机器的物理访问权限或使⽤

串⾏控制台登录时,才应使⽤它。

2.7列出所有预定的服务

[root@kittod ~ # firewall- cmd --get-services

2.8检查被允许的服务

[root@kittod ~ # firewall- cmd --get-services

2.9添加允许服务

[root@kittod ~ # firewall- cmd --add-service=http

2.10添加永久服务

[root@kittod ~ # firewall- cmd --runtime- to- permanent

2.11 端口的设置:

2.11.1 列出所有允许端口

[root@kittod ~ # firewall- cmd --list- ports

2.11.2 在允许端口中添加端口

[root@kittod ~ # firewall- cmd --add- port=port- number/port- type

2.11.3删除端口

[root@kittod ~ # firewall- cmd --remove- port=port- number/port- type

2.12 区域

2.12.1 列出可用区域

[root@kittod ~ # firewall- cmd - get- zone

2.12.2 查看所有区的详细信息

[root@kittod ~ # firewall- cmd - list- all- zones

2.12.3 查看特定区的信息

[root@kittod ~ # firewall- cmd - zone=zone- name - list- all

2.12.4 更改特定区的设置

[root@kittod ~ # firewall- cmd --add- service=ssh - zone=public

2.12.5 更改默认区

[root@kittod ~ # firewall- cmd --get- default- zone

2.12.6 设置新的默认区

[root@kittod ~ # firewall- cmd --set- default- zone zone- name

2.13 网络接口分配给区

2.13.1 列出启用区域以及接口

[root@kittod ~]# fi rewall- cmd --get- active- zones

2.13.2 为不同的区分配接口

[root@kittod ~]# firewall- cmd --zone=internal -- change- interface=ens224

[root@kittod ~]# firewall- cmd --get- active- zones(查看)

2.14 使用nmcli为连接分配区域

[root@kittod ~]# nmcli connection modify ens256 connection.zone public

[root@kittod ~]# firewall- cmd - get- active- zones

2.15 创建一个区

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

[root@kittod ~]# firewall- cmd --get- zones

[root@kittod ~]# firewall- cmd --reload

[root@kittod ~]# firewall- cmd --get- zones

2.16 配置区文件

区配置⽂件包含区的信息。这些区描述、服务、端⼝、协议、icmp-blocks、

masquerade、forward-ports 和丰富的语⾔规则采⽤ XML ⽂件格式。⽂件名必须是 * zone-

name* .xml , 其 中 zone-name 的 ⻓ 度 限 制 为 17 个 字 符 。 区 配 置 ⽂ 件 位 于/usr/lib/fi rewalld/zones/ 和 /etc/fi rewalld/zones/ ⽬录中

[root@kittod ~]# cd /etc/fi rewalld/zones/

[root@kittod zones]# cp public.xml testzone02.xml

[root@kittod zones]# fi rewall- cmd - get- zones

block dmz drop external home internal nm- shared public testzone trusted

work

[root@kittod zones]# fi rewall- cmd --reload

success

[root@kittod zones]# fi rewall- cmd --get- zones

block dmz drop external home internal nm- shared public testzone

testzone02 trusted work

2.17设定传入区流量的默认行为

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

REJECT :拒绝所有传⼊的数据包,但特定规则允许的数据包除外。当 fi rewalld

拒绝数据包时,源机器会发出有关拒绝的信息。

DROP :除⾮由特定规则允许,丢弃所有传⼊数据包。当 fi rewalld 丢弃数据包时,

源机器不知道数据包丢弃的信息。

2.17.1 列出特定区的默认目标

[root@kittod ~ # fi rewall- cmd --zone=zone- name --list- all

2.17.2 设置区中的新目标

[root@kittod ~ # fi rewall- cmd --permanent - zone=zone- name --set

target=<default|ACCEPT|REJECT|DROP>

三:题目

定义两个虚拟主机 node1, node2

1、在 node1 主机上配置 chrony 时间服务器,将该主机作为时间服务器。

2、在 node1 主机上创建防火墙区域 testzone, 将 node1 主机网络接口接入该区域,创建新防火墙服务为 timeservice

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

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

5、配置完防火墙服务之后,node1 和 node2 主机的时间服务器可以正常工作。文章来源地址https://www.toymoban.com/news/detail-725859.html

创建一个新区:

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

将网络接口划入分区

[root@localhost ~]# nmcli connection modify ens160 connection.zone testzone
[root@localhost ~]# firewall-cmd --get-active-zones 
testzone
  interfaces: ens160

创建新的防火墙服务

[root@localhost ~]# firewall-cmd --new-service=timeservice --permanent
success
[root@localhost ~]# ll /etc/firewalld/services/
total 4
-rw-r--r--. 1 root root 60 Mar 16 00:02 timeservice.xml

vim编辑/etc/firewalld/services/:

查看服务端口的命令

[root@localhost services]# netstat -nultp
linux 防火墙,服务器,Powered by 金山文档

将服务timeservice放入public zones 永久放行

linux 防火墙,服务器,Powered by 金山文档
public
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: cockpit dhcpv6-client ssh timeservice
  ports: 
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

时间配置 vim/etc/chrony.conf:

node1

server ntp1.aliyun.com  iburst
allow 192.168.203.132

node2

server  192.168.203.133  iburst  (node1的ip)

node2

linux 防火墙,服务器,Powered by 金山文档

node1

linux 防火墙,服务器,Powered by 金山文档

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

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

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

相关文章

  • 服务器防火墙设置教程

    1. 第一步,点击桌面右下角打开开始菜单,在搜索栏输入搜索“控制面板”,如果直接能看到控制面板图标也可以直接点击 打开。 2. 第二步,打开控制面板页面之后,点击右上角把查看方式设置为“小图标”,找到并点击打开windows防火墙。 3. 第三步,打开Windows防火墙页面

    2024年02月19日
    浏览(31)
  • 【Linux】配置网络和firewall防火墙(超详细介绍+实战)

    🥇🥇【Liunx学习记录篇】🥇🥇 篇一:【Linux】VMware安装unbuntu18.04虚拟机-超详细步骤(附镜像文件) 篇二:【Linux】ubuntu18.04系统基础配置及操作 篇三:【Linux】用户与组的操作详细介绍 篇四:【Linux】管理Linux文件权限属性介绍 篇五:【Linux】使用数字表示法和文件表示法修

    2024年02月04日
    浏览(29)
  • 防火墙之服务器负载均衡

    防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安

    2024年02月07日
    浏览(78)
  • 服务器防火墙状态怎么查看

    在现代网络环境中,服务器的安全运行至关重要。其中,防火墙作为第一道防线,是保障服务器安全的关键一环。在服务器管理中,我们经常需要查看防火墙的状态,以便及时发现问题并快速解决。小编将介绍如何在不同操作系统下查看服务器防火墙的状态。 首先我们以Wi

    2024年02月10日
    浏览(25)
  • 服务器防火墙有哪些用处

    服务器防火墙是一个用于在两个网络之间实施访问控制策略的系统,它通常由软件和硬件构成。服务器防火墙可以监控进出网络的通信量,仅让安全、核准了的信息进入,同时又抵制对企业构成威胁的数据。 防火墙的主要功能包括阻止某些类型的流量通过(双向)防火墙,允

    2024年01月20日
    浏览(31)
  • 【Linux】Linux在防火墙firewall中开放或删除某端口

    在生产中往往是不能关闭防火墙firewall的(以下操作是在linux中执行的) 开启防火墙的状态下开启的8080的访问端口 删除某个端口:

    2024年02月11日
    浏览(28)
  • linux防火墙(firewall)对端口和IP开放与限制

    启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 : systemctl enable firewalld

    2024年02月07日
    浏览(34)
  • 防火墙之部署服务器NAT

    NAT(Network Address Translation),是指网络地址转换,1994年提出的。 当在 专用网 内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 这种方法需要在专用网(私网IP)连接到因

    2024年02月08日
    浏览(34)
  • 华为防火墙实现服务器负载均衡

    292、实验:服务器的负载均衡SLB 实验topo: 实验场景: 一些访问流量较大的服务,会面临着有多个服务器的情况,所以我们就要在多个服务器之间做负载均衡; 实验需求: 新建一条负载均衡NAT,让外网访问内网服务器的时候,能够实现负载均衡,并且,负载均衡使用轮询算

    2023年04月08日
    浏览(37)
  • 服务器防火墙和安全组放开

    我的项目上传后安全组也放开了但是访问项目地址404,最后发现是服务器防火墙没放行。 下面介绍一下如何排查防火墙问题。 查看防火墙状态:systemctl status firewalld 禁用防火墙:systemctl stop firewalld 启动防火墙:systemctl start firewalld 设置开机启动:systemctl enable firewalld 重启防

    2024年03月11日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包