linux Firewalld学习笔记

1、Firewalld默认策略

默认情况会阻止流量流入,但允许流量流出。
在这里插入图片描述

2、Firewalld区域概念

拒绝区域drop、默认区域public、允许区域trusted
在这里插入图片描述

3、区域规则

区域与网卡接口
在这里插入图片描述
默认区域规则
常用的有trusted (相当于白名单)、work/public 区、dmz/drop区
在这里插入图片描述

4、语法规则介绍

区域命令语法和接口命令语法
在这里插入图片描述
服务命令语法、 端口命令语法、管理命令语法
在这里插入图片描述

5、Firewalld区域配置(重点*)

systemctl start firewalldfirewall-cmd --get-default-zone
firewall-cmd --list-all
#下图显示的默认区域是public,绑定eth0和eth1网卡。`仅`允许访问ssh、dhcpv6-client

在这里插入图片描述

5.1多区域配合使用

#要求
使用firewalld各个区域规则结合配置
调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许。1.将默认的public区域中的服务全部删除;
⒉.将来源地址来自于10.0.0.0/24统统都走白名单
#操作
firewall-cmd --remove-service=ssh
firewall-cmd --remove-service=dhcpv6-client
firewall-cmd --list-allfirewall-cmd --add-source=10.0.0.0/4 --zone=trusted
firewall-cmd --get-active-zone

在这里插入图片描述

在这里插入图片描述

6、Firewalld规则配置

#刚才上述的操作是临时的,如果是有重载,则刚才配置全部失效
firewall-cmd --reload

6.1配置端口规则

#单个 与 多个
firewall-cmd --add-port=80/tcp
firewall-cmd --add-port={80/tcp,8080/tcp}#永久
firewall-cmd --add-port={80/tcp,8080/tcp} --permanet
firewall-cmd --reload#查看放行端口
firewall-cmd --list-ports#移除端口规则
firewall-cmd --remove-port={80/tcp,8080/tcp}

在这里插入图片描述

6.2配置服务规则

firewall-cmd -add-service=http
firewall-cmd -add-service={http,https}

在这里插入图片描述
可放行的服务列表

firewall-cmd --get-services

在这里插入图片描述

6.2.1 自定义放行的服务 (可略)

rpm -ql firewalld
cd /usr/lib/firewalld/services/
cp ssh.xml zabbix-agent.xml ;  vim zabbix-agent.xml
firewall-cmd --reload
firewall-cmd -add-service=zabbix-agent

在这里插入图片描述

8、Firewalld实现路由器功能

8.1 Firewalld-实现DNAT

#都开启ipv4转发 ,#添加下面一行
vim /etc/sysctl.conf
net.ipv4.ip_forward=1#使内核修改生效
sysctl -p#环境说明
#eth0可连接外部网络,eth1对应的网段是内网网段
Firewalldeth0:  10.0.0.200     5555端口eth1:  172.16.1.200    web:eth1:  172.16.1.9     22端口

在这里插入图片描述

#实现外部网络访问内部资源
firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.9#iptables写法
#iptables -t nat -I PREROUTING -d 10.0.0.200 -p tcp --dport 5555 -j DNAT --to-destination 172.16.1.9:22

在这里插入图片描述
测试操作
在这里插入图片描述

8.12Firewalld-实现SNAT

在指定的带有公网IP的服务器上启动Firewalld实现内部集群共享上网;
在这里插入图片描述

#firewalld机器操作。 确保firewalld端可以上网,配置开启masquerade 即可,暂不用写snat规则。
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload#客户端将网关指向firewalld服务器,配置DNS
#web03操作
cat /etc/sysconfig/network-scripts/ifcfg-eth1
GATEWAY=172.16.1.61
DNS1=223.5.5.5nmcli connection reload
nmcli connection down eth1 && nmcli connection up eth1

firewalld端
在这里插入图片描述

web端
在这里插入图片描述

END

9、 Firewalld复规则Rule

firewalld中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号

源地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的。

语法:
在这里插入图片描述
rule执行顺序
在这里插入图片描述

9.1 示例1

在这里插入图片描述
在这里插入图片描述

#1.比如允许10.0.0.10主机能够访问http服务,允许172.16.1.0/24能访问22端口
firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.10/32 service name=http accept'
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh accept'

