Linux中防火墙的简单使用方法

目录

前言

​编辑

一、概念

1、防火墙的分类:

2、防火墙性能

3、硬件防火墙的品牌、软件防火墙的品牌

4、硬件防火墙与软件防火墙比较

二、linux中的防火墙

1、iptables

2.netfilter/iptables功能

3、四表

iptables中表的优先级

4、五链

三、iptables

1、iptables规则匹配条件分类基本匹配条件:

基本匹配使用选项及功能

隐式匹配选项及功能

multipor 多端口

iprang 多地址

time 指定访问时间范围

connlimit 连接限制,根据每个客户端IP作并发连接数量限制

state 报文速率限制

制定iptables规则思路

iptables链管理方法

iptables规则管理

iptables规则显示

四、iptables应用

五、实验

1、实验一(保存策略)

2、实验二(host2安装http服务,禁止访问防火墙的80端口,其他都可以访问)

3、实验三(拒绝多个端口)



前言

防火墙的定义:

防火墙是一种网络安全设备或软件,用于监控和控制网络流量,以保护计算机网络免受未经授权的访问、恶意攻击和未经授权的数据传输。防火墙通过筛选网络流量并根据预定义的规则集来允许或阻止特定类型的通信。

防火墙可以在不同的网络层级上操作,包括网络层、传输层和应用层。它可以检测和阻止恶意流量,如网络攻击、病毒、恶意软件和未经授权的访问。防火墙还可以实施安全策略,例如限制特定IP地址或端口的访问,允许或阻止特定类型的网络服务或协议。

防火墙通常由硬件设备(如网络防火墙)或软件(如操作系统防火墙)实现。它们可以配置为允许特定类型的流量通过,而阻止其他类型的流量。防火墙可以是网络边界上的关键设备,也可以在内部网络中部署以提供额外的安全性。

总之,防火墙是保护计算机网络免受网络威胁和攻击的关键组件,它起到了过滤和控制网络流量的作用,确保网络的安全性和完整性。

一、概念

1、防火墙的分类:

防火墙可以根据其部署位置、功能和实现方式进行分类。以下是常见的防火墙分类:

1. 网络层防火墙(Network Layer Firewalls):这种防火墙工作在网络层(OSI模型的第三层),通常作为网络边界的第一道防线。它基于源IP地址、目标IP地址、端口号等网络层信息进行过滤和控制网络流量。

2. 应用层防火墙(Application Layer Firewalls):这种防火墙工作在应用层(OSI模型的第七层),能够深入理解应用协议和数据流,并根据具体应用的特征进行防护。它可以检测和阻止特定应用协议的非法或恶意行为。

3. 主机防火墙(Host-based Firewalls):这种防火墙运行在主机上,可以保护特定主机或服务器免受未经授权的访问和攻击。它可以监控特定主机上的进出流量,并基于规则集来处理该流量。

4. 无线防火墙(Wireless Firewalls):这种防火墙专门用于保护无线网络,可以检测和阻止未经授权的无线访问和攻击,确保无线网络的安全性。

5. 下一代防火墙(Next-Generation Firewalls):这种防火墙结合了传统防火墙的流量过滤和访问控制功能,以及先进的安全功能,如入侵检测和预防(IDS/IPS)、应用识别、URL过滤、恶意软件检测等。

此外,还可以根据实现方式将防火墙分为硬件防火墙和软件防火墙。硬件防火墙是一种独立的设备,通常作为网络边界的关键设备。软件防火墙是安装在服务器或主机上的软件程序,用于保护特定主机或服务器。

2、防火墙性能

防火墙的性能取决于多个因素,包括硬件设备的处理能力、软件算法的效率、流量规模和类型,以及所应用的安全策略等。以下是影响防火墙性能的一些关键因素:

1. 处理能力:防火墙设备的处理能力是决定其性能的关键因素之一。这包括处理器的速度、内存容量和网络接口的带宽等。较高的处理能力可以更快地处理和过滤网络流量。

