安全技术和防火墙(2)

news2024/11/27 11:41:47

安全技术和防火墙

文章目录

  • 安全技术和防火墙
    • 安全技术
    • 防火墙
    • 通信的五大要素和四大要素
    • 四表五链*
    • 控制类型
    • 管理选项:
    • 匹配条件
    • 实验步骤
      • 关闭防火墙
    • 添加规则
    • 指定IP地址
    • 指定多个ip
    • 指定端口
    • 拒绝访问nginx
    • 删除规则
    • 修改策略
    • 修改链
    • 拒绝整个网段
    • 禁止多个端口
    • 匹配mac地址
  • iptables
    • 备份和还原
    • 自定义链
    • 添加端口

安全技术

入侵检测系统:特点是不阻断网络访问,主要是提供报警和事后监督,不主动介入,默默的看着你(监控)

入侵防御机制:透明模式工作,数据包,网络监控,服务攻击,木马,蠕虫,系统漏洞等等进行准确的分析和判断。

在判定攻击行为后立即阻断。主动的防御(所有数据在进入本机之前,必须通过的设备或者软件)

防火墙:隔离,工作在网络或者主机的边缘(处于内网和外网之间)

对网络或者主机的数据包基于一定的规则进行检查。匹配到的规则

放行 拒绝(数据包将会被丢弃)

只开放允许访问的策略。(白名单机制,拒绝所有,允许个别)

防水墙:是一种防止内部信息泄露的产品,对外有防火墙的功能,对内是透明工作模式,类似监控

事前,事中,事后都知道。

防火墙

iptables :这是linux自带的防火墙,一般用于内部配置,对外一般不使用(对外都是用专业的,)

firwalld:linux自带的防火墙,centos7以后默认的防火墙

包过滤防火墙(是对数据包进行控制)

网络层对数据包进行选择,选择的依据是防火墙设置的策略

策略:IP地址,端口,协议。

优点,处理速度快,易于维护

缺点,无法检查应用层数据,病毒无法进行处理

应用层防火墙:在应用层对数据进行检查,比较安全

优点:更安全,问题可以精确定位

缺点:所有数据都会检查,增加防火墙的负载

iptables 工作在网络层,对数据包实施过滤和限制,包过滤防火墙

通信的五大要素和四大要素

五大要素:源ip目标ip 源端口 目的端口 协议

四要素:源ip 目的 ip 源端口 目的端口

内核态和用户态:

内核态:设计到软件的底层代码或者是系统的基层逻辑,以及一些硬件的编码。

开发人员更关注内核态

数据如果是内核态处理,速度相对比较快。

iptables的过滤规则就是有内核进行控制的。

用户态:

应用层软件层面,人为控制的一系列操作,使用功能,

数据只通过用户态处理,速度是比较慢的

iptables的配置和策略*

四表五链*

四表

raw表:用于控制数据包的状态,跟踪数据包的状态

mangle表:修改数据包的头部信息

NAT表:网络地址转换,可以改变数据包的源地址和目的地址

filter表:也是iptables的默认表,不做声明,默认就是filter表,过滤数据包的进出,以及接收和拒绝数据包

在这里插入图片描述

五链

PREHOUTING链:处理数据包进入本机之前的规则(NAT表)

INPUT链:处理数据包进入本机的规则(fillter表,是否允许数据包进入)

OUTPUT 链:处理本机发出的数据包规则,或者是数据包离开的本机规则(fillter表,一般不做设置)

FORWARD链:处理数据包转发到其他主机的规则,或者是允许本机进行数据转发

postrouting链:处理数据包离开本机的规则(NAT表)

表里有链,链里有表

第二种情况,请求和响应的过程 http或https
在这里插入图片描述

管理选项:在表的链中插入,增加,删除,查看规则。

匹配条件:数据包的IP地址,端口,协议

控制类型,允许,拒绝,丢弃。

注意事项:

1、不指定表名,默认就是fillter表

2、不指定链名,默认就是所有链 (禁止行为。)

