麒麟操作系统服务架构保姆级教程(十四)iptables防火墙四表五链和防火墙应用案例

  如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情

        防火墙在运维工作中有着不可或缺的重要性。首先,它是保障网络安全的关键防线,通过设置访问控制规则,可精准过滤非法网络流量,有效阻挡外部黑客攻击、恶意扫描以及病毒入侵等,让运维人员无需时刻忧心外部威胁对业务造成破坏,确保网络及系统稳定运行。其次,在合规管理方面能发挥重要作用,依据各行业的网络安全相关要求,协助运维人员制定相应访问策略,使网络配置符合法规政策,避免因不合规而面临处罚,助力企业顺利通过安全审计。再者,能帮助实现网络分区管理,划分出不同安全区域,便于对企业内部不同部门、业务模块进行精细化的网络访问控制,防止内部风险扩散,优化整体运维架构。最后,当网络出现异常时,防火墙记录的详细日志可提供关键线索,方便运维人员快速定位故障源头,高效解决问题,恢复业务正常运转,所以我们今天介绍一下iptables~~~~

目录

一、防火墙介绍

二、IPtables四表五链

1、四表

2、五链

三、iptables命令

四、iptables防火墙案例

案例1、禁止访问10.0.0.61的22端口

案例2:删除规则

案例3: 限制来源IP地址

案例4:限制网段

案例5:限制80端口

案例6:限制10.0.0.7不能访问61的80端口

案例7:对源IP进行取反

案例8:修改默认的规则

案例9:多端口配置

案例10:禁ping

案例11:iptables的保持与恢复

案例12: 使用IPtables实现共享上网

服务端设置:

客户端设置:

案例13.IP地址映射

💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!

👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!

🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!