2. 数据包处理速度:防火墙能够处理的数据包数量和速度也会影响其性能。高性能的防火墙可以在较短的时间内处理更多的数据包,提高网络的吞吐量。

3. 会话状态跟踪:防火墙通常会维护会话状态表来跟踪网络连接的状态。这对于检查流量是否是合法的、执行访问控制策略和实施网络地址转换等功能至关重要。有效的会话状态跟踪算法可以提高防火墙的性能。

4. 安全策略和规则集复杂度:防火墙的性能还取决于所使用的安全策略和规则集的复杂度。当规则集非常庞大或存在复杂的规则匹配条件时,防火墙可能需要更长的时间来处理流量。

5. 流量类型和规模:不同类型的网络流量和流量规模也会对防火墙的性能产生影响。例如,处理大量小数据包(如VoIP流量)可能需要更多的处理能力。

6. 安全功能和服务:如果防火墙还提供其他安全功能和服务,如入侵检测和预防系统(IDS/IPS)、虚拟专用网络(VPN)等,这些功能的开启可能会对防火墙的性能造成一定的影响。

请注意,以上因素是综合影响防火墙性能的一些关键因素,实际性能可能因具体的产品、配置和网络环境而有所不同。选择适合您网络需求的高性能防火墙,并进行合理的配置和优化,可以提供更好的网络安全保护和流量处理能力。

3、硬件防火墙的品牌、软件防火墙的品牌

硬件防火墙的品牌有 华为、 Cisco ASA, Fortinet FortiGate, Palo Alto Networks, Juniper Networks SRX 等。

软件防火墙的品牌有 Symantec Norton, McAfee, Check Point, Trend Micro, Kaspersky 等。

4、硬件防火墙与软件防火墙比较

硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。

软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用   于单机系统或个人计算机中,不直接用于计算机网络中。

二、linux中的防火墙

1、iptables

iptables不是防火墙,是防火墙用户代理用于把用户的安全设置添加到安全框架中  安全框架是防火墙

安全框架的名称为netfilter

netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具

2.netfilter/iptables功能

netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的   企业级硬件防火墙,能够实现如下功能:

数据包过滤,即防火墙数据包重定向,即转发网络地址转换,即可NAT

3、四表

filter: 过滤功能,确定是否放行该数据包,属于真正防火墙,内核模块:iptables_filter nat: 网络地址转换功能,修改数据包中的源、目标IP地址或端口;内核模块:iptable_nat mangle: 对数据包进行重新封装功能,为数据包设置标记;内核模块:iptable_mangle raw: 确定是否对数据包进行跟踪;内核模块:iptables_raw ;security:是否定义强制访问控制规则;后加上的

iptables中表的优先级

raw-mangle-nat-filter(由高至低)

4、五链

INPUT:处理入站数据包

OUTPUT:处理出站数据包

FORWARD:处理转发数据包(主要是将数据包转发至本机其它网卡)

当数据报文经过本机时,网卡接收数据报文至缓冲区,内核读取报文ip首部,发现报文不是送到本机时(目的ip  不是本机),由内核直接送到forward链做匹配,匹配之后若符合forward的规则,再经由postrouting送往下一  跳或目的主机。

PREROUTING:在进行路由选择前处理数据包,修改到达防火墙数据包的目的IP地址,用于判断目标主机

POSTROUTING:在进行路由选择后处理数据包,修改要离开防火墙数据包的源IP地址,判断经由哪一接口送往  下一跳

三、iptables

1、iptables规则匹配条件分类基本匹配条件:

源地址,目标地址,源端口,目标端口等

语法  iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

