麒麟操作系统服务架构保姆级教程(十四)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开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~
相关文章:
麒麟操作系统服务架构保姆级教程(十四)iptables防火墙四表五链和防火墙应用案例
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 防火墙在运维工作中有着不可或缺的重要性。首先,它是保障网络安全的关键防线,通过设置访问控制规则,可精准过滤非法网络流量,有效阻挡外部黑客攻击、恶…...
Linux之详谈——权限管理
目录 小 峰 编 程 编辑 一、权限概述 1、什么是权限 2、为什么要设置权限 3、Linux中的权限类别- 4、Linux中文件所有者 1)所有者分类(谁) 2)所有者的表示方法 ① u(the user who owns it)(属主权限&…...
第05章 13 椭球体张量可视化应用一则-神经束追踪
在神经束追踪(Tractography)中,椭球体张量(Ellipsoid Tensor)通常用于描述神经纤维的方向和扩散特性。这种技术广泛应用于磁共振成像(MRI)的扩散张量成像(DTI)数据中。VT…...
Celery
https://www.bilibili.com/video/BV1RGDEY5ERB 架构 简单任务 执行 包结构 本示例: app 添加任务 获取结果 配置延时任务 任务配置 beat 提交定时任务...
JavaScript系列(48)-- 3D渲染引擎实现详解
JavaScript 3D渲染引擎实现详解 🎮 今天,让我们深入探讨JavaScript的3D渲染引擎实现。通过WebGL和现代JavaScript技术,我们可以构建一个功能完整的3D渲染系统。 3D渲染基础概念 🌟 💡 小知识:3D渲染引擎的…...
Golang并发机制及CSP并发模型
Golang 并发机制及 CSP 并发模型 Golang 是一门为并发而生的语言,其并发机制基于 CSP(Communicating Sequential Processes,通信顺序过程) 模型。CSP 是一种描述并发系统中交互模式的正式语言,强调通过通信来共享内存…...
使用 Docker + Nginx + Certbot 实现自动化管理 SSL 证书
使用 Docker Nginx Certbot 实现自动化管理 SSL 证书 在互联网安全环境日益重要的今天,为站点或应用部署 HTTPS 已经成为一种常态。然而,手动申请并续期证书既繁琐又容易出错。本文将以 Nginx Certbot 为示例,基于 Docker 容器来搭建一个…...
游戏策划的分类
P3游戏策划分类 1.程序2.美术3.策划 程序:一般分为客户端程序和服务器程序 客户端程序一般负责游戏的前端画面表现 服务器程序负责游戏的后端运算 美术:角色原画,角色模型动作,场景原画,场景模型,UI设计&a…...
Edge-TTS在广电系统中的语音合成技术的创新应用
Edge-TTS在广电系统中的语音合成技术的创新应用 作者:本人是一名县级融媒体中心的工程师,多年来一直坚持学习、提升自己。喜欢Python编程、人工智能、网络安全等多领域的技术。 摘要 随着人工智能技术的快速发展,文字转语音(Te…...
python学opencv|读取图像(四十七)使用cv2.bitwise_not()函数实现图像按位取反运算
【0】基础定义 按位与运算:两个等长度二进制数上下对齐,全1取1,其余取0。按位或运算:两个等长度二进制数上下对齐,有1取1,其余取0。 按位取反运算:一个二进制数,0变1,1变0。 【1】…...
一文讲解Java中Object类常用的方法
在Java中,经常提到一个词“万物皆对象”,其中的“万物”指的是Java中的所有类,而这些类都是Object类的子类; Object主要提供了11个方法,大致可以分为六类: 对象比较: public native int has…...
【算法篇·更新中】C++秒入门(附练习用题目)
一.二分 1.二分查找 我们来看这样一道题: 有一个保证有序的数组a,它的长度为n。现在我们需要知道这个序列是否含有x。 数据范围:保证n<1e9 我们看到这道题之后,第一时间想到的就是暴力枚举了,可是我们发现直接枚举…...
面向对象编程 vs 面向过程编程
面向对象编程 vs 面向过程编程:深入解析这两种编程范式的区别 在当今软件开发领域,编程范式的选择对于项目的可维护性和可扩展性至关重要。面向对象编程(OOP)和面向过程编程(POP)是两种根本的编程思想。本…...
【Rust自学】16.2. 使用消息传递来跨线程传递数据
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 16.2.1. 消息传递 有一种很流行而且能保证安全并发的技术(或者叫机制ÿ…...
【四川乡镇界面】图层shp格式arcgis数据乡镇名称和编码2020年wgs84无偏移内容测评
本文将详细解析标题和描述中提到的IT知识点,主要涉及GIS(Geographic Information System,地理信息系统)技术,以及与之相关的文件格式和坐标系统。 我们要了解的是"shp"格式,这是一种广泛用于存储…...
人物传记之新月篇
相关故事链接(及时更新):Python的那些事第四篇:编程中的智慧之光控制结构-CSDN博客 Python的那些事第五篇:数据结构的艺术与应用-CSDN博客 目录 1. C语言程序:增强版加密与解密工具 2. Python程序&#x…...
TypeScript中的函数:类型安全与高级特性
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
DDD 和 TDD
领域驱动设计(DDD) DDD 是一种软件开发方法,强调通过与领域专家的密切合作来构建一个反映业务逻辑的模型。其核心思想是将业务逻辑和技术实现紧密结合,以便更好地解决复杂的业务问题。 DDD 的关键概念: 1. 领域模型 …...
【C语言分支与循环结构详解】
目录 ---------------------------------------begin--------------------------------------- 一、分支结构 1. if语句 2. switch语句 二、循环结构 1. for循环 2. while循环 3. do-while循环 三、嵌套结构 结语 -----------------------------------------end----…...
FaceFusion
文章目录 一、关于 FaceFusion预览 二、安装三、用法 一、关于 FaceFusion FaceFusion 是行业领先的人脸操作平台 github : https://github.com/facefusion/facefusion官方文档:https://docs.facefusion.io/Discord : https://discord.com/invite/facefusion-1141…...
图论——单源最短路的扩展应用
acwing1137.选择最佳路线 本题有两个解决思路 1.建立虚拟源点,连接虚拟源点和 w w w个可作为起点的点,边权为0,这样只需要从虚拟源点开始做一遍最短路算法便可。 2.反向建边,把所有的add(a,b,c)变成add(b,a,c),这样只…...
Linux shell脚本笔记-One
前言 本文主要汇总有关shell脚本常用的知识点,有时候使用忘记某些用法指令,特此汇总方便后续查阅。 一.shell脚本编写的头部定义: 定义的shell脚本头部有多种写法,具体根基实际系统结构处理,如下: #!/bin/sh ÿ…...
【C语言----函数详解】
目录 ----------------------------------------begin-------------------------------------- 引言 一、函数是什么 二、函数的定义和声明 1. 函数的定义 2. 函数的声明 三、函数的调用 四、函数参数传递 五、函数的返回值 六、递归函数 七、函数指针 八、总结 ---…...
QT交叉编译环境搭建(Cmake和qmake)
介绍一共有两种方法(基于qmake和cmake): 1.直接调用虚拟机中的交叉编译工具编译 2.在QT中新建编译套件kits camke和qmake的区别:CMake 和 qmake 都是自动化构建工具,用于简化构建过程,管理编译设置&…...
Zemax 中的屋脊棱镜建模
光学棱镜是一种透明的光学元件,其表面平坦且抛光,可以折射光线。最常见的棱镜类型是三棱镜,它有两个三角形底座和三个矩形或略呈梯形的表面。棱镜通常由玻璃或丙烯酸等材料制成。当光线以一定角度进入棱镜时,它会在穿过棱镜时发生…...
CUDA学习-内存访问
一 访存合并 1.1 说明 本部分内容主要参考: 搞懂 CUDA Shared Memory 上的 bank conflicts 和向量化指令(LDS.128 / float4)的访存特点 - 知乎 1.2 share memory结构 图1.1 share memory结构 放在 shared memory 中的数据是以 4 bytes(即 32 bits)作为 1 个 word,依…...
Nginx 开发总结
文章目录 1. Nginx 基础概念1-1、什么是 Nginx1-2、Nginx 的工作原理1-3、Nginx 的核心特点1-4、Nginx 的常见应用场景1-5、Nginx 与 Apache 的区别1-6、 Nginx 配置的基本结构1-7、Nginx 常见指令 2. Nginx 配置基础2-1、Nginx 配置文件结构2-2、全局配置 (Global Block)2-3、…...
目标跟踪之sort算法(3)
这里写目录标题 1 流程1 预处理2 跟踪 2 代码 参考:sort代码 https://github.com/abewley/sort 1 流程 1 预处理 1.1 获取离线检测数据。1.2 实例化跟踪器。2 跟踪 2.1 轨迹处理。根据上一帧的轨迹预测当前帧的轨迹,剔除到当前轨迹中为空的轨迹得到当前…...
C++/stack_queue
目录 1.stack 1.1stack的介绍 1.2stack的使用 练习题: 1.3stack的模拟实现 2.queue的介绍和使用 2.1queue的介绍 2.2queue的使用 2.3queue的模拟实现 3.priority_queue的介绍和使用 3.1priority_queue的介绍 3.2priority_queue的使用 欢迎 1.stack 1.1stack…...
小程序电商运营内容真实性增强策略及开源链动2+1模式AI智能名片S2B2C商城系统源码的应用探索
摘要:随着互联网技术的不断发展,小程序电商已成为现代商业的重要组成部分。然而,如何在竞争激烈的市场中增强小程序内容的真实性,提高用户信任度,成为电商运营者面临的一大挑战。本文首先探讨了通过图片、视频等方式增…...
「Unity3D」在Unity中使用C#控制显示Android的状态栏
Unity打包的Android默认都是全屏,如果想要在真机上显示状态栏,就需要额外设置,有两种方式: 第一种,使用Android的Java代码去控制,然后以插件的方式放到Unity中,被C#调用。第二种,使…...
基于51单片机和ESP8266(01S)、LCD1602、DS1302、独立按键的WiFi时钟
目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、延时2、定时器03、串口通信4、DS13025、LCD16026、独立按键 四、主函数总结 系列文章目录 前言 之前做了一个WiFi定时器时钟,用八位数码管进行显示,但是定时器时钟的精度较低࿰…...
AI 浪潮席卷中国年,开启科技新春新纪元
在这博主提前祝大家蛇年快乐呀!!! 随着人工智能(AI)技术的飞速发展,其影响力已经渗透到社会生活的方方面面。在中国传统节日 —— 春节期间,AI 技术也展现出了巨大的潜力,为中国年带…...
STM32 LED呼吸灯
接线图: 这里将正极接到PA0引脚上,负极接到GND,这样就高电平点亮LED,低电平熄灭。 占空比越大,LED越亮,占空比越小,LED越暗 PWM初始化配置 输出比较函数介绍: 用这四个函数配置输…...
机器学习day4
自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测 import numpy as np import torch import torch.nn as nn import torch.optim as optimizer import matplotlib.pyplot as pltclass1_points np.array([[2.1, 1.8],[1.9, 2…...
《哈佛家训》
《哈佛家训》是一本以教育为主题的书籍,旨在通过一系列富有哲理的故事和案例,传递积极的人生观、价值观和教育理念。虽然它并非直接由哈佛大学官方出版,但其内容深受读者喜爱,尤其是在家庭教育和个人成长领域。 以下是《哈佛家训…...
为什么redis会开小差?Redis 频繁异常的深度剖析与解决方案
文章目录 导读为什么redis会开小差?1.连接数过多2.bigkey3.慢命令操作4.内存策略不合理5.外部数据双写一致性6.保护机制未开启7. 数据集中过期8. CPU饱和9. 持久化阻塞10. 网络问题结论 导读 提起分布式缓存,想必大多数同学脑海中都会浮出redis这个名字…...
window中80端口被占用问题
1,查看报错信息 可以看到在启动项目的时候,8081端口被占用了,导致项目无法启动。 2,查看被占用端口的pid #语法 netstat -aon|findstr :被占用端口#示例 netstat -aon|findstr :8080 3,杀死进程 #语法 taikkill /pid…...
< OS 有关 > 阿里云:轻量应用服务器 的使用 :轻量化 阿里云 vpm 主机
原因: < OS 有关 > 阿里云:轻量应用服务器 的使用 :从新开始 配置 SSH 主机名 DNS Tailscale 更新OS安装包 最主要是 清除阿里云客户端这个性能杀手-CSDN博客 防止 I/O 祸害系统 操作: 查看进程&#x…...
解决报错“The layer xxx has never been called and thus has no defined input shape”
解决报错“The layer xxx has never been called and thus has no defined input shape”(这里写自定义目录标题) 报错显示 最近在跑yolo的代码时遇到这样一个错误,显示“the layer {self.name} has never been called”.这个程序闲置了很久,每次一遇到…...
Microsoft Visual Studio 2022 主题修改(补充)
Microsoft Visual Studio 2022 透明背景修改这方面已经有很多佬介绍过了,今天闲来无事就补充几点细节。 具体的修改可以参考:Microsoft Visual Studio 2022 透明背景修改(快捷方法)_material studio怎么把背景弄成透明-CSDN博客文…...
PyCharm接入DeepSeek实现AI编程
目录 效果演示 创建API key 在PyCharm中下载CodeGPT插件 配置Continue DeepSeek 是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的 AI 模型。DeepSeek-V3 是 DeepSeek 公司推出的最新一代 AI 模型。其前身是 DeepSeek-V2.5,经过持续的…...
C++ 包装器与绑定器的应用之回调函数的实现
回调函数的实现 在消息队列和网络库的框架中,当接收到消息(报文)时,回调用户自定义的函数对象,把消息(报文)参数传给它,由它决定如何处理。 queue参考文章:C queue(STL queue&…...
一文读懂DeepSeek-R1论文
目录 论文总结 摘要 1. 引言 1.1. 贡献 1.2. 评估结果总结 2. 方法 2.1. 概述 2.2. DeepSeek-R1-Zero:在基础模型上进行强化学习 2.2.1. 强化学习算法 2.2.2. 奖励建模 2.2.3. 训练模板 2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻 2.3. …...
文献阅读 250128-Tropical forests are approaching critical temperature thresholds
Tropical forests are approaching critical temperature thresholds 来自 <Tropical forests are approaching critical temperature thresholds | Nature> 热带森林正在接近临界温度阈值 ## Abstract: The critical temperature beyond which photosynthetic machinery…...
【python】python基于机器学习与数据分析的二手手机特性关联与分类预测(源码+数据集)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 python基于机器学习与数据分析的二手手机特性关联与…...
构建可靠的时间序列预测模型:数据泄露检测、前瞻性偏差消除与因果关系验证
在时间序列分析领域中,存在多种可能影响分析结果有效性的技术挑战。其中,数据泄露、前瞻性偏差和因果关系违反是最为常见且具有显著影响的问题。 数据泄露:隐蔽的系统性错误 数据泄露是指在预测时理论上无法获取的信息,通过某种…...
Spring Boot - 数据库集成05 - 集成MongoDB
Spring Boot集成MongoDB 文章目录 Spring Boot集成MongoDB一:使用前的准备1:依赖导入 & 配置2:实体类创建 二:核心 - MongoRepository三:核心 - MongoTemplate1:集合操作2:文档操作(重点)3&…...
计算机网络之运输层
本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 04 传输层 在网上看到其他人做了相关笔记,就不再多余写了,直接参考着学习吧。 王道考研 计算机网络笔记 第五章:传输层_王道计算机网络传输层_Baret-H的博客-CSDN博…...
DeepSeekMoE:迈向混合专家语言模型的终极专业化
一、结论写在前面 论文提出了MoE语言模型的DeepSeekMoE架构,目的是实现终极的专家专业化(expert specialization)。通过细粒度的专家分割和共享专家隔离,DeepSeekMoE相比主流的MoE架构实现了显著更高的专家专业化和性能。从较小的2B参数规模开始&#x…...