一、防火墙介绍

Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包进行过滤和限制,属于典型的包过滤防火墙。它基于内核编码实现,具有非常稳定的性能和高效率,也因此得到了广泛的应用。防火墙是一种位于内部网络与外部网络之间的网络安全系统,旨在保护内部网络免受未经授权的访问以及潜在的网络威胁,以下是关于防火墙的介绍:
​
### 基本功能
1. 访问控制:依据预设的规则,对进出网络的流量进行筛选,决定哪些数据包可以通过,哪些需要被拦截。例如,只允许特定 IP 地址段的设备访问内部某服务器的特定端口,而拒绝其他来源的访问请求,以此严格把控网络访问权限。
2.防止非法入侵:能够识别并阻止外部网络中的恶意攻击行为,像常见的黑客扫描、端口入侵尝试等。通过检测异常的网络连接模式、可疑的数据包特征等,将潜在的入侵行为阻挡在网络外部,保障内部网络环境的安全稳定。
3.网络隔离:可以把不同安全级别的网络区域分隔开来,比如将企业内部的办公区网络、研发区网络、服务器区网络等根据各自的安全需求进行划分,限制不同区域间的非必要网络通信,防止安全风险在内部网络间扩散。
​
### 主要类型
1. 包过滤防火墙:工作在网络层,基于数据包的源 IP 地址、目的 IP 地址、端口号、协议类型等信息进行过滤。它会检查每个经过的数据包,对照预先配置好的规则表来决定是放行还是丢弃该数据包,iptables 就是典型的基于这种机制的工具,这种防火墙处理速度相对较快,但对应用层的内容理解有限。
2. 状态检测防火墙:不仅会检查数据包的基本信息,还会跟踪网络连接的状态。比如对于一个已经建立的 TCP 连接,后续属于该连接的数据包会依据其状态被快速放行,它能更智能地识别正常的网络通信流程以及异常的连接尝试,相比单纯的包过滤防火墙安全性更高,应用场景也更为广泛。
3. 应用层防火墙:也被称作代理防火墙,运行在应用层,能够深入理解应用层协议的内容。例如,对于 HTTP 请求,它可以检查请求的具体内容、URL 等是否符合安全规定,对外隐藏内部网络的真实情况,用户的网络请求先经过它进行代理转发,起到了很好的安全防护和隐私保护作用,但由于要解析应用层内容,其处理性能往往相对较低。
​
### 部署位置与应用场景
1. 边界部署:常被部署在企业网络、园区网络等与外部互联网的连接处,作为第一道防线,阻挡来自外部网络的各种安全威胁,保护内部众多的网络资源,如服务器、办公终端等。
2. 内部网络隔离:在大型网络内部,不同部门、不同安全等级区域之间也会部署防火墙,实现内部网络的安全分区管理,避免内部的误操作、恶意行为等对关键区域造成影响,像防止普通办公区的网络问题波及到存放核心数据的服务器区。
​
### 发展趋势
1. 智能化:随着人工智能和机器学习技术的发展,防火墙能够通过分析大量的网络流量数据,自动学习和识别新出现的网络威胁模式,不断优化自身的防护规则,提升应对未知威胁的能力。
2. 云化:在云计算环境蓬勃发展的当下,云防火墙应运而生,它可以更好地适配云环境下的动态网络架构、多租户等特点,为云资源的安全防护提供有力保障,方便企业在云端进行灵活的网络安全配置。
总之,防火墙在保障网络安全方面起着至关重要的作用,是构建安全网络环境不可或缺的一环。
​
以下是一些市面上常见的防火墙产品
### 硬件防火墙产品
1、华为 USG6000E 系列:性能稳定可靠,具备强大的安全防护能力,可有效抵御多种网络攻击。例如 USG6306 支持 4GE+2Combo 固定接口,IPSec 吞吐量性能良好,适用于中小企业等网络环境。
2、深信服 AF 系列:如 AF-1000-FH1300B,功能丰富,界面友好,提供应用层防护、入侵检测、防病毒等多种安全功能,适用于不同规模的企业网络。
3、锐捷网络 RG-WALL 1600 系列:以 RG-WALL 1600-S3200 为例,支持多种 VPN 类型和加密算法,具备状态检测包过滤、应用层检测等功能,可有效提升网络安全性和数据传输效率。
4、H3C SecPath F1000 系列:像 F1000-AK1150 支持多种 VPN 协议和 SOP 虚拟防火墙技术,能防御多种网络攻击,可优化网络应用,保障网络流畅性和安全性。
5、天融信 NGFW4000-UF:在稳定性、性能和合规性方面表现突出,主要服务于政府、金融、电信等对网络安全要求较高的行业,能提供全面的网络安全防护。
​
### 软件防火墙产品
1、ZoneAlarm Pro:可以防止特洛伊木马程序等恶意软件的入侵,用户可方便地设置哪些软件可以访问网络,基本版免费,适合个人用户和小型企业。
2、Outpost Firewall Pro:功能强大,包括广告和图片过滤、内容过滤、DNS 缓存等功能,不需复杂配置即可使用,且是市场上第一个支持插件的防火墙,可扩展性强。
3、Norton Personal Firewall:由 Norton 公司出品,能提供完整的网络安全防护,防止重要资料被窃,可过滤网站,阻隔 Java applets、ActiveX 控制等网络入侵方式。
4、McAfee Personal Firewall Plus:可以在电脑与互联网之间建立屏障,防止潜在的黑客探测及攻击,让防毒工作更完备,还能提供有关可疑网络流量的详细资讯。
5、Sygate Personal Firewall Pro:简单易用,适合网络中的单机用户防止入侵者非法进入系统,可从系统内部进行保护,提供安全访问和访问监视功能,检测到入侵能立即发出警报。
​
### 云防火墙产品
1、深信服云防火墙:能够与深信服的其他云安全产品进行深度融合,提供一站式的云安全解决方案,支持多租户管理,可根据不同租户的需求定制安全策略。
2、天融信云防火墙:在云环境下具备强大的安全防护能力,可提供网络访问控制、入侵检测、漏洞扫描等多种安全服务,保障云资源的安全。
3、飞塔云防火墙:具有创新性、智能性和灵活性,能适应云环境的动态变化,可实现自动化的安全策略部署和管理,为云应用提供安全保障。
4、山石网科云防火墙:基于其高性能、高可靠的技术优势,为云平台提供全面的安全防护,支持对云平台中的虚拟机、容器等资源进行细粒度的访问控制。
5、阿里云防火墙和阿里云盾web防火墙:阿里云防火墙,云原生的云上边界网络安全防护产品,可提供统一的互联网边界、NAT 边界、VPC 边界、主机边界流量管控与安全防护。阿里云盾web防火墙主要为网站提供安全保护的云服务,主要针对 Web 应用层面的安全防护。
​
​
###iptables防火墙
今天给大家介绍一下iptables防火墙,iptables 是 Linux 操作系统中一个功能强大且应用广泛的防火墙工具,主要用于对进出系统的网络数据包进行管控,依据设定的规则来决定是允许数据包通过、拒绝数据包,还是对数据包进行地址转换、修改等操作,以此构建起系统的网络安全防护机制以及实现特定的网络功能配置,contOS6以前的linux系统默认使用的iptables防火墙,contOS7及以后版本,默认使用firewalld防火墙;麒麟操作系统同时内置了iptables防火墙和 firewalld防火墙同时使用,之前咱们搭建LNMP架构时因为这个被坑过,只关闭了一个导致80端口无法访问。