iptables命令具有许多选项,以下是常用的一些选项:- `-A`:在规则链的末尾添加一条规则。
- `-D`:从规则链中删除一条规则。
- `-I`:在规则链的开头插入一条规则。
- `-P`:设置规则链的默认策略。
- `-F`:清除规则链中的所有规则。
- `-L`:列出规则链中的所有规则。
- `-N`:创建一个自定义的规则链。
- `-E`:重命名规则链。
- `-X`:删除一个自定义的规则链。
- `-P`:设置规则链的默认策略。
- `-s`:指定源IP地址或地址范围。
- `-d`:指定目标IP地址或地址范围。
- `-p`:指定匹配的协议。
- `-j`:指定动作,如ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)等。
- `-i`:指定输入接口。
- `-o`:指定输出接口。
- `-m`:指定使用的模块。这只是一部分常用的选项,还有其他更高级的选项用于更复杂的规则配置。您可以使用`iptables --help`命令查看完整的选项列表和用法说明。

基本匹配使用选项及功能

-p  protocal 指定规则协议, tcp (传输层)  udp (传输层)  icmp (网络层)  ip(网络层) -s  source   指定数据包的源地址, 192.168.1.10 -d  destination 指定目的地址 -i  输入 网卡 接口  如:lo本地回环,ens 33  -o  输出 网卡 接口  如:ens 37 ,ens 33 ! 取 反

隐式匹配选项及功能

-p  tcp --sport  匹配报文源端口;可以给出多个端口,但只能是连续的端口范围 --dport  匹配报文目标端口;可以给出多个端口,但只能是连续的端口范围 -p  udp --sport  匹配报文源端口;可以给出多个端口,但只能是连续的端口范围 --dport  匹配报文目标端口;可以给出多个端口,但只能是连续的端口范围 --icmp-type 0 /0 echo  reply  允许其他主机 ping 8 /0 echo  request  允许 ping 其他主机

显式匹配使用选项及功能

multipor 多端口

iptables  -I  INPUT  -d  192 .168.2.10  -p  tcp  -m  multiport  --dports  22 ,80  -j  ACCEPT # INPUT 链中开放本机 tcp  22 tcp80 端口 iptables  -I  OUTPUT  -s  192 .168.2.10  -p  tcp  -m  multiport  --sports  22 ,80  -j  ACCEPT # OUTPUT 链中开发源端口 tcp  22 tcp80

iprang 多地址

iptables -A INPUT -d 192.168.2.10 -p tcp --dport 23 -m iprange --src-range 192.168.2.11-192.168.2.21 -j ACCEPT

iptables  -A  OUTPUT  -s  192 .168.2.10  -p  tcp  --sport  23  -m  iprange  --dst-range 192 .168.2.11-192.168.2.21 -j  ACCEPT

time 指定访问时间范围

iptables -A INPUT -d 192.168.2.10 -p tcp --dport 901 -m time --weekdays Mon,Tus,Wed,Thu,Fri --timestart 08:00:00 --time-stop 18:00:00 -j ACCEPT

iptables -A OUTPUT -s 192 .168.2.10 -p tcp --sport 901 -j  ACCEPT

connlimit 连接限制,根据每个客户端IP作并发连接数量限制

--connlimit-upto n 连接数小于等于n时匹配

--connlimit-above  n  连接数大于 n 时匹配

state 报文速率限制

--state ESTABLISHED已建立的连接

--state NEW  新连接请求 --state INVALID  无法识别的连接 --state RELATED 该规则用于允许与已建立的连接相关联的其他连接通过防火墙 --state UNTRACKED  未追踪的连接

追踪本机上的请求和响应之间的数据报文的状态。状态有五种:INVALID, ESTABLISHED, NEW, RELATED, UNTRACKED

对于进入的状态为ESTABLISHED都应该放行;

对于出去的状态为ESTABLISHED都应该放行;

严格检查进入的状态为NEW的连接;

所有状态为INVALIED都应该拒绝;


制定iptables规则思路

  1. 选择一张表,此表决定了数据报文处理的功能
  2. 选择一条链,此链决定了数据报文流经哪些位置
  3. 选择合适的规则,此条件决定了对数据做何种条件匹配

选择处理数据报文的动作 拒绝还是允许

iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]

动作