3、除非设置了链的默认策略,否则必须执行匹配条件(一般都是指定的匹配条件)

4、选项,链名和控制类型都是大写,其余都是小写

控制类型

(所有控制类前面都是-j)

ACCEPT:允许数据包通过

DROP:直接丢弃数据包,没有任何回应信息

REJECT:拒绝数据包通过,数据包也会被丢弃,但是会有一个响应的信息。

SNAT:修改数据包的源地址

DNAT:修改数据包的目的地址。

管理选项:

-A 在链中添加一条规则,在链尾添加。

-l 指定位置插入一条规则。

-P 指定了默认规则一般都是设置成拒绝(默认是允许。)

-D 删除规则

-R 修改规则(慎用)

-vnL:v是显示详细信息,n数字形式展示内容,L查看

–line numbers:显示规则的编号,和查看一起使用

-F :清空链中的所有规则(慎用)

-X:清除自定义链中的规则

匹配条件

-P:指定协议类型

-s:指定匹配的目的IP地址

-d:指定匹配的目的ip地址

-i:指定数据包进入本机的网络设备

-o:指定数据包离开本机的网络设备

–sport:指定源端口

–dport:制定目的的端口

实验步骤

关闭防火墙

yum -y install iptables iptables-services安装软件

enble开机自启

iptables命令格式

iptables[-t表明]管理选项 链名 (大写)匹配条件[-j 控制类型]

所有控制类前面都是-j

iptables -L 查看规则

iptables -vnL --line-number
 vnL详细展示       以数字形式

添加规则

iptables -F 清空

iptables -L

格式

iptables -A INPUT -P icmp -j REJECT 拒绝所有主机ping本机

iptables -A INPUT -p icmp -j ACCEPT 还是不通

匹配规则:

每个链中的规则都是从上到下的顺序匹配,匹配到之后不再向下匹配

如果链中没有规则,则执行链的默认策略进行执行

iptables -vnL --line-number

iptables -I INPUT 1 -p icmp -j ACCEPT

指定IP地址

iptables -A INPUT -s 目标地址 -p icmp -j REJECT

iptables -A INPUT -s 20.0.0.20 -p icmp -j REJECT 
[root@test1 opt]# iptables -vnL --line-number
Chain INPUT (policy ACCEPT 68 packets, 5366 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        4   336 REJECT     icmp --  *      *       20.0.0.20            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 35 packets, 2788 bytes)
num   pkts bytes target     prot opt in     out     source               destination  
[root@test2 opt]# ping 20.0.0.10
PING 20.0.0.10 (20.0.0.10) 56(84) bytes of data.
From 20.0.0.10 icmp_seq=1 Destination Port Unreachable
From 20.0.0.10 icmp_seq=2 Destination Port Unreachable
From 20.0.0.10 icmp_seq=3 Destination Port Unreachable
From 20.0.0.10 icmp_seq=4 Destination Port Unreachable

指定多个ip

iptables -A INPUT -s 目标地址,目标地址 -p icmp -j DROP

(中间需要用“,”隔开)

iptables -A INPUT -s 20.0.0.20,20.0.0.30 -p icmp -j REJECT 
[root@test1 opt]# iptables -vnL --line-number
Chain INPUT (policy ACCEPT 62 packets, 3856 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REJECT     icmp --  *      *       20.0.0.20            0.0.0.0/0            reject-with icmp-port-unreachable
2        0     0 REJECT     icmp --  *      *       20.0.0.30            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 29 packets, 2216 bytes)
num   pkts bytes target     prot opt in     out     source               destination  
主机二
[root@test2 opt]# ping 20.0.0.10
PING 20.0.0.10 (20.0.0.10) 56(84) bytes of data.
From 20.0.0.10 icmp_seq=1 Destination Port Unreachable
From 20.0.0.10 icmp_seq=2 Destination Port Unreachable
From 20.0.0.10 icmp_seq=3 Destination Port Unreachable
主机三
 ping 20.0.0.10