二、IPtables四表五链

1、四表

表名称功能内核模块
filter表负责过滤功能,防火墙iptables filter
nat表(Network,Adffress,Translation)用于网络地址转换(IP,端口)iptables net
mangle表拆解报文,做出修改,封装报文iptables mangle
raw表关闭nat表上启用的连接追踪机制,确定是否对该数据包进行状态跟踪iptable raw

2、五链

名称功能
PREROUTING数据包进入路由之前
INPUT目的地址为本机
OUTPUT原地址为本机,向外发送
FORWARD实现转发
POSTROUTING发送到网卡之前

三、iptables命令

查看默认防火墙规则:
[root@m01 ~]#iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
​
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
​
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
清空默认的规则
[root@m01 ~]#iptables -F
[root@m01 ~]#iptables -Z
[root@m01 ~]#iptables -X
[root@m01 ~]#iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
​
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
​
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

四、iptables防火墙案例

案例1、禁止访问10.0.0.61的22端口
[root@m01 ~]#iptables -I INPUT -p tcp --dport 22 -j DROP
[root@m01 ~]#
Connection closed.
案例2:删除规则
[root@m01 ~]# iptables -I INPUT -s 10.0.0.1 -j ACCEPT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  10.0.0.1             0.0.0.0/0           
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
​
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
​
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
删除规则的方法
1,序号删除
查看编号信息
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.0.0.1             0.0.0.0/0           
2    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
删除INPUT链的第二条规则
[root@m01 ~]#iptables -D INPUT 2
[root@m01 ~]#iptables -nL --line
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.0.0.1             0.0.0.0/0 
2,将I或者A替换成D(禁止61的22端口已经删了,只能删放通的)
[root@m01 ~]#iptables -D INPUT -s 10.0.0.1 -j ACCEPT
[root@m01 ~]#iptables -nL --line
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
Chain FORWARD (policy ACCEPT)
案例3: 限制来源IP地址
[root@m01 ~]#iptables -I INPUT -s 172.16.1.7 -j DROP 
[root@m01 ~]#(限制172.16.1.7IP)
[root@web01 ~]#ssh 172.16.1.61(IP远程连接61不通)
^C
此时10.0.0.7可以连通
案例4:限制网段
[root@m01 ~]#iptables -I INPUT -s 172.16.1.7/24 -j DROP (限制整个网段,0708都不通了)
[root@m01 ~]#
[root@web01 ~]#ssh 172.16.1.61
​
[root@web02 ~]#ssh 172.16.1.61
​
此时,10.0.0.0段可以通(因为禁的不是这个网段)
案例5:限制80端口
[root@m01 ~]#iptables -I INPUT -p tcp --dport 80 -j DROP
[root@web01 ~]#ping 10.0.0.61:80
ping: 10.0.0.61:80: Name or service not known
案例6:限制10.0.0.7不能访问61的80端口
[root@m01 ~]#iptables -I INPUT -s 10.0.0.7 -p tcp --dport 80 -j DROP
案例7:对源IP进行取反
除了10.0.0.1之前所有的IP地址都不能访问我的服务器(慎重使用)
[root@m01 ~]#iptables -I INPUT ! -s 10.0.0.1 -j DROP此时172.16.1.0/段可以访问,
案例8:修改默认的规则
1.配置先允许自己可以访问61
[root@m01 ~]#iptables -I INPUT  -s 10.0.0.1 -j ACCEPT
2.修改默认规则为DROP
[root@m01 ~]#iptables -P INPUT DROP
[root@m01 ~]#
[root@m01 ~]#iptables -nLChain INPUT (policy DROP)target     prot opt source               destination         
ACCEPT     all  --  10.0.0.1             0.0.0.0/0 
[root@web01 ~]#ssh 10.0.0.61 (10.0.0.7无法远程连接61了)
案例9:多端口配置
允许80和443端口
[root@m01 ~]#iptables -I INPUT  -p tcp -m multiport --dport 80,443  -j ACCEPT
,前后代表两个
:前后待代表从前面的到后面的端口全部允许
案例10:禁ping
禁ping 禁tracert
[root@web01 ~]#ping 10.0.0.61  (禁用之前,可以拼通)
PING 10.0.0.61 (10.0.0.61) 56(84) bytes of data.
64 bytes from 10.0.0.61: icmp_seq=1 ttl=64 time=0.534 ms
64 bytes from 10.0.0.61: icmp_seq=2 ttl=64 time=0.983 ms
[root@m01 ~]#iptables -I INPUT  -p icmp --icmp-type 8  -j DROP
[root@web01 ~]#ping 10.0.0.61(禁用之后,ping不通了)
PING 10.0.0.61 (10.0.0.61) 56(84) bytes of data.
​
通过linux操作系统内核参数配置禁ping
设置为1为禁ping
设置为0开启ping
[root@m01 ~]#echo  1  >/proc/sys/net/ipv4/icmp_echo_ignore_all
[root@m01 ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all
1
[root@m01 ~]#echo  0  >/proc/sys/net/ipv4/icmp_echo_ignore_all
[root@m01 ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all
0
案例11:iptables的保持与恢复
iptables-save将当前的配置保持到/etc/sysconfig/iptables
[root@m01 ~]#iptables-save 
恢复iptabales
1.重启读取/etc/sysconfig/iptables 配置文件中的策略
systemctl restart iptables
2.使用命令恢复
iptables-restore  </etc/sysconfig/iptables 
案例12: 使用IPtables实现共享上网

服务端设置:
1.iptables设置SNAT
将来源IP是172.16.1.0网段的流量,全都转换成10.0.0.61去访问外网
[root@m01 ~]#iptables -t nat -A POSTROUTING  -s 172.16.1.0/24   -j SNAT  --to-source 10.0.0.61
2.配置内核转发(拥有路由器功能)
[root@m01 ~]#echo 'net.ipv4.ip_forward = 1'  >> /etc/sysctl.conf
3.刷新配置
[root@m01 ~]#sysctl -p
net.ipv4.ip_forward = 1使用ADSL拨号的网络: 注意事项: 公网ip不固定: iptables -t nat -A POSTROUTING  -s 172.16.1.0/24 -j  MASQUERADE
客户端设置:
配置网关: 172.16.1.61 保证重启resolv.conf里DNS
[root@web01 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.7
PREFIX=24
GATEWAY=172.16.1.61
DNS1=223.5.5.5
重启生效:
[root@web01 ~]#systemctl restart network
案例13.IP地址映射
DNAT目标地址转换配置IP地址端口映射:
[root@m01 ~]#iptables -t nat -A PREROUTING    -d 10.0.0.61 -p tcp --dport 9000  -j DNAT --to-destination 172.16.1.7:22

在我们的日常运维工作中防火墙的作用还是很大的,所以最少要掌握一种防火墙的使用方法,今天的iptables防火墙分享就到这里了,改天小屁整理一篇firewalld防火墙的使用教程~~~~


想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 

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

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

相关文章

Midjourney基础-常用修饰词+权重的用法大全

用好修饰词很关键 Midjourney要用除了掌握好提示词的写法&#xff0c;按照上一篇《做Midjourney最好图文教程-提示词公式以及高级参数讲解》画面主体 场景氛围 主体行为 构图方式 艺术风格 图像质量。 要画出有质感的内容我们必须要掌握好“修饰词”&#xff0c;这些修饰…

钉钉群机器人设置——python版本

钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景 由于工作需要&#xff0c;很多项目执行程序后出现报错信息无法第一时间收到&#xff0c;因此实时预警对于监控程序还是有必要。&#xff08;仅个人观点&#xff09; 参考文档及博客&#xff1a…

babylon.js-3:了解STL网格模型

网格模型上色 本篇文章主要介绍如何在 BabylonJS 中实现STL网格模型上色。 文章目录 网格模型上色运用场景概要延申正文加载器库的支持认识 OBJ 和 STL 文件GUI 色板选择器网格模型异步加载加载动画网格模型上色官方即将弃用 ImportMesh 而推荐使用 ImportMeshAsync 说明OBJ …

大数据治理实战:架构、方法与最佳实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 1. 引言 大数据治理是确保数据质量、合规性和安全性的重要手段&#xff0c;尤其在数据驱动决策和人工智能应用日益普及的背景下&…

【时时三省】(C语言基础)文件的随机读写

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 fseek 根据文件指针的位置和偏移量来定位文件指针 示例&#xff1a; 这个输出的就是ade seek&#xff3f;cur的意思是从当前偏移量 2就是从a往后偏移两个就是d 偏移量 SEEK&#xff3f;CUR…

yolov5错误更改与相关参数详解(train.py)

1.错误更改 main中相关参数 if __name__ __main__:parser argparse.ArgumentParser()parser.add_argument(--weights, typestr, default, helpinitial weights path)parser.add_argument(--cfg, typestr, defaultmodels/yolov5s.yaml, helpmodel.yaml path)parser.add_arg…

第4章 基于中点电流的NPC逆变器中点电压平衡策略

1. 工作原理 1.1 NPC型三电平逆变器工作原理 NPC型三相三电平逆变器有A、B、C三个桥臂&#xff0c;其组成结构是相同的&#xff0c;本章以A相为例&#xff0c;对其工作原理进行分析。开关器件SA1和SA3、SA2和SA4为互补器件&#xff0c;通过控制开关器件的导通和关断状态&#…

【C++】内联函数inline、关键字auto与新式for

内联函数 内联函数背景 我们在使用C语言中我们都学过函数&#xff0c;我们知道函数在调用的过程中需要开辟栈帧。如果我们需要频繁的调用一个函数&#xff0c;假设我们调用10次Add()函数&#xff0c;那我们就需要建立10次栈帧。我们都知道在栈帧中要做很多事情&#xff0c;例如…

【深度学习】图像分类数据集

图像分类数据集 MNIST数据集是图像分类中广泛使用的数据集之一&#xff0c;但作为基准数据集过于简单。 我们将使用类似但更复杂的Fashion-MNIST数据集。 %matplotlib inline import torch import torchvision from torch.utils import data from torchvision import transfo…

【MySQL — 数据库增删改查操作】深入解析MySQL的 Retrieve 检索操作

Retrieve 检索 示例 1. 构造数据 创建表结构 create table exam1(id bigint, name varchar(20) comment同学姓名, Chinesedecimal(3,1) comment 语文成绩, Math decimal(3,1) comment 数学成绩, English decimal(3,1) comment 英语成绩 ); 插入测试数据 insert into ex…

Ansible自动化运维实战--通过role远程部署nginx并配置(8/8)

文章目录 1、准备工作2、创建角色结构3、编写任务4、准备配置文件&#xff08;金甲模板&#xff09;5、编写变量6、编写处理程序7、编写剧本8、执行剧本Playbook9、验证-游览器访问每台主机的nginx页面 在 Ansible 中&#xff0c;使用角色&#xff08;Role&#xff09;来远程部…

RNN实现阿尔茨海默症的诊断识别

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 一 导入数据 import torch.nn as nn import torch.nn.functional as F import torchvision,torch from sklearn.preprocessing import StandardScaler from torch.utils.data import TensorDatase…

编程题-最长的回文子串(中等)

题目&#xff1a; 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s &…

CNN-GRU卷积门控循环单元时间序列预测(Matlab完整源码和数据)

CNN-GRU卷积门控循环单元时间序列预测&#xff08;Matlab完整源码和数据&#xff09; 目录 CNN-GRU卷积门控循环单元时间序列预测&#xff08;Matlab完整源码和数据&#xff09;预测效果基本介绍CNN-GRU卷积门控循环单元时间序列预测一、引言1.1、研究背景与意义1.2、研究现状1…

HTML-新浪新闻-实现标题-样式1

用css进行样式控制 css引入方式&#xff1a; --行内样式&#xff1a;写在标签的style属性中&#xff08;不推荐&#xff09; --内嵌样式&#xff1a;写在style标签中&#xff08;可以写在页面任何位置&#xff0c;但通常约定写在head标签中&#xff09; --外联样式&#xf…

2024年终总结

回顾 今年过年没回老家&#xff0c;趁着有时间&#xff0c;总结一下24年吧。 我把23年看做是打基础的一年&#xff0c;而24年主要是忙于项目的一年&#xff0c;基本上大部分时间都是忙着交付软件&#xff0c;写的一些文章也大部分都是项目中遇到的问题和解决方案&#xff0c;虽…

[c语言日寄]越界访问:意外的死循环

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…

使用 KNN 搜索和 CLIP 嵌入构建多模态图像检索系统

作者&#xff1a;来自 Elastic James Gallagher 了解如何使用 Roboflow Inference 和 Elasticsearch 构建强大的语义图像搜索引擎。 在本指南中&#xff0c;我们将介绍如何使用 Elasticsearch 中的 KNN 聚类和使用计算机视觉推理服务器 Roboflow Inference 计算的 CLIP 嵌入构建…

maven的打包插件如何使用

默认的情况下&#xff0c;当直接执行maven项目的编译命令时&#xff0c;对于结果来说是不打第三方包的&#xff0c;只有一个单独的代码jar&#xff0c;想要打一个包含其他资源的完整包就需要用到maven编译插件&#xff0c;使用时分以下几种情况 第一种&#xff1a;当只是想单纯…

Golang Gin系列-7:认证和授权

在本章中&#xff0c;我们将探讨Gin框架中身份验证和授权的基本方面。这包括实现基本的和基于令牌的身份验证&#xff0c;使用基于角色的访问控制&#xff0c;应用中间件进行授权&#xff0c;以及使用HTTPS和漏洞防护保护应用程序。 实现身份认证 Basic 认证 Basic 认证是内置…