ACCEPT:允许通过防火墙的数据包,即接受该数据包,允许其进入或离开防火墙。

DROP:丢弃该数据包,不允许其通过防火墙,不给予响应。
REJECT:拒绝该数据包,并向发送方发送一个错误响应,告知数据包已被阻止。
LOG:记录该数据包的日志信息,但继续处理其他规则,可以用于跟踪和分析网络流量。
RETURN:从当前链中返回到调用链,继续处理后续规则。
REDIRECT:重定向数据包到指定的目标地址和端口。
SNAT(Source NAT):源地址转换,修改数据包的源 IP 地址,通常用于网络地址转换(NAT)。
DNAT(Destination NAT):目标地址转换,修改数据包的目标 IP 地址,通常用于端口转发或服务映射。

iptables链管理方法

-N, --new-chain chain:新建一个自定义的规则链;

-X, --delete-chain [chain]:删除用户自定义的引用计数为0的空链;

-F, --flush [chain]:清空指定的规则链上的规则;

-E, --rename-chain old-chain new-chain:重命名链;

-Z, --zero [chain [rulenum]]:置零计数器; 注意:每个规则都有两个计数器

packets:被本规则所匹配到的所有报文的个数; bytes:被本规则所匹配到的所有报文的大小之和;

-P, --policy chain target 制定链表的策略(ACCEPT|DROP|REJECT

iptables规则管理

-A, --append chain rule-specification:追加新规则于指定链的尾部;

-I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部

-R, --replace chain rulenum rule-specification:替换指定的规则为新的规则;

-D, --delete chain rulenum:根据规则编号删除规则;

-D, --delete chain rule-specification:根据规则本身删除规则

iptables规则显示

-L, --list [chain]:列出规则;

-v, --verbose:详细信息;

-vv 更详细的信息

-n, --numeric:数字格式显示主机地址和端口号;

-x, --exact:显示计数器的精确值,而非圆整后的数据;

--line-numbers:列出规则时,显示其在链上的相应的编号;

-S, --list-rules [chain]:显示指定链的所有规则;


四、iptables应用

centos7系统中默认存在iptables命令,此命令仅为简单查询及操作命令,不包含配置文件,安装iptables- services后,将直接生成配置文件,便于配置保存。包含ipv4ipv6

###安装、启动、设为开机自启
yum -y install iptables-servicessystemctl start iptables.servicesystemctl enable iptables##保存规则iptables-save > /etc/sysconfig/iptables##重载规则
iptables-restore < /etc/sysconfig/iptablesiptables -h #查看帮助信息#删除现有规则iptables -F##查看规则
iptables -nL     

五、实验

准备:host1:192.168.115.148        host2:192.168.115.149

在接下来的实验中,每次做完一个实验,我会删除策略,便于下一个实验

1、实验一(保存策略)

1、现在我想让hos1ping不通host2,但是host2可以ping通host1

##host2iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT

2、重启host2,查看重启后此策略是否生效

重启后可以ping通

3、这次我们保存策略后重启看看

iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT
iptables-save > /etc/sysconfig/iptables

host1依可以ping通host2

我们在host2恢复之前保存的策略

 iptables-restore < /etc/sysconfig/iptables

2、实验二(host2安装http服务,禁止访问防火墙的80端口,其他都可以访问)

###host2安装并启动http
yum -y install httpd
systemctl start httpd
echo 192.168.115.149 > /var/www/html/index.html

###host2关闭80端口
iptables -A INPUT -p tcp --dport 80 -j REJECT

###删除
iptables -D INPUT -p tcp --dport 80 -j REJECT

3、实验三(拒绝多个端口)

##在host2上我们利用httpd的虚拟主机头来指定多个不同的端口
mkdir /etc/httpd/vhosts
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/vhostsvim /etc/httpd/conf/httpd.conf
###注释80端口、文末插入、注释131-157行
IncludeOptional vhosts/*.conf
###编辑虚拟主机头
vim /etc/httpd/vhosts/httpd-vhosts.conflisten 80
listen 81
<VirtualHost 192.168.115.149:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/var/www/html/"ServerName www.test.comServerAlias www.dummy-host.example.comErrorLog "/var/log/httpd/80-error_log"CustomLog "/var/log/httpd/80-access_log" common
</VirtualHost><VirtualHost 192.168.115.149:81>ServerAdmin webmaster@dummy-host2.example.comDocumentRoot "/opt/www/html/"ServerName dummy-host2.example.com#####创建日志
touch /var/log/httpd/80-error_log
touch /var/log/httpd/80-access_log
touch /var/log/httpd/81-access_log
touch /var/log/httpd/81-error_log
#####创建html页面
echo 192.168.115.149 > /var/www/html/index.html
mkdir /opt/www/html -p
echo http > /opt/www/html/index.html#####
systemctl restart httpd

访问

关闭host2的80、81端口

iptables -A INPUT -p tcp   -m multiport --dports 80,81 -j REJECT

4、实验四(指定只能host2访问80端口)

###首先我们把我们的虚拟主机头配置文件的IP改为127.0.0.1
###重启httpd,用host1访问

#######在host2上设置拒绝从ens160访问80端口的流量,此处ens160是我的网卡名
iptables -A INPUT -p tcp --dport 80 -i ens160 -j REJECT

5、练习

以下是20个关于CentOS 7 iptables的题目以及它们的答案:

1. 通过防火墙允许所有流量通过的命令是什么?
答案:iptables -P INPUT ACCEPT

2. 允许来自IP地址为192.168.1.100的主机访问80端口的命令是什么?
答案:iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT

3. 禁止从ens33网卡进入的所有流量的命令是什么?
答案:iptables -A INPUT -i ens33 -j DROP

4. 允许从本地回环地址访问22端口的命令是什么?
答案:iptables -A INPUT -p tcp -i lo --dport 22 -j ACCEPT

5. 允许所有源IP地址的ping请求通过的命令是什么?
答案:iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

6. 禁止来自IP地址为192.168.1.200的主机访问所有端口的命令是什么?
答案:iptables -A INPUT -s 192.168.1.200 -j DROP

7. 将本机作为网关,在本机上配置iptables来实现NAT转发的命令是什么?
答案:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT

8. 允许本地回环地址的所有流量通过的命令是什么?
答案:iptables -A INPUT -i lo -j ACCEPT

9. 允许所有SSH流量通过的命令是什么?
答案:iptables -A INPUT -p tcp --dport 22 -j ACCEPT

10. 允许来自IP地址范围为192.168.1.100至192.168.1.200的主机访问443端口的命令是什么?
答案:iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -p tcp --dport 443 -j ACCEPT

11. 将防火墙规则保存到文件的命令是什么?
答案:iptables-save > /etc/sysconfig/iptables

12. 禁止所有Ping请求通过的命令是什么?
答案:iptables -A INPUT -p icmp --icmp-type 0 -j DROP

13. 允许所有流量进入80端口,并将其重定向到8080端口的命令是什么?
答案:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

14. 允许来自IP地址为192.168.1.0/24子网的主机的所有流量通过的命令是什么?
答案:iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

15. 禁止所有传出流量的命令是什么?
答案:iptables -A OUTPUT -j DROP

16. 允许来自IP地址为192.168.1.100的主机访问所有端口的命令是什么?
答案:iptables -A INPUT -s 192.168.1.100 -j ACCEPT

17. 允许所有流量通过并记录日志的命令是什么?
答案:iptables -A INPUT -j LOG --log-prefix "Firewall: " --log-level 4
       iptables -A INPUT -j ACCEPT

18. 禁止所有传入SSH流量的命令是什么?
答案:iptables -A INPUT -p tcp --dport 22 -j DROP

19. 允许来自IP地址为192.168.1.0/24子网的主机访问所有端口的命令是什么?
答案:iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

20. 允许所有传出流量的命令是什么?
答案:iptables -A OUTPUT -j ACCEPT

       

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

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

相关文章

国家网络安全周2023时间是什么时候?有什么特点?谁举办的?

国家网络安全周2023时间是什么时候&#xff1f; 2023年国家网络安全宣传周将于9月11日至17日在全国范围内统一开展。其中开幕式等重要活动将在福建省福州市举行。今年网安周期间&#xff0c;除开幕式外&#xff0c;还将举行网络安全博览会、网络安全技术高峰论坛、网络安全微视…

机器学习——boosting之XGBoost(未完)

划水一整天&#xff0c;模型看了仨&#xff01;不错&#xff0c;虽然现在在打哈欠&#xff0c;还是很想把XGBoost梳理梳理 先从名字开始 XGBoost&#xff0c;eXtreme Gradient Boosting: em。。。。不理解 书上说&#xff0c;XGBoost有很好的性能&#xff0c;在各大比赛中大放异…

从头开始制作扩散模型(实现快速扩散模型的简单方法)

一、说明 本文是关于自己从头开始构建扩散模型的教程。我总是喜欢让事情变得简单易行&#xff0c;所以在这里&#xff0c;我们避免了复杂的数学。这不是一个正常的扩散模型。相反&#xff0c;我称之为快速扩散模型。将仅使用卷积神经网络&#xff08;CNN&#xff09;来制作扩散…

API(九)基于协程的并发编程SDK

一 基于协程的并发编程SDK 场景&#xff1a; 收到一个请求会并发发起多个请求,使用openresty提供的协程说明&#xff1a; 这个是高级课程,如果不理解可以先跳过遗留&#xff1a; APSIX和Kong深入理解openresty 标准lua的协程 ① 早期提供的轻量级协程SDK ngx.thread ngx…

数据结构——【堆】

一、堆的相关概念 1.1、堆的概念 1、堆在逻辑上是一颗完全二叉树&#xff08;类似于一颗满二叉树只缺了右下角&#xff09;。 2、堆的实现利用的是数组&#xff0c;我们通常会利用动态数组来存放元素&#xff0c;这样可以快速拓容也不会很浪费空间&#xff0c;我们是将这颗完…

【C++】构造函数调用规则 ( 默认构造函数 | 默认无参构造函数 | 默认拷贝构造函数 | 构造函数调用规则说明 )

文章目录 一、默认构造函数1、默认无参构造函数2、默认拷贝构造函数 二、构造函数调用规则1、构造函数规则说明2、代码示例 - 只定义拷贝构造函数3、代码示例 - 只定义有参构造函数 一、默认构造函数 C 类中 2 种特殊的构造函数 , 分别是 : 默认无参构造函数 : 如果 C 类中 没…

PyTorch实现注意力机制及使用方法汇总,附30篇attention论文

还记得鼎鼎大名的《Attention is All You Need》吗&#xff1f;不过我们今天要聊的重点不是transformer&#xff0c;而是注意力机制。 注意力机制最早应用于计算机视觉领域&#xff0c;后来也逐渐在NLP领域广泛应用&#xff0c;它克服了传统的神经网络的的一些局限&#xff0c…

sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务。

现象&#xff1a; 系统出现异常&#xff0c;手动执行过程提示如上。 问题排查&#xff1a; 1.直接执行的过程事务挂起&#xff08;排除&#xff09; 2.重启数据库实例&#xff08;重启后无效&#xff09; 3.过程中套用过程&#xff0c;套用的过程中使用事务&#xff0c;因为…

STM32-HAL库06-硬件IIC驱动FM24CL16B非易失存储器

STM32-HAL库06-IIC驱动FM24CL16B非易失存储器 一、所用材料&#xff1a; STM32VGT6自制控制板 STM32CUBEMX&#xff08;HAL库软件&#xff09; MDK5 二、所学内容&#xff1a; 通过HAL库的硬件IIC对FM24CL16B存储器进行写与读取操作。 三、CUBEMX配置&#xff1a; 第一步…

Virtualbox中Ubuntu根目录空间不足

现象 Virtualbox中Ubuntu根目录空间不足 解决 动态存储 虚拟机关闭先在虚拟介质管理里把硬盘Size调大开启Ubuntu用Disks或者GParted重新调整分区大小重新启动 步骤参考: https://zhuanlan.zhihu.com/p/319431032 https://blog.csdn.net/ningmengzhihe/article/details/1272…

Java 毕业设计-基于SpringBoot的在线文档管理系统

基于SpringBoot的在线文档管理系统 博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术栈简介 文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;sp…

rocketmq

&#x1f353;代码仓库 https://gitee.com/xuhx615/rocket-mqdemo.git &#x1f353;基本概念 ⭐生产者(Producer)&#xff1a;消息发布者⭐主题&#xff08;Topic&#xff09;&#xff1a;topic用于标识同一类业务类型的消息⭐消息队列&#xff08;MessageQueue&#xff09…

VirtualBox宿主机和虚拟机文件互传设置

一、如图1、2、3步骤&#xff0c;设置共享粘贴板和拖放为双向 二、 在启动的虚拟机设置的里面&#xff0c;安装增强插件&#xff0c;然后重启虚拟机。 三、在网络位置就可以看到了

Java基于SpringBoot的闲一品交易平台

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 大家好&#xff0c;我是程序员徐师兄、今天给大家谈谈基于android的app开发毕设题目&#xff0c;以及基于an…

学习Bootstrap 5的第八天

目录 加载器 彩色加载器 实例 闪烁加载器 实例 加载器大小 实例 加载器按钮 实例 分页 分页的基本结构 实例 活动状态 实例 禁用状态 实例 分页大小 实例 分页对齐 实例 面包屑&#xff08;Breadcrumbs&#xff09; 实例 加载器 彩色加载器 在 Bootstr…

竞赛 基于情感分析的网络舆情热点分析系统

文章目录 0 前言1 课题背景2 数据处理3 文本情感分析3.1 情感分析-词库搭建3.2 文本情感分析实现3.3 建立情感倾向性分析模型 4 数据可视化工具4.1 django框架介绍4.2 ECharts 5 Django使用echarts进行可视化展示5.1 修改setting.py连接mysql数据库5.2 导入数据5.3 使用echarts…

GeoSOS-FLUS未来土地利用变化情景模拟模型

软件简介 适用场景 GeoSOS-FLUS软件能较好的应用于土地利用变化模拟与未来土地利用情景 的预测和分析中&#xff0c;是进行地理空间模拟、参与空间优化、辅助决策制定的有效工 具。FLUS 模型可直接用于&#xff1a; 城市发展模拟及城市增长边界划定&#xff1b;城市内 部高分…

Debian 12快速安装图解

文章目录 Debian 12安装图解创建虚拟机安装系统登录并用光盘离线安装sudo、curl解决Linux下sudo更改文件权限报错保存快照debain添加在线源(配置清华源)参考 Debian 12安装图解 Debian选择CD安装非常慢&#xff0c;本次安装选择DVD离线安装。 下载 https://www.debian.org/CD…

Swift如何使用Vision来识别获取图片中的文字(OCR),通过SwiftUI视图和终端命令行,以及一系列注意事项

在过去的一年里&#xff0c;我发现苹果系统中的“文字搜图片”功能非常好用&#xff0c;这个功能不光 iPhone/iPad&#xff0c;Mac 也有&#xff0c;找一些图片真的很好用。但是遇到了一个问题&#xff1a;这个功能需要一段时间才能找到新的图片&#xff0c;而且没法手动刷新&a…

从一到无穷大 #15 Gorilla,论黄金26H与时序数据库缓存系统的可行性

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 引言 缓存系统的高效存在前提&#xff0c;在满足前提的情况下可以接受缺陷便没有理由不引入缓…