路由器重温——NAT配置管理2
配置静态NAT
静态NAT可以实现私网IP地址和公网IP地址的固定一对一映射,基本的配置思想就是配置用户私网IP地址与用于NAT地址转换的公网IP地址之间的一对一静态映射表项。
①配置静态地址映射
②(可选)使能DNS Mapping
③(可选)使能NAT ALG功能
④(可选)配置NAT过滤方式和映射模式
⑤(可选)配置两次NAT
⑥(可选)配置NAT日志输出
⑦(可选)配置NAT地址映射表项老化时间
一、配置静态NAT地址映射
配置静态地址映射就是配置私网IP地址与公网IP地址的一对一映射表项,可在系统视图下为所有NAT出口全局配置,也可在NAT出接口视图下仅为该接口配置。
在系统视图下全局配置静态NAT映射
system-view
nat static protocol {tcp | udp} global global-address global-port inside host-address [host-port] [vpn-instance vpn-instance-name] [netmask mask] [description description]
nat static protocol {tcp | udp} global interface loopback interface-number global-port [vpn-instance vpn-instance-name] inside host-address [host-port] [vpn-instance vpn-instance-name][netmask mask] [description description]
nat static [protocol {protocol-number | icmp | tcp | udp} ] global { global-address | interface loopback interface-number} inside host-address [vpn-instance vpn-instance-name][netmask mask] [description description]
interface interface-type interface-number 键入NAT出接口(必须是三层接口,但不能是Loopback和NULL接口)
nat static enable
上述三个nat是三选一配置,配置从私网IP地址到公网IP的一对一映射。global-address指定NAT地址映射表项中的公网IP,host-address指定NAT地址映射表项中的私网IP,global-port指定NAT地址映射表项中提供给外部访问的服务的端口号,不配置则表示端口号为零,即任何类型的服务都提供,host-port指定NAT地址映射表项中内部主机提供的服务端口号,如果不配置,则和global-port参数值所指定的端口号一致。netmask指定静态NAT网络掩码,这里不是映射地址中的子网掩码,仅用来指定可建立的地址映射表项数(最多255个),如果仅一个IP地址之间的映射,则静态NAT网络掩码为255.255.255.255,如果一个子网(一定是24位子网掩码)的全部映射,则静态NAT网络掩码为255.255.255.0。interface loopback interface-number指定公网IP地址为对应编号的Loopback的接口IP地址。
在接口视图下配置NAT静态映射
system-view
interface interface-type interface-number
nat static protocol {tcp | udp} global {global-address | current-interface} global-port inside host-address [host-port] [vpn-instance vpn-instance-name][netmask mask] [acl acl-number] [description description]
nat static protocol {tcp | udp} global interface interface-type interface-number global-port [vpn-instance vpn-instance-name] inside host-address [host-port] [vpn-instance vpn-instance-name][netmask mask] [acl acl-number] [description description]
nat static [protocol {protocol-number | icmp | tcp | udp} ] global { global-address | current-interface | interface interface-type interface-number} inside host-address [vpn-instance vpn-instance-name][netmask mask] [acl acl-number] [description description]
acl acl-number参数指定控制在出接口下应用NAT静态地址转换的NAT应用的ACL编号。current-interface指定以当前接口IP地址作为公网IP地址。interface interface-type interface-number指定以指定接口IP地址作为公网IP地址。
配置静态NAT时,其中的global-address和host-address必须保证和所有设备现有地址没有重复,包括设备接口地址、用户地址池地址,以避免冲突。
通过上面的配置解释,突然明白所谓公网地址,应该就是类似配置了一些Loopback接口地址。
二、配置DNS Mapping
内网用户可以通过NAT使用外网的DNS服务器访问外网的服务器,但如果内网用户通过外网的DNS服务器访问内网服务器时会失败。因为来自外网的DNS解析结果是内网服务器对外宣称的公网IP地址,并非内网服务器真实的私网IP地址。所以,如果没有内网的DNS服务器,而且又有使用域名访问内网服务器的需求,就要求企业内网用户必须使用外网的DNS服务器来实现域名访问,就得配置DNS Mapping功能。
在配置静态地址转换时配置DNS Mapping,可以指明“域名-公网IP-公网端口-协议类型”映射表项。当DNS解析报文到达NAT设备时,NAT设备会根据DNS Mapping建立的映射表项中的公网域名对应的公网IP查找静态地址表项,得到公网IP地址对应的私网IP,再用该私网地址替换DNS的解析报文数据部分的内部服务器公网IP并转发给用户。但DNS报文必须与NAT ALG结合使用,否则仍不能正常穿越NAT。
system-view
nat dns-map domain-name global-address global-port {tcp | udp} 配置域名到公网IP地址、端口号、协议类型的映射。
nat alg dns enable
三、静态一对一NAT配置示例:
对端运营商侧地址为202.10.1.1/24。
1、基本配置思路
仅配置一条一对一的静态NAT地址转换配置。最基本的配置就是要求在系统视图或出接口视图下配置静态地址转换表(同样需要在NAT设备上配置到达Internet的缺省路由)。
2、具体配置
①配置各接口IP地址
<Huawei>system-view
[Huawei]sysnameRouter
[Router]interface gigabitethernet 2/0/0
[Router-GigabitEthernet2/0/0]ip address 202.10.1.2 24
[Router-GigabitEthernet2/0/0]quit
[Router]interface ethernet 1/0/0
[Router-Ethernet1/0/0]ip address 192.168.0.1 24
[Router-Ethernet2/0/0]quit
②配置出接口GE2/0/0一对一的静态NAT映射表项
[Router]interface gigabitethernet 2/0/0
[Router-GigabitEthernet2/0/0]nat static global 202.10.1.3 inside 192.168.0.2 netmask 255.255.255.255
[Router-GigabitEthernet2/0/0]quit
③配置到达Internet的缺省路由,下一跳为运营商侧IP地址202.10.1.1
[Router]iproute-static 0.0.0.0 0.0.0.0 202.10.1.1
配置好后,可在Router上执行display nat static查看地址池映射关系
eNSP试验:
AR1:
从Client访问Server
想修改一下,看看netmask的效果,结果:
将内网192.168.0.1改为192.168.0.254,nat出接口的IP由202.10.1.3改为202.10.1.254,对端改为202.10.1.253,默认路由修改后
将netmask改为255.255.255.128,可用:
netmask改为255.255.255.254,只有两个
Client2的地址没有转换,修改其地址为1或3
为1时,没有转换,为3时,转换了,也许netmask是这样的:我的理解是从202.10.1.3到192.168.0.2,然后是202.10.1.4到192.168.0.3一直同步增加下去。
如果是255.255.255.255,就是一对一的静态映射表项,如上面配置中202.10.1.3与192.168.0.2映射;
如果是其他的,即不是单独一条映射,内网就是从配置的内网地址开始往下延伸n个地址,如这里的254是有两个,即192.169.0.2和3,所以私有地址1和4及以后不转换,但是公网地址配置的是202.10.1.3,抓包看转换成202.10.1.2,不是从3往下延伸,这一块很疑惑。
配置NAT Server
NAT Server功能为了解决外网访问采用私网IP的内网服务器的一种NAT方案,又称为“内部服务器”NAT方案。
NAT Server的基本配置思想就是为内部服务器创建全局公网IP地址到内部私网IP地址之间的一对一静态映射表项,同样可根据实际需要选择配置其他NAT扩展应用技术。
①配置内部服务器地址映射
②(可选)使能DNS Mapping
③(可选)使能NAT ALG功能
④(可选)配置NAT过滤方式和映射模式
⑤(可选)配置两次NAT
⑥(可选)配置NAT日志输出
⑦(可选)配置NAT地址映射表项老化时间
一、配置NATServer地址映射
在NAT Server中,也要像静态NAT那样配置NAT地址转换映射表,用来一对一地配置内部服务器的地址映射表项。
system-view
interface interface-type interface-number 键入外网主机访问内部服务器的接口(不一定是NAT出接口,必须是三层接口)
nat server protocol {tcp | udp} global {global-address | current-interface} global-port inside host-address [host-port] [vpn-instance vpn-instance-name] [acl acl-number][description description]
nat server protocol {tcp | udp} global interface interface-type interface-number global-port [vpn-instance vpn-instance-name] inside host-address [host-port] [vpn-instance vpn-instance-name] [acl acl-number][description description]
nat server [protocol {protocol-number |icmp | tcp | udp}] global {global-address | current-interface | interface interface-type interface-number } inside host-address [vpn-instance vpn-instance-name] [acl acl-number][description description]
以上是三选一配置,定义一个内部服务器的映射表,外部用户可以通过地址和端口转换来访问内部服务器的某项服务。
NAT Server和静态NAT的区别就是NAT Server对于内网主动访问外网的情况不做端口替换,仅作地址替换,因为Internet中这些服务都是直接使用其对应的默认端口,不可更改。
在NAT Server的配置中往往涉及一个内网用户访问内部服务器的需求问题:
①当内网服务器有域名,DNS服务器在内网侧,内网用户需要通过域名访问内部服务器,或者内网服务器没有域名,内网用户需要通过私网IP地址访问内部服务器时,无需另外的配置,只需在NAT设备上配置好内部服务器地址映射就可以了。(这里的配置是为外部用户访问私网服务器而设置的,只需要配置内部服务器地址映射)
②当内网服务器有域名,DNS服务器在公网侧,内网用户需要通过域名访问内部服务器,这时除需要配置内部服务器地址映射外,还需要配置DNS Mapping和DNS ALG。(这个也是很自然的,DNS服务器的解析是公网的IP地址,穿过NAT是必须进行DNS报文内部数据的修改,改为内部私网地址)
③内网服务器没有域名,内网用户通过公网IP地址访问内部服务器,这时除了配置内部服务器地址映射外,还需通过QoS流策略重定向下一跳行为,定义内部网络用户以公网IP访问内部服务器时的下一跳为NAT出接口IP,并在NAT内部接口方向进行应用。
下面是一个流策略重定向的示例,假设内部网络的IP网段为192.168.1.0/24,内部服务器的公网IP地址为1.1.1.10/24,NAT出接口IP地址为1.1.1.1/24,NAT内部接口为Ethernet0/0/1。(这里给出了一个NAT内部接口,个人理解这是一个错误的说法,或者说是一个会引起混乱的说法,其实就是NAT的出接口,他这里强调内部接口,通过下面的配置例子,其实是想说的是NAT出接口的inbound方向。一般的我们理解一个接口的入方向,都是按照这个接口上的线缆上数据是流入还是流出接口来判断的,而这里的数据是从路由器或交换机设备内部来的,就是内部用户通过内部网络接口进入到设备,被设备设置的策略路由给导向NAT的出接口,这时的数据被看做是inbound,即数据被看做外部用户访问内部私网服务器的数据,这时就按照NAT映射进行地址映射,外部公网IP地址转换为内部私网IP地址。)
<Huawei>system-view
[Huawei]acl number 3000
[Huawei-acl-adv-3000]rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 1.1.1.10 0 !—定义一个由内部网络访问内部服务器公网IP地址的高级ACL
[Huawei-acl-adv-3000]quit
[Huawei]traffic classifier redirect operator or !--创建流分类,并指明下面的匹配规则为逻辑或类型
[Huawei-classifier-redirect]if-match acl 3000
[Huawei-classifier-redirect]quit
[Huawei]traffic behavior redirect !--创建流行为
[Huawei-behavior-redirect]redirect ip-nexthop 1.1.1.1 !--重定向下一跳NAT出接口IP地址
[Huawei]traffic policy redirect
[Huawei-trafficpolicy-redirect]classifier redirect behavior redirect !--关联流分类和流行为
[Huawei-trafficpolicy-redirect]quit
[Huawei]interface Ethernet0/0/1
[Huawei-Ethernet0/0/1]traffic-policy redirect inbound
二、NAT Server地址映射配置示例
公司提供WWW Server和FTP Server共外部网络用户访问。WWW Server内部IP地址192.168.20.2/24,端口8080,对外公布的地址为202.169.10.5/24,FTP Server内部IP为10.0.0.3/24,对外公布的地址为202.169.10.33/24,对端运营商侧地址为202.169.10.2/24。
1、基本配置思路
没有要求采用域名访问WWW服务器(不需DNS服务),没要求内网用户通过服务器的公网IP或域名访问,所以仅需配置基本的NAT Server即可。对于WWW服务器也就是不需要配置DNS ALG,但对于FTP服务器,仍需要配置ALG FTP。
2、具体配置步骤
①配置各接口IP地址。假设WWW和FTP服务器的两个LAN接口是二层接口,都必须先加入到一个VLAN中,然后在对应的VLANIF接口上配置IP地址。
<Huawei>system-view
[Huawei]sysname Router
[Router]vlan 100
[Router-vlan100]quit
[Router]interface vlanif 100
[Router-Vlanif100]ip address 192.168.20.1 24
[Router-Vlanif100]quit
[Router]interface ethernet2/0/0
[Router-Ethernet2/0/0]port link-type access
[Router-Ethernet2/0/0]port default vlan 100
[Router-Ethernet2/0/0]quit
[Router]vlan 200
[Router-vlan200]quit
[Router]interface vlanif 200
[Router-Vlanif200]ip address 10.0.0.1 24
[Router-Vlanif100]quit
[Router]interface ethernet 2/0/1
[Router-Ethernet2/0/1]port link-type access
[Router-Ethernet2/0/0]port default vlan 200
[Router-Ethernet2/0/0]quit
[Router]interface gigabitethernet 3/0/0
[Router-GigabitEthernet3/0/0]ip address 202.169.10.1 24
②配置WWW和FTP服务器地址映射
[Router-GigabitEthernet3/0/0]nat server protocol tcp global 202.169.10.5 inside 192.168.20.2 8080
[Router-GigabitEthernet3/0/0]nat server protocol tcp global 202.169.10.33 ftp inside 10.0.0.3 ftp
[Router-GigabitEthernet3/0/0]quit
③使能FTP的NAT ALG功能
[Router]nat alg ftp enable
④配置到达Internet的缺省路由,下一跳为运营商侧的IP地址202.169.10.2
[Router]ip route-static 0.0.0.0 0.0.0.0 202.169.10.2
配置好后,可执行display nat server查看NAT Server配置:
eNSP:
在使用了NAT server后,外部用户通过FTP客户端也能访问内部FTP服务器,如果不配置nat alg ftp enable,在会显示登录成功了,但是服务器文件列表是空的。这就是NAT server映射成功,访问外部IP,成功映射到了内部FTP服务器上,但是因为FTP协议中数据部分含有FTP服务器的地址,没有转换,所以文件列不出来。
三、NAT综合配置示例
WWW服务器内部IP为192.168.0.100/24,端口8080,对外公网IP为202.10.1.3/24,域名为www.TestNat.com,NAT路由器出接口GE1/0/0的IP地址为202.10.1.2/24,内部接口Eth2/0/0的IP为192.168.0.1,对端运营商侧地址为202.10.1.1/24,现公司要求通过公司内部的Web服务器对外网用户提供Web服务器,同时公司的内网用户还可以访问外网,内网用户也可以通过外网的DNS服务器使用域名访问公司内部的Web服务器。
1、基本配置思路
①仅有一个公网IP地址配置在NAT路由器的出接口上,无论内部网络用户访问Internet,还是访问在Internet中发布的内部Web服务器,都只能通过一个公网IP地址进行。内部网络用户访问Internet可以通过Easy IP来实现,公网用户或内部网络用户访问发布到了Internet中Web服务器,只能通过NAT Server来实现。
②用户要能够通过域名访问位于内部网络,且DNS服务器又位于Internet的Web服务器,这时需要配置DNS ALG和DNS Mapping。
2、具体配置步骤
①配置各接口IP地址。
<Huawei>system-view
[Huawei]sysname Router
[Router]interface gigabitethernet 1/0/0
[Router-GigabitEthernet1/0/0]ip address 202.10.1.2 24
[Router-GigabitEthernet1/0/0]quit
[Router]interface ethernet 2/0/0
[Router-Ethernet2/0/0]ip address 192.168.0.1 24
[Router-Ethernet2/0/0]quit
②配置Easy IP
[Router]acl 2000
[Router-acl-basic-2000]rule 5 permit source 192.168.0.0 0.0.0.255 !--定义用于指定NAT内部网络用户地址的基本ACL规则
[Router-acl-basic-2000]quit
[Router]interface gigabitethernet 1/0/0
[Router-GigabitEthernet1/0/0]nat outbound 2000!--在出接口上把内部网络地址与本接口IP地址进行关联
[Router-GigabitEthernet1/0/0]quit
③配置NAT Server
[Router]interface gigabitethernet 1/0/0
[Router-GigabitEthernet1/0/0]nat server protocol tcp global 202.10.1.3 www inside 192.168.0.100 8080
[Router-GigabitEthernet1/0/0]quit
④配置DNS 的NAT ALG和DNS Mapping
[Router]nat alg dns enable
[Router]nat dns-map www.TestNat.com 202.10.1.3 80 tcp !—配置内部web服务器“域名-公网IP-端口-协议类型”
[Router]quit
⑤配置到达Internet的缺省路由,指定下一跳地址为运营商侧公网IP地址202.10.1.1
[Router]ip route-static 0.0.0.0 0.0.0.0 202.10.1.1
NAT管理
1)display nat address-group [group-index] [verbose]:查看指定或全部的NAT地址池或简要或者详细配置信息
2)display nat outbound [acl acl-number | address-group group-index |interface interface-type interface-number [.subnumber]]:查看指定ACL或地址池或出接口下的NAT出接口地址关联信息。
3)display nat static [global global-address | inside host-address[vpn-instance vpn-instance-name] | interface interface-type interface-name]:查看公网地址或内网地址或出接口下的静态NAT配置信息。
4)display nat server [global global-address | inside host-address[vpn-instance vpn-instance-name] | interface interface-type interface-name |acl acl-number]:查看指定公网地址、内网地址或者出接口下的NAT Server地址映射表配置信息。
5)display nat alg:查看NAT地址转换中的ALG配置信息。
6)display nat dns-map [domain-name]:查看DNS映射信息
7)display nat overlap-address {map-index | all | inside-vpn-instance inside-vpn-instance -name}:查看NAT双向地址转换(即两次NAT)的相关信息。
8)display firewall-nat session aging-time:查看NAT表项老化时间
9)display nat filter-mode:查看NAT过滤方式
10)display nat mapping-mode:查看NAT映射模式
11)display nat mapping table {all | number}或者display nat mapping tableinside-address ip-address protocol {tcp|udp} port port-number [vpn-instancevpn-instance-name]:查看NAT映射表所有表项信息或个数。
12)display nat session {all [ verbose] | number}或者display nat session {[protocol {icmp | tcp | udp | protocol-number}][source source-address [source-port]] [destination destination-address [destination-port]]}[verbose]:查看NAT的会话信息。
13)reset nat session {all | transit interface interface-typeinterface-number}:清除NAT会话信息。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- OpenWrt分区扩容
背景 这里使用的是x86的64位ext4的OpenWrt镜像。下面是OpenWrt下载地址: https://downloads.openwrt.org/releases/19.07.4/targets/x86/64/ 使用OpenWrt的ext4镜像制作好U盘镜像文件后,然后,再对u盘进行分区扩容。 默认分区 OpenWrt默认就…...
2024/4/26 2:46:44 - 【LeetCode】160. Intersection of Two Linked Lists 相交链表(Easy)(JAVA)
【LeetCode】160. Intersection of Two Linked Lists 相交链表(Easy)(JAVA) 题目地址: https://leetcode.com/problems/intersection-of-two-linked-lists/ 题目描述: Write a program to find the node at which t…...
2024/4/30 2:33:51 - JavaScript键盘事件经典案例
JavaScript键盘事件五大经典案例 目录:JavaScript键盘事件五大经典案例1、什么是键盘事件2、常用键盘事件3、常用属性和方法4、案例4.1 京东搜索框4.2 快递单号输入查询4.3 文字禁止选中4.4 禁止右击菜单4.5 自定义鼠标光标1、什么是键盘事件 键盘事件就是我们对…...
2024/4/29 18:01:15 - 运行一个nodeJS + grunt程序
目录 1. 先推荐一个免费好用的IDE:Visual Studio Code 2. 安装node 3. 运行Web项目 4. 添加并使用grunt 5. 运行grunt可能出现的错误:无法加载文件 C:\Users…\AppData\Roaming\npm\grunt.ps1,因为在此系统上禁止运行脚本。 1. 先推荐一个免费好用的…...
2024/4/29 22:23:48 - 面试题之try、catch、finally的执行顺序
如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。 但是当try、catch、finally中加入return后,就会出现几种特殊情况: try或catch中存在return 当try或catch中带有return时&…...
2024/5/1 4:19:48 - 翻译 | 《`JavaScript` `Everywhere`》第`7`章 用户帐户和身份验证(^`_`^)
翻译 | 《JavaScript Everywhere》第7章 用户帐户和身份验证(_) 写在最前面 大家好呀,我是毛小悠,是一位前端开发工程师。正在翻译一本英文技术书籍。 为了提高大家的阅读体验,对语句的结构和内容略有调整。如果发现…...
2024/4/29 11:48:03 - electron mac应用在安全性与隐私授权后,点击强制退出,应用弹出异常退出报告提示
一. 背景 mac应用因为要获取系统的一些权限(例如麦克风和屏幕录制权限)才能正常运行,在手动授权后,会强制退出当前运行的应用,退出应用系统弹出了异常退出报告,具体异常信息如下: 二. 解决 系…...
2024/4/27 9:12:53 - Django Pycharm 修改html后立即刷新页面
写项目时需要页面实时刷新,而不是频繁人肉重启项目。测试过dj-static,django-livereload-server,此处使用livereload包,简单好用。仅在debugFalse时生效,不过可以满足调试需求了。 安装 pip install livereload如果报错…...
2024/4/27 20:08:47 - Spring boot 通过ApplicationRunner在启动完成后按指定顺序执行任务
实现ApplicationRunner接口,然后添加Component注解然后在run方法中实现具体要运行的任务如果有多个任务且有先后执行顺序,可用Order注解,value值越小优先级越高 创建如下两个简单的任务,跑起来看看 Component Order(value 1) //…...
2024/4/27 8:56:05 - 2020-11-18 继承、多态
课上练习 # 在程序中,继承指的是class与class之间的关系继承是一种关系,必须存在两个class才能产生这种关系;被继承的class称为父类,继承的class称为子类。 #继承 ↓ ↓ ↓ class A:def __init__(self):se…...
2024/4/29 13:54:30 - Carsim中添加路径
目录1.新建3D Road 数据库2.设置具体参数3.添加自定义道路信息利用carsim和simulink联合仿真时,需要给定参考轨迹,具体设置如下: 1.新建3D Road 数据库 在Miscellaneous data中添加附加选项**“3D Road”,并新建一个数据库为road1** 2.设置…...
2024/5/3 9:03:12 - Matlab编程技巧:通过M脚本修改Simulink模块的大小,背景颜色
Matlab编程技巧:通过M脚本修改Simulink模块的大小,背景颜色 M脚本修改Simulink模块的大小,背景颜色 选取一个Simulink模型,获取模块参数,在命令行输入代码: sysBolcks find_system(‘选取的Simulink模型…...
2024/5/3 19:45:26 - 记一次测试环境无法编译项目:Could not find artifact xxxx artifactory
这几天在忙着服务拆分,加上新上的需求导致涉及到的服务比较多,在修改完一次bug提到测试环境重新编译运行时出现了如下错误。 [ERROR] Failed to execute goal on project crm-xxx: Could not resolve dependencies for project com.xxxx.crm:crm-xxx:war…...
2024/4/29 10:32:41 - 【北京迅为】i.MX6ULL终结者设备树常用OF操作函数
设备树描述了设备的详细信息,这些信息包括数字类型的、字符串类型的、数组类型的, 我们在编写驱动的时候需要获取到这些信息。比如设备树使用 reg 属性描述了某个外设的寄存器地址为 0X02005482,长度为 0X400,我们在编写驱动的时候…...
2024/5/1 10:04:40 - C++利用spdlog生成日志
C利用spdlog生成日志下载编译spdlog配置并使用环境:Win10-x64VS2015spdlog是一个快速的C日志库,能够兼容C11,具备快速、无需依赖第三方库、支持多线程、多平台的优良特性!下载编译spdlog 1.第一步,下载spdlog 下载sp…...
2024/4/29 14:26:42 - 202. 快乐数
编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1ÿ…...
2024/5/3 16:41:02 - redis先唠唠redis相关知识
后端需要知道的关于redis的事,基本都在这里了。此文后续会改为粉丝可见,所以喜欢的请提前关注。你的点赞和评论是我创作的最大动力,谢谢。 1、入门Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串…...
2024/4/30 5:35:54 - PlayOnLinux 中文支持设置
PlayOnLinux 中文支持 1. 从windows字体目录中复制simsun.ttc到"XXXX/drive_c/windows/Fonts"和"/usr/share/fonts/truetype/msfonts"这两个目录下面(msfonts为自己建立的目录) 2. 修改Wine的注册表 2.1…...
2024/4/29 10:24:39 - MD5散列值加密
平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我。 跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信公众号【 IT特靠谱 】,每天都会分享技术心得~ …...
2024/5/1 6:58:24 - 域名解析的过程
域名解析就是域名对外公开的意思,搜索引擎开始抓取网站信息,别人也可以在搜索引擎搜到你的网站。...
2024/4/30 9:36:20
最新文章
- 三维图形学知识分享---求平面与模型相交线
在CGAL(Computational Geometry Algorithms Library)中,Polygon_mesh_processing模块提供了用于处理多边形网格数据结构的功能。其中,surface_intersection函数是用来计算模型的表面相交线的工具。 CGAL_Mesh mesh_orcl;std::vect…...
2024/5/3 22:38:07 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - dp小兰走迷宫
昨天学习了bfs的基本概念,今天来做一道经典习题练练手吧! bfs常用的两类题型 1.从A出发是否存在到达B的路径(dfs也可) 2.从A出发到B的最短路径(数小:<20才能用dfs) 遗留的那个问题的答案- 题目:走迷宫 #incl…...
2024/5/3 15:22:43 - ARM FVP平台的terminal窗口大小如何设置
当启动ARM FVP平台时,terminal窗口太小怎么办?看起来非常累眼睛,本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求: 通过上图可知,UART默认使用的是xterm。因此,我们需要修改xterm的默认字体设…...
2024/5/1 10:19:14 - 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/3 11:50:27 - 【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/2 16:04:58 - Spring cloud负载均衡@LoadBalanced LoadBalancerClient
LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...
2024/5/2 23:55:17 - TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...
2024/5/3 16:00:51 - VB.net WebBrowser网页元素抓取分析方法
在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...
2024/5/3 11:10:49 - 【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/3 21:22:01 - 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...
2024/5/2 9:47:30 - 【ES6.0】- 扩展运算符(...)
【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数࿰…...
2024/5/2 23:47:43 - 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?
文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...
2024/5/3 13:26:06 - Go语言常用命令详解(二)
文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...
2024/5/3 1:55:15 - 用欧拉路径判断图同构推出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/2 9:47:28 - 【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/3 16:23:03 - 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/3 1:55:09 - 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法
文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...
2024/5/2 8:37:00 - --max-old-space-size=8192报错
vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...
2024/5/3 14:57:24 - 基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
2024/5/2 9:47:25 - JS原型对象prototype
让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...
2024/5/2 23:47:16 - C++中只能有一个实例的单例类
C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...
2024/5/3 22:03:11 - python django 小程序图书借阅源码
开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图࿰…...
2024/5/3 7:43:42 - 电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
2024/5/3 1:54:59 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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