内网一台服务器挂了公网地址对外发布外面的人访问秒开公司内部同事一访问就转圈——这个毛病我在华为USG防火墙上遇到过不下十次。根子基本都在“双向映射”这四个字上只做了单向的服务器映射nat server没做内网用户走公网地址访问时的回流处理也就是大家常说的双向NAT、hairpin、回流访问。这篇东西我打算把华为USG防火墙配置双向映射双向NAT这件事从头到尾讲透为什么会需要它、地址和区域怎么规划、NAT策略和安全策略的匹配顺序到底谁先谁后、完整命令怎么敲、配完怎么验证、出了故障怎么排。内容按华为USG6000系列V500R005这个比较主流的版本来写关键处会标注和其他版本的差异。刚接触防火墙的朋友可以照着复现已经在做项目的同行可以重点看第三章的处理逻辑和第五章的排查经验那部分是我踩坑踩出来的。1. 双向映射到底解决什么问题什么时候必须上1.1 从一个“外网能开、内网打不开”的故障说起先说清楚现象。园区网里有一台OA服务器地址是10.1.1.10放在dmz区通过防火墙对外发布了公网地址202.1.1.10的80端口。这条映射配好之后外网用户访问http://202.1.1.10 一切正常抓包能看到目的地址被正确转换成了10.1.1.10。但公司内部员工在办公网192.168.1.0/24属于trust区里访问同一个地址浏览器就一直卡在连接中最后超时。问题出在哪外网用户过来的报文源区域是untrust目的区域是dmz正好命中防火墙上那条nat server目的地址被换掉报文顺利转发到服务器。而内网员工访问202.1.1.10时源区域是trust报文到达防火墙后防火墙发现这个地址在untrust接口的直连网段里按照路由表它应该从untrust口出去可这个地址实际上又是防火墙自己在对外提供服务用的地址。报文既没匹配到trust到untrust之间那条nat server因为那条规则绑定的区域组合不对也没匹配到trust到dmz之间的任何转换规则于是要么被直接丢弃要么被当成去往防火墙自身的流量处理最后的结果就是内网访问不通。这就是单向映射的天然短板它只考虑了“从外面进来”这一个方向。而内网用户访问公网地址这个动作方向上是“从里面出去、再绕回来”走的是完全不同的区域路径需要额外的一条转换规则来兜底。双向映射要干的事就是把这条回流的路径补上。1.2 双向NAT的两种形态域间双向NAT与域内NAT在华为USG上梳理下来双向映射其实有两种实现形态很多资料把它们混着说容易把人绕晕。第一种叫域间双向NAT。典型特征就是内网用户和服务器不在同一个安全区域。比如上面那个场景用户在trust服务器在dmz用户访问的公网地址202.1.1.10。做法是在firewall interzone trust dmz这个视图下再配一条nat server并且带上unr-route参数。带上这个参数之后设备会生成一条指向内部服务器的UNR路由去往公网地址的报文就有了明确的出接口方向目的区域能被正确判定成dmz规则也就匹配上了。这是目前最稳、最推荐的一种写法。第二种叫域内NAT。特征是用户和服务器都挂在同一个安全区域里比如都在trust用户是192.168.1.100服务器是192.168.1.10对外发布的公网地址是202.1.1.10。这种情况下报文入接口和出接口在同一个区域域间的interzone规则天然匹配不上得靠域内NAT。华为USG支持在firewall zone trust视图下直接配nat server这就是域内NAT的配置位置如果版本不支持就用nat-policy写一条源区域和目的区域都为trust的双向转换规则来替代。两者的核心差别就一句话看用户和服务器分属几个区域。同区域走域内NAT跨区域走域间双向NAT。实际项目里跨区域的做法更常见因为服务器基本都会单独划到dmz区去安全边界更清楚。1.3 哪些场景其实不需要双向NAT有一点得提前说清楚不是所有“内网访问服务器”的流量都必须做双向映射别一上来就堆配置。如果内网用户访问服务器时用的是服务器的内网地址那这条流量压根不经过防火墙的NAT处理属于正常的东西向流量只要安全策略放通、路由可达就行不需要任何映射。如果内网用户的网段和服务器网段之间没有跨安全区域也没有经过防火墙那也谈不上双向NAT。只有当“内网用户用公网地址访问内网服务器”这个特定组合出现时才需要双向映射。判断方法特别简单在防火墙上开一条会话看内网用户访问时的出接口和目的地址如果防火墙把它往untrust方向送或者直接丢弃那就说明该补这条规则了。另外如果内网用户的DNS解析出来的是服务器内网地址很多单位会做内外网视图分离的DNS也不会触发这个问题。真出问题的往往是那些只配了一条对外A记录、内网解析也指向公网地址的单位。2. 开配之前拓扑、地址和区域的规划2.1 实验拓扑与设备角色为了讲得具体我先把手上的这套环境摆出来后面第四章的命令都是基于这个拓扑。防火墙是一台USG6000系列设备三个业务口GE1/0/1 接运营商划入untrust区地址202.1.1.1/24网关是202.1.1.254GE1/0/2 接办公网划入trust区地址192.168.1.1/24内网用户段192.168.1.0/24GE1/0/3 接服务器区划入dmz区地址10.1.1.1/24OA服务器10.1.1.10。服务器想对外发布运营商给了三个可用的公网地址202.1.1.8、.9、.10我拿202.1.1.10给OA用映射到10.1.1.10的80端口。这个“独立公网地址映射到一个内网地址”的做法比直接用防火墙接口地址做端口映射要规范后面的双向NAT也更好处理因为地址是独立的不会和接口自身地址打架。如果你手上跑的是模拟器环境接口编号可能是GE1/0/0这种区域划分和命令结构是一样的不用纠结编号。2.2 地址规划与区域归属规划表我习惯先拉出来配之前对着念一遍能避免很多低级错误。对象地址安全区域说明防火墙GE1/0/1202.1.1.1/24untrust接运营商默认路由下一跳202.1.1.254防火墙GE1/0/2192.168.1.1/24trust内网用户网关防火墙GE1/0/310.1.1.1/24dmz服务器网关OA服务器10.1.1.10/24dmz提供80端口Web服务公网映射地址202.1.1.10/32无一对一/端口映射到10.1.1.10:80内网用户段192.168.1.0/24trust需要回流访问202.1.1.10安全区域的划分有两个原则我一直在用。一是按信任等级分层外网、办公网、服务器区必须三个独立区域不要图省事把服务器塞进trust区那样安全策略就没法精细化控制回流场景也会退化成域内NAT配起来反而更绕。二是区域名不要随意改名或新建除非有明确需求。USG默认有trust、untrust、dmz、local四个预定义区域直接用它们就行自建区域名容易在策略引用时写错排查起来费劲。2.3 路由和接口的基础约定路由这块说三点都和双向NAT直接相关。第一防火墙必须有到内网用户段和服务器段的路由。这两条都是直连接口配了地址就自动生成不用手工写。真正要手工写的是默认路由ip route-static 0.0.0.0 0.0.0.0 202.1.1.254让外网流量有出口。第二服务器必须把网关指向防火墙的dmz接口地址10.1.1.1。这一步经常被忽略。服务器如果网关指错回包直接走别的路径出去防火墙看不到回包TCP三次握手就卡在最后一步。做双向NAT时源NAT的一部分意义就是让回包强制回到防火墙但如果服务器网关压根没指对那谁来都救不了。第三不要手工写一条去往202.1.1.10的路由指向dmz。这个想法听起来合理但实际会和外网访问的路径打架。正确做法是用nat server的unr-route参数自动生成UNR路由这条路由的优先级和生效范围是设备专门设计过的不会影响公网用户从untrust进来的正常路径。这一点在第三章会展开讲。提示规划阶段就把每个地址属于哪个区域、哪条路由指向哪写清楚后面调试时对照着看能省掉一半的抓包时间。3. 搞懂USG的NAT处理逻辑再动手3.1 报文进到USG之后的处理顺序命令敲不下去多半是没搞明白设备到底按什么顺序处理一通报文。华为USG的基础流程大致是这样报文从接口进来判断源安全区域查会话表如果命中已有会话直接按会话记录的转换关系转发不再查策略首包未命中会话先做安全策略匹配security-policy通过之后查路由表确定目的区域和出接口匹配NAT策略执行源NAT和目的NAT的地址转换建立会话表报文转发出去。这里有两个容易踩的坑。第一个是安全策略和NAT的先后关系。华为USG多数版本里安全策略匹配的是NAT转换前的地址也就是说你要放通的是“用户访问202.1.1.10”这条流量而不是转换后的10.1.1.10。但也有版本或者某些场景下要求匹配转换后的地址。稳妥做法是先按转换前的地址写策略配完后用display firewall session table verbose看会话表里记录的地址如果会话建不起来就把转换前后的地址都在策略里放通一次再逐步收敛。别怕多写两条先通再优化。第二个是首包和后续包的差异。首包要走完整的策略匹配和NAT匹配匹配完之后这些结果会写进会话表后续包直接查表。所以如果首包通了、后续丢包问题一般不在NAT策略上而在会话老化时间、链路状态或者上下行的路由不对称上。3.2 源NAT、目的NAT怎么叠加成双向NAT“双向NAT”这个词容易让人以为是一条命令搞定其实它是源NAT和目的NAT两个动作叠加的结果。目的NAT解决的是“把用户访问的目标地址换掉”。公网用户访问202.1.1.10目的NAT把它换成10.1.1.10报文才能找到服务器。内网用户回流的场景里目的NAT也要做一次把202.1.1.10换成10.1.1.10。源NAT解决的是“把用户的源地址换掉”。这一步在回流场景里很关键。如果不做源NAT服务器收到的源地址是192.168.1.100它回包时会直接查自己的路由表如果它有到192.168.1.0/24的路由比如内网核心交换机上有一条回包可能绕过防火墙直接送达用户。听起来是好事但会导致会话表不对称防火墙上记录的是“用户到防火墙再到服务器”的会话服务器却把回包从别的路径送出去了防火墙等不到回包会话很快超时用户那边表现为时通时断。所以回流场景里源NAT的作用是把源地址转换成防火墙dmz接口的地址10.1.1.1这样服务器看到的源地址就是自己的网关地址回包必然送回防火墙防火墙再按会话表把目的地址换回192.168.1.100。路径对称了会话就稳了。一句话总结目的NAT负责找得到服务器源NAT负责回得来。两条都配齐才叫双向映射。3.3 server-map表与UNR路由的作用华为USG上配了nat server之后设备会生成一张server-map表用display firewall server-map能看到。这张表里记录了“哪个公网地址的哪个端口对应到哪个内网地址的哪个端口”以及是否生成UNR路由。UNRUser Network Route这个东西是双向NAT的关键。正常来说内网用户访问202.1.1.10防火墙查路由表发现这个地址在untrust接口网段会把报文往untrust方向送。配了unr-route之后设备会生成一条指向内网服务器的UNR路由让去往202.1.1.10的报文优先匹配这条路由从而把目的区域判定成dmz匹配到firewall interzone trust dmz下的那条nat server。所以如果你配了域间双向NAT但内网还是不通第一件事就是敲display firewall server-map看看对应的表项后面有没有带UNR路由的标志。没有的话八成是命令里漏了unr-route关键字或者区域组合配错了。3.4 安全策略与NAT的先后关系安全策略这块单独说因为它最容易在回流场景里翻车。考虑到回流流量经过两次“变形”建议把相关策略拆成两条写一条放通用户NAT前地址到公网地址的访问用于首包通过策略检查一条放通转换后地址到服务器地址的访问用于兜底。写完之后别急着删其中一条先看会话表里实际记录的地址对再决定精简哪条。我见过不少配置为了“干净”只留一条策略结果首包被拒用户怎么清缓存都不通。另外提醒一句USG的安全策略是有匹配顺序的默认按配置顺序从上往下匹配命中即停。所以具体规则要写在宽泛规则的前面。另外域内流量默认也是要策略放通的别以为同区域就自动通。注意不同软件版本对nat-policy里action destination-nat的关键字写法有调整V500R005常用action destination-nat static address-to-ip 内网IP部分V600版本用action destination-nat static global-address 公网IP inside-address 内网IP。敲之前先在命令行里打一个?看补全提示不要照抄别人的配置。4. 上机实操一套可复现的双向映射配置4.1 基础配置接口、安全区域、路由先把地基打好所有命令都在系统视图下敲。USG system-view [USG] sysname FW1 [FW1] interface GigabitEthernet1/0/1 [FW1-GigabitEthernet1/0/1] ip address 202.1.1.1 24 [FW1-GigabitEthernet1/0/1] quit [FW1] interface GigabitEthernet1/0/2 [FW1-GigabitEthernet1/0/2] ip address 192.168.1.1 24 [FW1-GigabitEthernet1/0/2] quit [FW1] interface GigabitEthernet1/0/3 [FW1-GigabitEthernet1/0/3] ip address 10.1.1.1 24 [FW1-GigabitEthernet1/0/3] quit接着划区域把接口塞进对应的区域[FW1] firewall zone untrust [FW1-zone-untrust] add interface GigabitEthernet1/0/1 [FW1-zone-untrust] quit [FW1] firewall zone trust [FW1-zone-trust] add interface GigabitEthernet1/0/2 [FW1-zone-trust] quit [FW1] firewall zone dmz [FW1-zone-dmz] add interface GigabitEthernet1/0/3 [FW1-zone-dmz] quit最后补默认路由指到运营商网关[FW1] ip route-static 0.0.0.0 0.0.0.0 202.1.1.254这三步配完敲display firewall zone确认三个接口都在正确的区域里别出现接口没加进去或者加错区域的情况。这个错误看着蠢但现场真的常见尤其是接口多的时候。4.2 公网用户的服务器映射nat server给公网用户用的映射配在untrust和dmz之间[FW1] firewall interzone untrust dmz [FW1-interzone-untrust-dmz] nat server web_oa protocol tcp global 202.1.1.10 80 inside 10.1.1.10 80 [FW1-interzone-untrust-dmz] quit几个参数解释一下。web_oa是这条映射的名字自定义方便后面引用和查看。protocol tcp限定协议Web服务用TCP。global 202.1.1.10 80是外部访问的地址和端口inside 10.1.1.10 80是内部服务器的真实地址和端口。如果你的外部端口和内部端口不一样比如外部用8080、内部用80那就写成global 202.1.1.10 8080 inside 10.1.1.10 80。转换关系是双向的外部访问8080会被转到内部的80。nat server还有一个常用参数是no-reverse。默认情况下映射是双向的服务器主动往外发起的连接也会做源地址转换。如果不需要服务器主动出访或者想让服务器出访走另外的NAT策略可以加no-reverse关掉反向转换。回流场景里一般不加保持默认。4.3 内网用户回流的第二条映射与UNR路由这是整篇的核心。内网用户从trust区访问202.1.1.10需要在trust和dmz之间再配一条映射[FW1] firewall interzone trust dmz [FW1-interzone-trust-dmz] nat server web_oa_reflow protocol tcp global 202.1.1.10 80 inside 10.1.1.10 80 unr-route [FW1-interzone-trust-dmz] quit关键就在最后那个unr-route。它让设备生成一条指向10.1.1.10的UNR路由去往202.1.1.10的报文在路由查找阶段就能被导向dmz方向目的区域判定成dmz从而命中这条规则。如果你的环境是用户和服务器都在trust区的域内NAT场景那映射就配在zone视图下[FW1] firewall zone trust [FW1-zone-trust] nat server web_intra protocol tcp global 202.1.1.10 80 inside 192.168.1.10 80 [FW1-zone-trust] quit如果这个视图下nat server敲不出来版本不支持就改用nat-policy写双向转换[FW1] nat-policy [FW1-policy-nat] rule name intra_reflow [FW1-policy-nat-rule-intra_reflow] source-zone trust [FW1-policy-nat-rule-intra_reflow] destination-zone trust [FW1-policy-nat-rule-intra_reflow] source-address 192.168.1.0 24 [FW1-policy-nat-rule-intra_reflow] destination-address 202.1.1.10 32 [FW1-policy-nat-rule-intra_reflow] action destination-nat static address-to-ip 192.168.1.10 [FW1-policy-nat-rule-intra_reflow] action source-nat easy-ip [FW1-policy-nat-rule-intra_reflow] quit [FW1-policy-nat] quit注意这里源区域和目的区域都写trust这是因为同一区域内的报文设备需要显式声明是域内转换。4.4 源NAT策略与easy-ip的端口容量计算目的NAT配完接着补源NAT让回流路径对称。[FW1] nat-policy [FW1-policy-nat] rule name reflow_snat [FW1-policy-nat-rule-reflow_snat] source-zone trust [FW1-policy-nat-rule-reflow_snat] destination-zone dmz [FW1-policy-nat-rule-reflow_snat] source-address 192.168.1.0 24 [FW1-policy-nat-rule-reflow_snat] destination-address 202.1.1.10 32 [FW1-policy-nat-rule-reflow_snat] action source-nat easy-ip [FW1-policy-nat-rule-reflow_snat] quit [FW1-policy-nat] quiteasy-ip的意思是直接用出接口地址做源地址转换这里出接口是dmz侧的GE1/0/3源地址会被换成10.1.1.1。这种写法不用额外占用公网地址配置最简单。但easy-ip有个容量上限必须心里有数。一个IP地址的TCP/UDP端口范围是0到65535扣除掉设备保留的端口一般在1024以下可用端口大约64000个左右。也就是说单个IP最多支撑约6.4万条并发会话。如果内网用户量大、并发连接多比如整个办公楼几千人同时访问单靠easy-ip可能不够用会出现端口耗尽、新连接建不起来的情况。这种情况下改用地址池[FW1] nat address-group snat_pool [FW1-nat-address-group-snat_pool] section 0 202.1.1.8 202.1.1.9 [FW1-nat-address-group-snat_pool] quit [FW1] nat-policy [FW1-policy-nat] rule name reflow_snat [FW1-policy-nat-rule-reflow_snat] source-zone trust [FW1-policy-nat-rule-reflow_snat] destination-zone dmz [FW1-policy-nat-rule-reflow_snat] source-address 192.168.1.0 24 [FW1-policy-nat-rule-reflow_snat] destination-address 202.1.1.10 32 [FW1-policy-nat-rule-reflow_snat] action source-nat address-group snat_pool [FW1-policy-nat-rule-reflow_snat] quit [FW1-policy-nat] quit两个地址理论上能撑将近13万条并发够用了。地址池的容量估算公式很简单可用IP数 × 64000 ≈ 最大并发会话数。规划时按峰值并发的1.5倍留余量比较稳。4.5 安全策略放通与顺序设计策略这几条按“先具体后宽泛”的顺序写。[FW1] security-policy [FW1-policy-security] rule name untrust_to_dmz_web [FW1-policy-security-rule-untrust_to_dmz_web] source-zone untrust [FW1-policy-security-rule-untrust_to_dmz_web] destination-zone dmz [FW1-policy-security-rule-untrust_to_dmz_web] destination-address 10.1.1.10 32 [FW1-policy-security-rule-untrust_to_dmz_web] service http [FW1-policy-security-rule-untrust_to_dmz_web] action permit [FW1-policy-security-rule-untrust_to_dmz_web] quit [FW1-policy-security] rule name trust_to_dmz_reflow [FW1-policy-security-rule-trust_to_dmz_reflow] source-zone trust [FW1-policy-security-rule-trust_to_dmz_reflow] destination-zone dmz [FW1-policy-security-rule-trust_to_dmz_reflow] source-address 192.168.1.0 24 [FW1-policy-security-rule-trust_to_dmz_reflow] destination-address 10.1.1.10 32 [FW1-policy-security-rule-trust_to_dmz_reflow] service http [FW1-policy-security-rule-trust_to_dmz_reflow] action permit [FW1-policy-security-rule-trust_to_dmz_reflow] quit [FW1-policy-security] rule name trust_to_untrust_internet [FW1-policy-security-rule-trust_to_untrust_internet] source-zone trust [FW1-policy-security-rule-trust_to_untrust_internet] destination-zone untrust [FW1-policy-security-rule-trust_to_untrust_internet] source-address 192.168.1.0 24 [FW1-policy-security-rule-trust_to_untrust_internet] action permit [FW1-policy-security-rule-trust_to_untrust_internet] quit [FW1-policy-security] quit第三条是内网用户正常上外网用的别漏了。很多人配完映射发现内网访问公网地址不通以为是NAT的问题其实是这条策略没放通或者顺序被上面某条宽泛规则挡住了。如果你发现策略放通了还是不匹配就在策略里把转换后的地址也放一次比如再加一条源地址192.168.1.0/24、目的地址10.1.1.10、区域trust到dmz的permit规则。先通再逐条精简。4.6 验证三条命令确认是否生效配完别急着交付按顺序验证。第一步看server-map表确认映射和UNR路由都生成了[FW1] display firewall server-map输出里应该能看到202.1.1.10:80到10.1.1.10:80的映射关系并且对应的表项上有UNR路由的标记。如果只有一条映射、没有UNR说明unr-route没生效回去检查命令。第二步看NAT策略是否命中[FW1] display nat-policy rule all确认规则都启用了没有冲突。第三步从内网用户机上访问然后在防火墙上查会话[FW1] display firewall session table verbose destination 202.1.1.10会话表里应该能看到源地址被换成了10.1.1.1目的地址被换成了10.1.1.10也就是两个转换都发生了。这一步是最终判据会话表对了业务基本就通了。提示如果之前测过但不通会话表里可能残留了错误的老会话先执行reset firewall session table清一下再测避免被老会话干扰判断。5. 故障排查与踩坑记录5.1 常见故障速查表下面这张表是我这些年攒下来的基本覆盖了双向映射九成以上的故障。现象最可能的原因排查动作外网访问正常内网访问超时缺少回流映射或UNR路由没生成查display firewall server-map补nat server ... unr-route内网访问时通时断源NAT没做回包路径不对称查会话表补source-nat策略映射配了但不生效区域组合
企业数字化 ERP 产品动态
相关推荐
MCP模型上下文协议实战:Claude Code与Desktop配置及避坑指南 MCP最近在AI圈里的存在感实在太强了。如果你在VSCode里装过Claude Code插件,或者在用Claude Desktop客户端,大概率已经在配置文件里见过 mcpServers 这个词。MCP的全称是Model Context Protocol,也就是模型上下文协议,是Anthrop… · 2026/9/26 16:52:26
MCP协议详解:让Claude和VSCode轻松接入外部工具 最近总有人问我:“MCP到底是什么?你的 Claude 和 VSCode 是怎么连上各种工具的?”这确实成了绕不开的话题。我在各种 AI 编码、自动化工作流里折腾了大半年,MCP(Model Context Protocol,模型上下文协议&… · 2026/9/26 16:52:26
护网行动蓝队备战指南:从个人备赛到团队实战的全流程方法 又到了护网季,群里开始躁动起来。有人问“企业蓝队怎么准备”,有人晒自己的备考计划,还有人被临时拖进“防守小组”一脸懵。作为一个参加过多次大型实战攻防演练、带过小队也拆过团队流程的老安全人,我觉得有必要把整套备战和实战… · 2026/9/26 16:52:26
1999—2025年基于专利引用网络的企业吸收外部知识能力指标 如何量化一家企业"会不会学别人的技术"?这是创新经济学与公司金融研究中长期受关注的问题。本期介绍一套覆盖 1999—2025 年的企业吸收外部知识能力数据,其构造方法沿用了 Journal of Financial Economics 上的经典思路:依托专利引… · 2026/9/26 19:05:34
BenchmarkSQL达梦版压测实战:TPC-C配置、执行与避坑指南 简介:专门适配达梦数据库的BenchmarkSQL基准测试工具包,面向数据库管理员、性能测试工程师及国产数据库选型团队。该版本已针对达梦完成兼容优化,支持配置TPC-C类混合事务负载,可对达梦、Oracle、MySQL、PostgreSQL等主流数据库横… · 2026/9/26 19:05:28
百度网盘捆绑软件彻底清除指南:系统级卸载与防复发方案 1. 为什么“彻底卸载”百度网盘附带软件会变成一场系统级拉锯战 你点开百度网盘安装包,勾选“推荐安装百度杀毒”“百度浏览器”“百度输入法”,一路“下一步”——安装完成,网盘能用了,但第二天你发现任务栏右下角多了一个蓝色小… · 2026/9/26 19:05:28
昇腾Atlas 300V 24G部署YOLO全流程:推理加速卡实战指南 先给结论:atlas 300V 24G确实是一块运算加速卡,但它的定位是推理加速卡,重点在“推理”而不是“训练”。很多刚开始接触昇腾生态的朋友看到“加速卡”三个字就默认它能像GPU一样炼丹,这是个容易踩的误区。这块卡跑YOLO这类目标检测… · 2026/9/26 19:05:28
RL-赵-(八)-Value函数拟合算法01-StateValue估算:TD函数逼近算法04【函数逼近器的选择:①线性逼近器;②非线性逼近器】【之前的表格形式是线性逼近器的一种少见的特殊情况】 3、如何选择用于拟合的函数 v^(s,w)\hat{v}(s,w)v^(s,w)
如何选取函数v^(s,w)?\hat{v}(s,w)?v^(s,w)? 第一种方法,也是之前被广泛使用的,就是linear function(线性函数:v^(s,w)\hat{v}(s,w)v^(s,w)相对于参数 www 是线性的) v^(s,w)=ϕT(s)w \hat{v}(s,w)=\phi^T(s)w … · 2026/9/26 19:05:28
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46