PING 20.0.0.10 (20.0.0.10) 56(84) bytes of data.
From 20.0.0.10 icmp_seq=1 Destination Port Unreachable
From 20.0.0.10 icmp_seq=2 Destination Port Unreachable
From 20.0.0.10 icmp_seq=3 Destination Port Unreachable

指定端口

iptables -A INPUT -p tcp --dport 22 -j REJECT 断开22端口所有连接:xshell会直接断开然后进去虚拟机重启一下这个服务

iptables -A INPUT -s目的IP地址 -p tcp --dport 22 -j REJECT限制用户登录

ssh root@20.0.0.20
The authenticity of host '20.0.0.20 (20.0.0.20)' can't be established.
ECDSA key fingerprint is SHA256:+XQL+rFHCzoLCvoOqlfd5P9iMHBTXdUgtdg2qjiAgfk.
ECDSA key fingerprint is MD5:30:61:c4:d3:f7:a1:c4:b8:19:49:20:4f:9b:0a:5b:b1.
Are you sure you want to continue connecting (yes/no)? yes    
Warning: Permanently added '20.0.0.20' (ECDSA) to the list of known hosts.
root@20.0.0.20's password: 
Last login: Wed Jun 26 08:51:11 2024 from 20.0.0.1
[root@test2 ~]# exit
登出
Connection to 20.0.0.20 closed.
[root@test3 opt]# ssh root@20.0.0.20
ssh: connect to host 20.0.0.20 port 22: Connection refused

拒绝访问nginx

systemctl restart nginx.service 
[root@test2 opt]# iptables -F
[root@test2 opt]# iptables -A INPUT -s 20.0.0.30 -p tcp --dport 80 -j REJECT
另一台主机
curl 20.0.0.20
curl: (7) Failed connect to 20.0.0.20:80; 拒绝连接

删除规则

# iptables -A INPUT -s 20.0.0.20 -p tcp --dport 80 -j ACCEPT 
[root@test1 opt]# iptables -A INPUT -s 20.0.0.20 -p tcp --dport 80 -j DROP 
iptables -vnL --line-number
Chain INPUT (policy ACCEPT 80 packets, 5488 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  *      *       20.0.0.20            0.0.0.0/0            tcp dpt:80
2        0     0 DROP       tcp  --  *      *       20.0.0.20            0.0.0.0/0            tcp dpt:80

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 47 packets, 3844 bytes)
num   pkts bytes target     prot opt in     out     source  
删除规则
iptables -D INPUT 2
[root@test1 opt]# iptables -vnL --line-number
Chain INPUT (policy ACCEPT 88 packets, 5430 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  *      *       20.0.0.20            0.0.0.0/0            tcp dpt:80

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 50 packets, 3808 bytes)
num   pkts bytes target     prot opt in     out     source               destination      

修改策略

在这里插入图片描述

 iptables -vnL --line-numbers  查看当前的规则
