Firewalld
简介
防火墙是只设置在不同网络与网络安全与之间的一系列部件的场合,也是不同安全与之间信息的唯一出口。通过监测、限制并更改跨越防火墙的数据流,尽可能的对外屏蔽网络内部的信息、结构和运行状态,且有选择地接受外部网络访问。在内外网之间架起一道屏障,以避免发生不可预知或潜在的入侵。从传统意义上来说防火墙技术分为三类:包过滤(Packet Filtering)、应用代理(Application Proxy)、状态检测(Stateful Inspection)。
Linux的防火墙体系主要工作网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。Linux系统的防火墙体系基于内核编码实现,具有非常稳定的性能和高效率,也因此获得广泛的应用。在CentOS7系统中几种防火墙共存:firewalld、iptables、ebtables,默认是用firewalld来管理netfilter子系统。
netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”(Kernel Space,又称为内核空间)的防火墙的功能体系。
firewalld:指用于管理Linux防火墙的命令程序,属于“用户态”(User Space,又称为用户空间)的防火墙管理体系。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5BTEoqU2-1594968968969)(img/7.15.png)]
firewalld的作用是为包括过滤机制提供匹配规则(或称为策略),通过各种不同的规则,告诉netfilter对来自指定源,前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更方便地组织和管理防火墙,firewalld提供了支持网络区域链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥,并拥有两种配置模式:运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。
Firewalld与iptables对比
- | firewalld | iptables |
---|---|---|
配置文件 | /usr/lib/firewall/ | |
/etc/firewalld/ | /etc/sysconfig/iptables | |
对规则的修改 | 不需要全部刷新策略,不丢失现在连接 | 需要全部刷新策略,丢失连接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
firewalld 是 iptables 的前端控制器
iptables 静态防火墙 任一策略变更需要reload所有策略,丢失现有链接
firewalld 动态防火墙 任一策略变更不需要reload所有策略 将变更部分保存到iptables,不丢失现有链接
firewalld 提供一个daemon和service 底层使用iptables
基于内核的Netfilter
firewalld跟iptables比起来至少有两大好处:
1)irewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
2)firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。
firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
firewalld 网络区域
firewalld网络区域
firewalld将所有的网络数据流量划分为多个区域,从而简化防火墙的管理。根据数据包的源IP地址或传入网络接口等条件,将数据流量传入相应的区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。
(1)若源地址关联到特定的区域,则执行该区域所制定的规则。
(2)若源地址未关联特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则。
(3)若网络接口未关联到特定的区域,则使用默认区域执行该区域所制定的规则
firewalld 的预定义区域说明
区域名称 | 默认配置说明 |
---|---|
阻塞区域(block) | 任何传入的网络数据包都将被阻止。 |
工作区域(work) | 相信网络上的其他计算机,不会损害你的计算机。 |
家庭区域(home) | 相信网络上的其他计算机,不会损害你的计算机。 |
公共区域(public) | 不相信网络上的任何计算机,只有选择接受传入的网络连接。 |
隔离区域(DMZ) | |
隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。 | |
信任区域(trusted) | 所有的网络连接都可以接受。 |
丢弃区域(drop) | 任何传入的网络连接都被拒绝。 |
内部区域(internal) | 信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。 |
外部区域(external) | 不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。 |
- 注:FirewallD的默认区域是public。
在流量经过防火墙时,firewalld防火墙会对传入的每个数据包进行检查,如果此数据包的源地址关联到特定的区域,则会应用该区域的规则对此数据包进行处理,如果该源地址没有关联到任何区域,则将使用传入网络接口所在的区域规则进行处理。如果流量与不允许的端口 、协议或者服务匹配,则防火墙拒绝传入流量。
firewalld防火墙的配置方法
- 运行时配置
实时生效,并持续至Firewalld重新启动或重新加载配置
不中断现有连接
不能修改服务配置 - 永久配置
不立即生效,除非Firewalld重新启动或重新加载配置
中断现有连接
可以修改服务配置
配置firewalld的三种方式:
① firewall-config图形工具
② firewall-cmd命令行工具
③ /etc/firewalld/中的配置文件
- Firewalld会优先使用/etc/firewalld/ 中的配置,如果不存在配置文件,则使用/etc/firewalld/ 中的配置
- /etc/firewalld/ :用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
- /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/ 中的配置
- 不建议直接编辑配置文件,建议使用命令行工具。
防火墙进程操作
[root@ns1 ~]# systemctl 选项 firewalld
- 选项:start 、stop 、restart 、status
防火墙管理操作
- firewall-cmd命令
支持全部防火墙特性
对于状态和查询模式,命令只返回状态,没有其他输出。
–permanent 参数:携带该参数表示永久配置,否则表示运行时配置。
[–zone=] 选项:不携带此选项表示针对默认区域操作,否则针对指定区域操作。
常用 firewall-cmd 命令
firewall-cmd 命令 | 说明 |
---|---|
–get-default-zone | 查看当前默认区域 |
–get-active-zones | 列出当前正在使用的区域及其所对应的网卡接口 |
–get-zones | 列出所有可用的区域 |
–set-default-zone= | 设置默认区域(注意此命令会同时修改运行时配置和永久配置) |
–add-source=[–zone=] | 将来自IP地址或网段的所有流量路由到指定区域,没有指定区域时使用默认区域 |
–remove-source=[–zone] | 从指定区域中删除来自IP地址或网段的所有路由流量规则。没有指定区域时使用默认区域 |
–add-interface=[–zone] | 将来自该接口的所有流量都路由到指定区域。没有指定区域时使用默认区域 |
–change-interface=[–zone] | 将接口与指定区域做关联,没有指定区域时使用默认区域 |
–list-all [–zone=] | 列出指定区域已配置接口、源、服务、端口等信息,没有指定区域时使用默认区域 |
–add-service=[–zone] | 允许到该服务的流量通过指定区域,没有指定区域时使用默认区域 |
–remove-service=[–zone] | 从指定区域的允许列表中删除该服务,没有指定区域时使用默认区域 |
–add-port=<PORT/PROTOCOL>[–zone=] | 允许到该端口的流量通过指定区域,没有指定区域时使用默认区域 |
–remove-port=<PORT/PROTOCOL>[–zone] | 从指定区域的允许列表中删除该端口,没有指定区域时使用默认区域 |
防火墙状态查询命令
[root@ns1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)
[root@ns1 ~]# firewall-cmd --state
not running
重新加载 Firewalld的配置
- firewall-cmd --reload
[root@ns1 ~]# firewall-cmd --reload
success
- firewall-cmd --complete-reload
状态信息将会丢失,多用于处理防火墙出现问题时
[root@ns1 ~]# firewall-cmd --complete-reload
success
- systemctl restart firewalld
[root@ns1 ~]# systemctl restart firewalld
查询预定义信息
[root@ns1 ~]# firewall-cmd --get-zones //查看预定义的区域
block dmz drop external home internal public trusted work
[root@ns1 ~]# firewall-cmd --get-services //查看预定义的服务
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nfs3 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
[root@ns1 ~]# firewall-cmd --get-icmptypes //查看预定义的ICMP 类型
address-unreachable bad-header communication-prohibited destination-unreachable echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement neighbour-solicitation network-prohibited network-redirect network-unknown network-unreachable no-route packet-too-big parameter-problem port-unreachable precedence-cutoff protocol-unreachable redirect required-option-missing router-advertisement router-solicitation source-quench source-route-failed time-exceeded timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly ttl-zero-during-transit unknown-header-type unknown-option
firewalld 区域操作命令
- 显示网络连接或接口的默认区域
[root@ns1 ~]# firewall-cmd --get-default-zone
public
- 设置网络连接或接口的默认区域为internal
[root@ns1 ~]# firewall-cmd --set-default-zone=internal
success
- 显示已激活的所有区域
[root@ns1 ~]# firewall-cmd --get-active-zones
internalinterface:ens33
- 显示ens33接口绑定的区域
[root@ns1 ~]# firewall-cmd --get-zone-of-interface=ens33
internal
- 为ens33接口绑定work区域
[root@ns1 ~]# firewall-cmd --zone=work --add-interface=ens33
success
- 为work区域更改绑定的网络接口ens33
[root@ns1 ~]# firewall-cmd --zone=work --change-interface=ens33
success
- 为work区域删除绑定的网络接口ens33
[root@ns1 ~]# firewall-cmd --zone=work --remove-interface=ens33
success
- 查询work区域中是否包含ens33
[root@ns1 ~]# firewall-cmd --zone=work --query-interface=ens33
no
- 显示所有区域及其规则
[root@ns1 ~]# firewall-cmd --list-all-zones
- 显示internal区域的所有规则
[root@ns1 ~]# firewall-cmd --zone=internal --list-all
- 显示默认区域的所有规则
[root@ns1 ~]# firewall-cmd --list-all
小结:
选项 | 说明 |
---|---|
–zone= --add-interface= | 为指定接口绑定区域 |
–zone= --change-interface= | 为指定的区域更改绑定的网络接口 |
–zone= --remove-interface= | 为指定的区域删除绑定的网络接口 |
–query-interface= | 查询区域中是否包含某接口 |
[–zone=] --list-all | 显示所有指定区域的所有规则 |
–get-default-zone | 显示网络连接或接口的默认区域 |
–set-default-zone= | 设置网络连接或接口的默认区域 |
–get-active-zones | 显示已激活的所有区域 |
–get-zone-of-interface= | 显示指定接口绑定的区域 |
- 显示 internal区域内允许访问的所有服务
[root@ns1 ~]# firewall-cmd --zone=internal --list-service
ssh mdns samba-client dhcpv6-client
- 为 public区域设置允许访问SMTP服务
[root@ns1 ~]# firewall-cmd --zone=public --add-service=smtp
success
- 删除 internal区域中的SSH服务
[root@ns1 ~]# firewall-cmd --zone=internal --remove-service=ssh
success
- 查询 internal区域中是否启用了SSH服务
[root@ns1 ~]# firewall-cmd --zone=internal --query-service=ssh
no
小结:
选项 | 说明 |
---|---|
[–zone=] --list-service | 显示指定区域内允许访问的所有服务 |
[–zone=] --add-service= | 为指定区域设置允许访问的某些服务 |
[–zone=] --remove-service= | 删除指定区域以设置的允许访问的某项服务 |
[–zone=] --query-service= | 查询指定区域中是否启用了某项服务 |
firewalld端口操作命令
- 显示 internal区域内允许访问的所有端口号
[root@ns1 ~]# firewall-cmd --zone=internal --list-ports
- 启用 internal区域22端口的TCP协议组合
[root@ns1 ~]# firewall-cmd --zone=internal --add-port=22/tcp --timeout=5m
success
- 禁用 internal区域22端口的TCP协议组合
[root@ns1 ~]# firewall-cmd --zone=internal --remove-port=22/tcp
success
- 查询 internal区域中是否启用了22端口和TCP协议组合
[root@ns1 ~]# firewall-cmd --zone=internal --query-port=22/tcp
no
小结:
选项 | 说明 |
---|---|
[–zone=] --list-ports | 显示指定区域内允许访问的所有端口号 |
[–zone=] --add-port=[-]/ [–timeout=] | 启用区域端口和协议组合,可选配置超时时间 |
[–zone=] --remove-port=[-]/ | 禁用区域端口和协议组合 |
[–zone=] --query-port=[-]/ | 查询区域中是否启用了端口和协议组合 |
firewalld阻塞ICMP操作命令
- 显示 work区域内阻塞的所有ICMP类型
[root@ns1 ~]# firewall-cmd --zone=work --list-icmp-blocks
- 为 work区域设置阻塞 echo-reply类型的ICMP
[root@ns1 ~]# firewall-cmd --zone=work --add-icmp-block=echo-reply
success
- 删除 work区域已阻塞的 echo-reply类型的ICMP
[root@ns1 ~]# firewall-cmd --zone=work --remove-icmp-block=echo-reply
success
- 查询 work区域的 echo-request类型的ICMP是否阻塞
[root@ns1 ~]# firewall-cmd --zone=work --query-icmp-block=echo-request
no
小结:
选项 | 说明 |
---|---|
[–zone=] --list-icmp-blocks | 显示指定区域内阻塞的所有ICMP类型 |
[–zone=] --add-icmp-block= | 为指定区域设置阻塞的某项ICMP类型 |
[–zone=] --remove-icmp-block= | 删除指定区域已阻塞的某项ICMP类型 |
[–zone=] --query-icmp-block= | 查询指定区域的 ICMP阻塞功能 |
Firewalld 防火墙案例
### 实验:通过防火墙接口设置,来实现 ssh的访问控制
<1>在防火墙策略中去掉 ssh服务
```bash
[root@ns1 ~]# firewall-cmd --list-all //显示所有指定区域的所有规则
publictarget: defaulticmp-block-inversion: nointerfaces: sources: services: ssh dhcpv6-clientports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: [root@ns1 ~]# firewall-cmd --permanent --remove-service=ssh
success
[root@ns1 ~]# firewall-cmd --reload //不中断连接,重启防火墙
success
[root@ns1 ~]# firewall-cmd --list-all
publictarget: defaulticmp-block-inversion: nointerfaces: sources: services: dhcpv6-clientports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules:
连接失败
[root@ns2 ~]# ssh 192.168.160.7
ssh: connect to host 192.168.160.7 port 22: No route to host
[root@ns2 ~]#
<2>添加防火墙策略
[root@ns1 ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 192.168.160.5 -j ACCEPT //允许192.168.160.7 主机通过22端口(ssh默认端口)访问。
success
[root@ns1 ~]# firewall-cmd --list-all
publictarget: defaulticmp-block-inversion: nointerfaces: sources: services: dhcpv6-clientports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules:
连接成功
[root@ns2 ~]# ssh 192.168.160.7
The authenticity of host '192.168.160.7 (192.168.160.7)' can't be established.
ECDSA key fingerprint is SHA256:f2HoWJm2jEjRBvDbJpQzKOuirt2QYkVIiQg9YO/GZtk.
ECDSA key fingerprint is MD5:aa:26:f1:79:40:2e:66:dd:3c:d1:34:f3:1c:43:44:2d.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.160.7' (ECDSA) to the list of known hosts.root@192.168.160.7's password:
Last login: Fri Jul 10 22:04:20 2020 from 192.168.160.1
[root@ns1 ~]#
案例二
需求描述
- 禁止主机ping服务器
- 只允许 192.168.8.130主机访问Apache服务
- 只允许 192.168.8.150主机访问TCP/22端口
1.绑定区域
[root@ns1 ~]# firewall-cmd --get-active-zone //默认下激活的区域
[root@ns1 ~]# firewall-cmd --permanent --zone=work --add-source=192.168.8.130
success //将来源地址192.168..8.130和work区域关联
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --add-source=192.168.8.150
success //将来源地址192.168.8.150和internel区域关联
[root@ns1 ~]# firewall-cmd --reload //重新加载
success
[root@ns1 ~]# firewall-cmd --get-active-zone
worksources: 192.168.8.130
internalsources: 192.168.8.150
配置服务
- Work区域配置
[root@ns1 ~]# firewall-cmd --zone=work --list-services
ssh dhcpv6-client
[root@ns1 ~]# firewall-cmd --permanent --zone=work --remove-service=ssh
success
[root@ns1 ~]# firewall-cmd --permanent --zone=work --remove-service=dhcpv6-client
success
[root@ns1 ~]# firewall-cmd --permanent --zone=work --add-service=http
success
[root@ns1 ~]# firewall-cmd --permanent --zone=work --list-services
http
- internal区域配置
[root@ns1 ~]# firewall-cmd --zone=internal --list-services
ssh mdns samba-client dhcpv6-client
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --remove-service=ssh
success
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --remove-service=dhcpv6-client
success
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --remove-service=samba-client
success
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --remove-service=mdns
success
[root@ns1 ~]# firewall-cmd --zone=internal --list-services
- public区域配置
[root@ns1 ~]# firewall-cmd --permanent --zone=public --list-services
dhcpv6-client ssh
[root@ns1 ~]# firewall-cmd --permanent --zone=public --remove-service=dhcpv6-client
success
[root@ns1 ~]# firewall-cmd --permanent --zone=public --remove-service=ssh
success
[root@ns1 ~]# firewall-cmd --permanent --zone=public --list-services
- 配置端口
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --list-ports[root@ns1 ~]# firewall-cmd --permanent --zone=internal --add-port=22/tcp
success
[root@ns1 ~]# firewall-cmd --permanent --zone=internal --list-ports
22/tcp
- 配置ICMP阻塞
[root@ns1 ~]# firewall-cmd --permanent --zone=public --list-icmp-blocks
[root@ns1 ~]# firewall-cmd --permanent --zone=public --add-icmp-block=echo-request
success
[root@ns1 ~]# firewall-cmd --permanent --zone=public --list-icmp-blocks
echo-request
[root@ns1 ~]# firewall-cmd --reload //重新加载配置
success
- 验证即可。
总结
- firewalld 防火墙是一款功能强大的包过滤防火墙,可同时支持IPv4和IPv6地址。
- firewalld 防火墙拥有 运行时(runtime)和永久(permanent)配置两种状态。拥有区域的概念,支持直接添加服务或者端口。
- firewalld 防火墙既可以通过字符管理工具 firewall-cmd 管理,又可以通过图形管理工具 firewall-config 进行管理。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 粒子系统——实现高级渲染效果的必备工具
现象建模中,如云、烟、水和火在现有的计算机图像合成技术下是比较困难的。这些“模糊”的物体没有光滑、清晰和闪亮的表面;相反,它们的表面是不规则的、复杂的、不清楚的。我们感兴趣的是它们在形状和外观上的动态和流体变化。它们不是刚体,它们的运动也不能用计算机图形学…...
2024/5/7 20:17:11 - 【Flutter】沉浸式导航
效果结构是使用Stack布局先给后面的控件弄个图片的背景,之后再上Scaffold,再将相关的组件背景设为透明即可. 代码class Body extends StatelessWidget {@overrideWidget build(BuildContext context) {return Stack(children: <Widget>[Image.network(https://timgsa.ba…...
2024/5/3 13:07:54 - Jest encountered an unexpected token This usually means that you are trying to import a file which J
配置jest的时候出现了rt问题,解决方案:npm install --save-dev babel-jest babel-core@^7.0.0-0 @babel/core 在根目录创建babel.config.js:module.exports = {plugins: ["@babel/plugin-proposal-class-properties","babel-plugin-styled-components",…...
2024/4/8 22:55:43 - STM32使用ARM优化数学库arm_math.h函数库配置指南
title: STM32F4xx调用arm_math.h库 date: 2020-07-17 14:57:12 tags: categories: STM32学习记录为什么要用到这个库 这段时间在调Robomaster的电机,用的是大疆的F427主控,角度控制为了达到快速精准的效果,需要将PID的一个段写成非线性的方式,要用到"math.h"库当…...
2024/5/7 23:06:10 - 容器转换类型,列表,集合,字典推导式
容器转换类型tuple() 数据类型转换为元组list() 转换为列表set() 转换为集合1.tuple() list1={a,z,s,w} set1={100,200,300,400} tuple1=(10,20,30,40,50)tuple2=tuple(list1) print(tuple2) #(z, a, s, w) print(tuple(set1)) #(200, 100, 400, 300) 2.list() list1={a,z,s…...
2024/4/23 16:04:38 - 1028 人口普查python3无超时
文章目录1、最初代码2、改进后代码 1、最初代码 #!/usr/bin/env python # -*-coding:utf-8 -*-@File : 1028.py @Time : 2020/04/04 19:40:11 @Author : Schiller Xu @Version : 1.0 @Contact : schillerxu@qq.com @License : (C)Copyright 2020-2021, S…...
2024/5/7 15:44:16 - 兑换积分换地方的地方和飞机
加粗样式@TOC 试过很多附加分结合的后果的缓解地方 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些…...
2024/4/27 6:15:54 - react-cropper的使用,react图片裁剪
react-cropper react-crepper的github:https://github.com/react-cropper/react-cropper 不想看官方文档的,就直接看如何使用吧。 安装 npm install --save react-cropper //或者 yarn add react-cropper** 组件内使用** import React, { useRef } from react; /** 引入reac…...
2024/4/8 5:20:25 - 饿了么UI组件库中,Image组件预览问题
使用过elementUI组件库中的Image组件基本都知道,其组件会自带一个图片预览功能,仅需要通过preview-src-list传入需要预览的图片url列表即可实现点击预览。 博主使用了此功能,进行数组的循环渲染,具体渲染代码如下: <divclass="img-wrap"v-for="(item, i…...
2024/4/27 21:16:57 - Anybackup-7.0.8.0环境搭建-Master节点安装
1 安装软件包之前需要确认上一章节配置的网络是否正常。 2 安装时如果出现如下报错,请在/etc/sysctl.conf中添加 net.ipv6.ip_nonlocal_bind=1 net.ipv4.ip_nonlocal_bind=1 命令参考:vi /etc/sysctl.conf,在最后一行加入上面两条命令,保存。 保存后sysctl –p…...
2024/4/22 1:26:27 - SpringAOP01_1
动态代理接口类package com.czl.inter;public interface Calculator {public int add(int i, int j);public int sub(int i, int j);public int mul(int i, int j);public int div(int i, int j);}接口实现类(被代理类)public class MyMathCalculator implements Calculator{…...
2024/4/27 8:07:25 - 企业微信聊天工具栏使用指南
什么是聊天工具栏?企业微信3.0.16版本更新原聊天侧边栏升级为聊天工具栏。升级后:1.可以配置小程序了;2.入口更浅,交互体验更好;3.可配置第三方应用的页面了。企业可以把CRM页面、商品页面、知识库等挂接到聊天工具栏,方便员工和在客户聊天时,快速查看和编辑客户信息、快…...
2024/4/8 23:13:13 - 给Ubuntu安装桌面并且用VNC远程连接
1)更新软件库sudo apt-get update2)升级sudo apt-get upgrade3)安装xfcesudo apt-get install xfce44)安装VNCServersudo apt-get install vnc4server5)启动并且设置密码vncserver :16)修改配置文件: vi ~/.vnc/xstartup#!/bin/sh unset SESSION_MANAGER unset DBUS_SE…...
2024/4/25 10:40:32 - 弹出层拖动
弹出层拖动两种不一样的拖动方式代码完全不相同。第一种方法任意拖动$(function() {//鼠标初始化位置var initMouseX = 0;var initMouseY = 0;//元素的初始化位置var initObjX = 0;var initObjY = 0;//鼠标按下标识var isDraging = false;//DOM-Objectfunction g(id){var idcla…...
2024/4/7 23:48:41 - 朝花夕拾——二分
二分可以说是我编程最早接触的算法了,甚至不能说是一种具体的算法,而是一种解决问题的思路,当年打竞赛那会写得还比较多,大三以后就没怎么用过了。 二分是一个看上去很简单,但是实际一写很容易出错的算法,在我印象里是这样的,因为一些故意设计的题目很喜欢在它的边界判断…...
2024/4/8 23:13:07 - Linux基础入门--网络工具--openssl
Linux基础入门--网络工具--openssl1.作用2.语法3.命令3.1 标准命令3.2 Digest命令3.3 编码和密码命令4.例子 1.作用 OpenSSL命令行工具,OpenSSL是一个实现安全套接字层(SSL v2/v3)和传输层安全性(TLS v1)所需的网络协议和相关加密标准的密码技术工具包。openssl程序是一个命令…...
2024/4/8 23:13:07 - 游戏音乐制作中要注意的五大问题
游戏中节奏由玩家掌握,同一关卡,有的玩家10分钟通关,有的玩家20分钟通关;或者在主线任务上发现了某些隐藏的关卡,进去冒险,又或者触发了别的剧情,玩家回不来了。同一款游戏,不同的玩家玩,将会有无数种可能。那么作为游戏音乐制作商,在游戏音乐制作中,要注意哪些问题…...
2024/4/8 4:11:46 - 一篇小文带你走进RabbitMQ的世界
说到消息中间件,大部分人的第一印象可能是Kafka。毕竟Kafka自问世以来,就顶着高并发,大流量的光环。当然了Kafka也不负众望,在大数据处理方面一直独领风骚。这里想说说另一款同样优秀的消息中间件RabbitMQ。选RabbitMQ还是Kafka如果单机数据量没有到十万级以上,我觉得选哪…...
2024/4/8 23:13:04 - Linux常见的知识考题
1、什么是相对路径?什么是绝对路径?PATH环境变量有什么意义? 相对路径不由 / 开始写,为相对于目前工作目录的路径; 绝对路径的写法为由 / 开始写; $PATH指定执行档执行的时候,档案搜寻的目录路径; 2、目录的操作指令有哪些?请列出并描述其用法; cd: 变换目录; pwd…...
2024/4/24 5:34:12 - Swoole安装配置与起步,搭建聊天室【更新中】
Swoole安装配置与起步,搭建聊天室 1.环境Ubuntu 16 桌面版2.开始工作开启Ubuntu的sshdps –ef|grep sshd配置好网络设置,可以连接外网 使用Xshell连接此系统下载好swoole源码,随后再进行编译https://github.com/swoole/swoole-src 将swoole源码放到/home目录下,并解压unzip…...
2024/4/8 5:13:21
最新文章
- Activiti工作流中的自定义代理人、候选人与候选组
前言 在Activiti这一强大开源的工作流引擎中,灵活地管理任务的处理流程是其核心功能之一。其中,“代理人”、“候选人”与“候选组”是实现任务分派和审批流程的关键概念。本文将深入解析这三个概念的区别、定义及其在实际工作流设计中的应用。 1. 代理…...
2024/5/8 1:57:34 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - Python中大的一把锁
今天可以来讲解下GIL是个什么了。 GIL为什么是Python中大的一把锁? GIL是Global Interpreter Lock的缩写,翻译过来就是全局解释器锁。 从字面上去理解,它就是锁在解释器头上的一把锁,它使Python代码运行变得有序。 假如有一段…...
2024/5/6 22:04:06 - 多态--下
文章目录 概念多态如何实现的指向谁调谁?例子分析 含有虚函数类的大小是多少?虚函数地址虚表地址多继承的子类的大小怎么计算?练习题虚函数和虚继承 概念 优先使用组合、而不是继承; 继承会破坏父类的封装、因为子类也可以调用到父类的函数;…...
2024/5/7 8:32:32 - 54.螺旋矩阵
题目描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2:输入:matrix …...
2024/5/7 9:54:07 - 416. 分割等和子集问题(动态规划)
题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满ÿ…...
2024/5/7 19:05:20 - 【Java】ExcelWriter自适应宽度工具类(支持中文)
工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...
2024/5/7 22:31:36 - Spring cloud负载均衡@LoadBalanced LoadBalancerClient
LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...
2024/5/8 1:37:40 - TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...
2024/5/7 14:19:30 - VB.net WebBrowser网页元素抓取分析方法
在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...
2024/5/8 1:37:39 - 【Objective-C】Objective-C汇总
方法定义 参考:https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...
2024/5/7 16:57:02 - 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...
2024/5/7 14:58:59 - 【ES6.0】- 扩展运算符(...)
【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数࿰…...
2024/5/7 1:54:46 - 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?
文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...
2024/5/7 21:15:55 - Go语言常用命令详解(二)
文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...
2024/5/8 1:37:35 - 用欧拉路径判断图同构推出reverse合法性:1116T4
http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b,我们在 a i a_i ai 和 a i 1 a_{i1} ai1 之间连边, b b b 同理,则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然࿰…...
2024/5/7 16:05:05 - 【NGINX--1】基础知识
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...
2024/5/7 16:04:58 - Hive默认分割符、存储格式与数据压缩
目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...
2024/5/8 1:37:32 - 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法
文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...
2024/5/7 16:05:05 - --max-old-space-size=8192报错
vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...
2024/5/8 1:37:31 - 基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
2024/5/8 1:37:31 - JS原型对象prototype
让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...
2024/5/7 11:08:22 - C++中只能有一个实例的单例类
C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...
2024/5/7 7:26:29 - python django 小程序图书借阅源码
开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图࿰…...
2024/5/8 1:37:29 - 电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
2024/5/7 17:09:45 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57