9.2 示例2

在这里插入图片描述

#⒉默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name="ssh" drop'

9.3 示例3

在这里插入图片描述

#2.使用firewalld,允许所有人能访问http, https服务,但只有10.0.0.1主机可以访问ssh服务
firewall-cmd --reload
firewall-cmd --remove-service=ssh
firewall-cmd --add-service={http,https}
firewall-cmd --add-rich-rule "rule family=ipv4 source address=10.0.0.1/32 port="22" protocol="tcp" accept "

9.4 示例4

在这里插入图片描述

#4.当用户来源卫地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.9的22端口
firewall-cmd --add-masquerade
firewall-cmd --add-rich-rule'rule family=ipv4 source address=10.0.0.1/32 forward-port port="5555"  protocol="tcp" to-port="22" to-addr="172.16.1.9"'

by oldxu
END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108190.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站和API支持HTTPS,最好在Nginx上配置

随着我们网站用户的增多,我们会逐渐意识到HTTPS加密的重要性。在不修改现有代码的情况下,要从HTTP升级到HTTPS,让Nginx支持HTTPS是个很好的选择。今天我们来讲下如何从Nginx入手,从HTTP升级到HTTPS,同时支持静态网站和…

leetcode 583. 两个字符串的删除操作

2023.8.26 本题看似很绕&#xff0c;其实就是 最长公共子序列 的变式。 求出最长公共子序列之后&#xff0c;再用两单词的总长度减去他们的最长公共子序列即可。 代码如下&#xff1a; class Solution { public:int minDistance(string word1, string word2) {vector<vec…

从爬楼梯到斐波那契数列:解密数学之美

题目描述 我们来看看力扣的一道经典问题70. 爬楼梯 递归 假设n级台阶有climbStairs(n)种方法爬到楼梯顶。如果有n级台阶&#xff0c;如果第一次往上爬1级台阶&#xff0c;就会剩下n-1级台阶&#xff0c;这n-1级台阶就有climbStairs(n-1)种方法爬到楼梯顶&#xff1b;如果第一…

Delphi 开发手持机(android)打印机通用开发流程(举一反三)

目录 一、场景说明 二、厂家应提供的SDK文件 三、操作步骤&#xff1a; 1. 导出Delphi需要且能使用的接口文件&#xff1a; 2. 创建FMX Delphi项目&#xff0c;将上一步生成的接口文件&#xff08;V510.Interfaces.pas&#xff09;引入: 3. 将jarsdk.jar 包加入到 libs中…

docker安装redis

拉取镜像 docker pull redis:6.0.6查看镜像 docker images查看一下镜像已经拉下来了 下载配置文件 到redis官网下载一下压缩包&#xff0c; http://www.redis.cn/download.html 解压一下&#xff0c;把这个文件准备好 然后修改redis.conf bind 127.0.0.1 # 注释掉这部分&…

浏览器的事件循环

其实在我们电脑的操作系统中&#xff0c;每一个运行的程序都会由自己的进程&#xff08;可能是一个&#xff0c;也可能有多个&#xff09;&#xff0c;浏览器就是一个程序&#xff0c;它的运行在操作系统中&#xff0c;拥有一组自己的进程&#xff08;主进程&#xff0c;渲染进…

C语言练习5(巩固提升)

C语言练习5 选择题 选择题 1&#xff0c;下面代码的结果是&#xff1a;( ) #include <stdio.h> #include <string.h> int main() {char arr[] { b, i, t };printf("%d\n", strlen(arr));return 0; }A.3 B.4 C.随机值 D.5 &#x1f4af;答案解析&#…

C++数据结构学习——栈

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、栈二、C语言实现1.声明代码2.实现增删查改代码3.测试代码 总结 前言 栈&#xff08;Stack&#xff09;是计算机科学中一种常见的数据结构&#xff0c;它是…

函数的参数传递和返回值-PHP8知识详解

本文学习的是《php8知识详解》中的《函数的参数传递和返回值》。主要包括&#xff1a;向函数传递参数值、向函数传递参数引用、函数的返回值。 1、向函数传递参数值 函数是一段封闭的程序&#xff0c;有时候&#xff0c;程序员需要向函数传递一些数据进行操作。可以接受传入参…