Chain INPUT (policy ACCEPT 6 packets, 364 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        6   393 ACCEPT     tcp  --  *      *       20.0.0.30            0.0.0.0/0            tcp dpt:80

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 9 packets, 5741 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
[root@test2 opt]# iptables -R INPUT 1 -s 20.0.0.30 -p tcp --dport 80 -j REJECT   这是替换
查看另一台虚拟机
curl 20.0.0.20
curl: (7) Failed connect to 20.0.0.20:80; 拒绝连接

修改链

修改链的默认策略基本 上不会用

在这里插入图片描述

在这里插入图片描述

拒绝整个网段

在这里插入图片描述

curl 20.0.0.20
curl: (7) Failed connect to 20.0.0.20:80; 拒绝连接

禁止多个端口

一次静止多个端口进行操作

-m 扩展模块,一次性禁止多端口 ip范围 指定mac地址

iptables -F

iptables -A IN -p

mariadb

在这里插入图片描述

在这里插入图片描述

需要用逗号隔开

在这里插入图片描述

IP地址范围 这中间的范围不能连接到该主机

在这里插入图片描述

在这里插入图片描述

匹配mac地址

在这里插入图片描述

iptables

备份和还原

对iptables规则进行备份和还原

cd /etc/sysconfig/iptables

在这里插入图片描述

iptables -F 清空规则

设置规则

iptables-save >/opt/iptables.bask 备份到文件中
iptables-restore </opt/iptables.bask  恢复原来状态

iptables -t filter -A INPUT -p icmp -j ACCEPT 
[root@test2 opt]# iptables -t filter -A INPUT -p icmp -j REJECT 
[root@test2 opt]# iptables -vnL --line-number
Chain INPUT (policy ACCEPT 56 packets, 3248 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
2        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
备份
iptables-save >/opt/iptables.bask
[root@test2 opt]# iptables -vnL --line-number
Chain INPUT (policy ACCEPT 201 packets, 12269 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
2        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 121 packets, 9888 bytes)
num   pkts bytes target     prot opt in     out     source               destination   
恢复
 iptables-restore </opt/iptables.bask 
[root@test2 opt]# iptables -vnL --line-number
Chain INPUT (policy ACCEPT 8 packets, 516 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
2        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 6 packets, 640 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

iptables -save > 先保存到文件里

在把规则导出

在这里插入图片描述

在这里插入图片描述

自定义链

-N是插入自定义链

-E 原链名 替换的链名 (替换)

插入自定义链的

在这里插入图片描述

使用iptables

snat 和 dnat

snat:源地址转换

内网----外网 内网ip转换成可以访问外网的ip.

内网的多个主机可以只有一个有效的公网ip地址访问外部网络

dnat:目的地址转发

外部用户,可以通过一个公10网地址访问服务的内部

在这里插入图片描述

三台关闭防火墙安全机制

主机一和主机三安装nginx然后重启 访问自己主机的nginx是否有wab服务

curl 本机地址

主机二安装iptables并添加网卡 并修改ip

在这里插入图片描述

在这里插入图片描述
20240627094114022.png&pos_id=img-7BIxkhcI-1719564581282)

主机二的另一个网关也要修改

ip修改成11

主机三的IP地址进行修改

主机一修改网关 20.0.0.254

主机二修改内核配置文件

在这里插入图片描述

在这里插入图片描述

1:是开启

0:是关

sysctl -p 可以使内核参数的配置立刻生效(命令行执行)

主机二

iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens36 -j SNAT --to 10.0.0.10

在这里插入图片描述

-t nat 指定表为nat

-A POSTROUTING A添加

-s 指定源

-o 指定输出网络设备

-j 控制类型

–to 指定整个网段 192.168.233.0/24

重启三台主机的网卡

进入虚拟机看1 3 的主机

tail -f /var/log/nginx/acc

DNAT

目的地址转换主机二

在这里插入图片描述

在linux当中如何抓包

tcpdump就是linux自带的抓包工具,(最小化安装不带的,需要额外安装)

tcp 指定的抓包协议 udp icmp 第一个参数,可以不指定协议

-i 只抓经过设备的包

-t 不显示时间戳

-s0 抓完整的数据包

-c10:抓几个数据包10

dst port :指定抓包的端口

src net 网段 /24 指定抓包的ip地址

在这里插入图片描述

下载到电脑查看 使用wireshark进行查看

在这里插入图片描述

在这里插入图片描述

如果要用wireshark对数据包进行分析 再抓包时需要用-s0抓取完整版 否则wireshark无法分析

firewalld是centos7自带的 也是默认的,7以前的事iptables。

ubtntu :ufw firewalld

ster先开启防火墙

firewalld按照区域来划分的

pulic:公共区域,默认配置了ssh以及DHCPv6预定服务是放通的, 其它全部都是拒绝的,默认区域

trusted:信任区域,允许所有的数据包放通

block:限制区域,拒绝所有,

drop:丢弃区域,丢弃所有的数据包

dmz:非军事区域,默认就只允许ssh通过

home:家庭区域,默认只允许ssh通过

internal:内部区域和home一模一样

external:外部区域,也是默认ssh通过,其他的全部拒绝

work:工作区域,默认放通ssh

firewalld-cmd 命令行工具
firewalld-cmd --get-default-zone查看当前系统默认区域

区域切换

在这里插入图片描述

查看区域内允许访问的服务

firewalld-cmd --list-service

获取ipv6的地址

firewalld-cmd --add-service=http --zone=public 添加

在这里插入图片描述

删除 直接重启防火墙

添加服务 永久生效

firewalld-cmd --add-service=

在这里插入图片描述

firewalld-cmd --reload

删除

在这里插入图片描述

在这里插入图片描述

添加端口

临时添加

irewalld-cmd --zone

在这里插入图片描述

添加多个端口

在这里插入图片描述

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

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

相关文章

代理IP对SEO影响分析:提升网站排名的关键策略

你是否曾经为网站排名难以提升而苦恼&#xff1f;代理服务器或许就是你忽略的关键因素。在竞争激烈的互联网环境中&#xff0c;了解代理服务器对SEO的影响&#xff0c;有助于你采取更有效的策略&#xff0c;提高网站的搜索引擎排名。本文将为你详细分析代理服务器在SEO优化中的…

自动化代码规范检查--Sonarqube部署

参考文档 官方文档安装数据库 官方给出几种数据库: # 我们选用postgres, 拉取镜像 docker pull postgres:16.0# 创建存储卷 docker volume create postgresql-data# 运行容器 docker run -d --name sonarqube-postgres \-p 5432:5432 \-e POSTGRES_DB=sonar_DB \-e POSTGRE…

pyqt5 制作视频剪辑软件,切割视频

该软件用于切割视频,手动选取视频片段的起始帧和结束帧并保存为json文件。gui界面如下:包含快进、快退、暂停等功能, 代码如下: # coding=UTF-8 """ theme: pyqt5实现动作起始帧和结束帧的定位,将定位到的帧数保存json文件 time: 2024-6-27 author: cong…

vs2017调试MFC源码与dll版本不匹配

如上图&#xff0c;使用VS2017调试MFC源码&#xff0c;提示源码与dll不匹配。 经过一番折腾终于找到了原因&#xff1a;同时安装了vs2017、vs2022&#xff0c;结果加载的mfc140ud.dll不是vs2017的&#xff0c;而是vs2022的&#xff0c;主版本号虽然都是14&#xff0c;但小版本…

uniapp加载打点点效果

uniapp加载打点点效果 背景实现思路代码实现尾巴 背景 为了增加系统的交互性&#xff0c;我们在加载数据时通常会增加一些loading动效&#xff0c;但是在某些场景下只需要一些简单文字提醒。比如说使用【加载中】或者【loading】等字段&#xff0c;但是写静态的字符又显得交互…

探索未来的AI革命:GPT-5的即将登场

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

-bash: /snap/bin/docker: 没有那个文件或目录

-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后&#xff0c;重新加载配置文件 source ~/.bashrc

43.SO_BACKLOG

属于ServerSocketChannel参数 SO_BACKLOG 设置的过小&#xff0c;高峰期有很多连接来了&#xff0c;就会被拒绝&#xff0c;报拒绝连接错误。 控制全连接队列的大小&#xff0c;可以容下适量连接。所以SO_BACKLOG设置的要大一些。 serverBootstrap.option(ChannelOption.SO_B…

AI 卖货主播大模型:Streamer-Sales 销冠!MoneyPrinterTurbo :简直就是营销号的梦想工具!

AI 卖货主播大模型&#xff1a;Streamer-Sales 销冠!MoneyPrinterTurbo &#xff1a;简直就是营销号的梦想工具&#xff01; AI 卖货主播大模型&#xff1a;Streamer-Sales 销冠! 项目简介 Streamer-Sales 销冠 —— 卖货主播大模型 是一个能够根据给定的商品特点从激发用户购…

EXCEL返回未使用数组元素(未使用值)

功能简介&#xff1a; 在我们工作中&#xff0c;需要在EXCEL表列出哪些元素&#xff08;物品或订单&#xff09;已经被使用了&#xff08;或使用了多少次&#xff09;&#xff0c;哪些没有被使用。 当数量过于庞大时人工筛选或许不是好办法&#xff0c;我们可以借助公式&…

encode()方法——编码字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 编码是将文本&#xff08;字符串&#xff09;转换成字节流&#xff0c;Unicode格式转换成其他编码格式。在Python中提供了encode()方法&am…

数据库对比脚本,java如何对比两个数据库的表字段的不同

因为有时候开发环境和 测试环境&#xff0c;有时候会有不同的数据库表&#xff0c;比如有些加字段了&#xff0c;所以这个脚本就实现了对比两个数据库连接的数据库到底哪里不一样&#xff0c;输出到控制台 package com.junfun.pms;import lombok.extern.slf4j.Slf4j;import ja…

【UE5.3】笔记6-第一个简单小游戏

打砖块小游戏&#xff1a; 1、制造一面砖块组成的墙 在关卡中放置一个cube&#xff0c;放这地面上&#xff0c;将其转换成蓝图类,改名BP_Cube&#xff0c;更换砖块的贴图&#xff0c;按住alt键进行拷贝&#xff0c;堆出一面墙&#xff0c;复制出来的会很多&#xff0c;全选移动…

【深度学习】卷积神经网络CNN

李宏毅深度学习笔记 图像分类 图像可以描述为三维张量&#xff08;张量可以想成维度大于 2 的矩阵&#xff09;。一张图像是一个三维的张量&#xff0c;其中一维代表图像的宽&#xff0c;另外一维代表图像的高&#xff0c;还有一维代表图像的通道&#xff08;channel&#xff…

# [0628] Task04 DQN 算法及进阶

easy-rl PDF版本 笔记整理 P6 - P8 joyrl 比对 补充 P7 - P8 相关 代码 整理 待整理 &#xff01;&#xff01; 最新版PDF下载 地址&#xff1a;https://github.com/datawhalechina/easy-rl/releases 国内地址(推荐国内读者使用)&#xff1a; 链接: https://pan.baidu.com/s/1i…

BigInteger 和 BigDecimal(java)

文章目录 BigInteger(大整数&#xff09;常用构造方法常用方法 BigDecimal(大浮点数&#xff09;常用构造方法常用方法 DecimalFormat(数字格式化) BigInteger(大整数&#xff09; java.math.BigInteger。 父类&#xff1a;Number 常用构造方法 构造方法&#xff1a;BigIntege…

实操Nginx+Tomcat多实例部署,实现负载均衡和动静分离

192.168.10.10 192.168.10.20 192.168.10.30 location ~ \.jsp$ {proxy_pass http://192.168.10.50:8080;} location ~ \.(jsp|html)$ {root /usr/share/nginx/html;}192.168.10.40和192.168.10.50用脚本完成搭建此处安装附上脚本&#xff1a; #!/bin/bash# 定义变量 JDK_PACKA…

破解对LabVIEW的偏见

LabVIEW被广泛应用于科学研究、工程测试和自动化控制领域&#xff0c;具有专业性和高效的开发能力。尽管有人对其存在偏见&#xff0c;认为不如C语言&#xff0c;但LabVIEW的图形化编程、强大集成能力、丰富社区支持和专业功能&#xff0c;使其在许多实际应用中表现出色。通过多…

Linux——数据流和重定向,制作镜像

1. 数据流 标准输入&#xff08; standard input &#xff0c;简称 stdin &#xff09;&#xff1a;默认情况下&#xff0c;标准输入指从键盘获取的输入 标准输出&#xff08; standard output &#xff0c;简称 stdout &#xff09;&#xff1a;默认情况下&#xff0c;命令…

如何将个人电脑做P2V备份到虚拟化平台

背景&#xff1a;公司员工个人电脑绑定了商用软件的license&#xff0c;现在员工离职&#xff0c;license又需要使用&#xff0c;电脑就一直被占用。 解决方法&#xff1a;利用VMware Vcenter Converter Standalone将此台式电脑上载到公司虚拟化平台上 具体做法&#xff0c;下…