【Eclipse】汉化简体中文教程(官方汉化包,IDE自带软件安装功能),图文详情

目录 0.环境 1.步骤 1&#xff09;查看eclipse的版本 2&#xff09;在官网找语言包&#xff0c;并复制链接 3&#xff09;将链接复制到eclipse中 4&#xff09;汉化完成 0.环境 windows11&#xff0c;64位&#xff1b; eclipse 2021-6版本 1.步骤 思路&#xff1a;在官网找…

9个python自动化脚本,PPT批量生成缩略图、添加图片、重命名

引言 最近一番在整理资料&#xff0c;之前买的PPT资源很大很多&#xff0c;但归类并不好&#xff0c;于是一番准备把这些PPT资源重新整理一下。统计了下&#xff0c;这些PPT资源大概有2000多个&#xff0c;一共30多G&#xff0c;一个一个手动整理这个投入产出比也太低了。 作为…

咸鱼之王俱乐部网站开发

我的俱乐部 最新兑换码 *注意区分大小写&#xff0c;中间不能有空格&#xff01; APP666 HAPPY666 QQ888 QQXY888 vip666 VIP666 XY888 app666 bdvip666 douyin666 douyin777 douyin888 happy666 huhushengwei888 taptap666 周活动 宝箱周 宝箱说明 1.木质宝箱开启1个…

哈夫曼编码(C++实现)

文章目录 1. 前言2. 固定长度编码3. 哈夫曼编码4. 哈夫曼解码5. 编码特点6. 代码实现7. 总结 1. 前言 在上一篇文章中&#xff0c;介绍了 哈夫曼树的概念及其实现 。 哈夫曼树有什么用途呢&#xff1f; —— 那就是用来创建哈夫曼编码&#xff08;Huffman Coding —— 一种二…

IDEA软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 IntelliJ IDEA是一款流行的Java集成开发环境&#xff08;IDE&#xff09;&#xff0c;由捷克软件开发公司JetBrains开发。它专为Java开发人员设计&#xff0c;提供了许多高级功能和工具&#xff0c;使得开发人员能够更高效地编写…

识别图片中的文字

前言 PearOCR 是一款免费无限制网页版文字识别工具。 优点如下&#xff1a; 免费&#xff1a;完全免费&#xff0c;没有任何次数、大小限制&#xff0c;可以无限使用&#xff1b; 安全&#xff1a;全部数据本地运算&#xff0c;所有图片均不会被上传&#xff1b; 智能&#xf…

数仓--------简单了解

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

【坑】Vue中带有__ob__: Observer的数组无法遍历的问题

控制台可以打印出数据但是渲染不出结构 解决办法&#xff1a; setTimeout(() > {Bus.$emit(shareRes, this.result.filter(item > item.id id)) }, 500)替换 Bus.$emit(shareRes, this.result.filter(item > item.id id))总结 解决和总结 好像和__ob__.Observe无…

Android 11/12 app-lint 系统Update-API时Lint检查问题

有以下两种解决方法 1. 加SupressLint注解 这种方式你可以其他博客也有 但是要每个类和方法都加上SuppressLint 太麻烦了 我才不要这样呢 2. 添加 --api-lint-ignore-prefix 参数直接跳过代码检查 1. 打开 frameworks/base/Android.bp 文件 2. 搜索找到这个字段 metalava…

简述docker映射(Mapping)和挂载(Mounting)

映射的概念&#xff1a; 将容器内的端口映射到主机的端口上&#xff0c;这样就可以通过主机的网络接口与容器内部进行通信。主机上对应端口的请求会被转发到容器内部&#xff0c;从而实现对容器内部程序的通信访问&#xff08;注意&#xff01;这里提到的容器内部的端口并不一定…

PDFPrinting.Net Crack

PDFPrinting.Net Crack 它能够轻松灵活地预测完美的打印结果以及用户文件的示例性显示。在.NET的PDF打印中&#xff0c;可以快速浏览最关键的元素。如果用户需要获得更详细的概述&#xff0c;那么他可以查看快速入门手册&#xff0c;甚至现有文档的详细概述参考。 在这种情况下…