SD-WAN NAT 怎么配置:从拓扑判断到规则验证
简答:SD-WAN NAT 的配置关键不是先找某个菜单,而是先确认公网地址由哪台设备持有、流量方向是什么,以及返回流量是否沿正确路径回来。分支上网通常配置出站 SNAT,发布内网服务通常配置 DNAT,站点互联则要重点检查 NAT 豁免、隧道端点和回程路由。若只想完成一次基础配置,可按“确认拓扑—配置最小规则—放行策略—检查回程—验证会话”执行。
定义:SD-WAN NAT 是在 SD-WAN 设备、上游路由器、防火墙或云接入点上,将源地址、目的地址或端口按流量方向转换,并与选路、安全策略和回程路由共同完成连接。
先选路径:分支上网还是发布内网服务?
配置前先回答三个问题:谁发起连接、哪台设备拥有公网地址、返回流量经过哪里。SD-WAN 负责选路,并不代表 NAT 一定要配置在 SD-WAN 设备上。实际处理顺序、规则优先级和策略联动以当前厂商及版本的数据包处理流程为准。
| 目标 | 常见类型 | 优先配置位置 | 成功标准 |
|---|---|---|---|
| 分支终端访问公网 | SNAT/PAT | SD-WAN 出口、上游路由器或防火墙 | 外部服务看到预期公网地址,返回包回到原终端 |
| 公网访问内网服务器 | DNAT/端口映射 | 拥有公网地址的上游设备、SD-WAN 或云接入点 | 公网端口、DNAT、入站策略、服务器监听和回程全部正常 |
| 公网地址与内网主机一对一对应 | 静态 NAT | 具备公网可达性的设备 | 地址映射稳定,回程不经过错误出口 |
| 双 WAN 按出口转换 | 按 WAN Link 绑定 NAT | SD-WAN 选路策略和 NAT 规则 | 不同出口使用正确转换地址,切换行为符合设计 |
| 站点互联或 VPN 隧道 | NAT 豁免、NAT-T 或上游一对一 NAT | 隧道端点及上游 NAT 设备 | 隧道、业务网段、回程路由和会话均正常 |
先试这一步:在变更前画出“LAN → SD-WAN → WAN → 上游 → 公网”的路径,并标记公网地址实际归属。若 WAN 地址是私网地址,公网 SNAT 或 DNAT 很可能要在上游设备完成。
如果只想完成分支上网:按单 WAN SNAT 路径操作;如果要发布服务器:直接跳到 DNAT 示例;如果是站点互联:先看隧道与 NAT 豁免部分。
通用示例拓扑:先确定地址和回程
下面地址仅用于说明字段关系,不能直接用于生产网络。示例采用以下拓扑:
内网终端 192.168.10.20/24
│
LAN:192.168.10.1
│
SD-WAN CPE
WAN1:198.51.100.10/30 ── 上游网关:198.51.100.9 ── 公网
WAN2:203.0.113.10/30 ── 备用上游网关:203.0.113.9 ── 公网
│
内网服务器:192.168.10.50:443配置前记录:LAN 网段、每条 WAN 的地址和网关、默认路由、服务器默认网关、需要开放的协议和端口、选路策略、上游设备是否存在额外 NAT,以及返回流量是否能回到 SD-WAN CPE。
如果设备由控制器集中管理,还要记录控制器下发模板、设备本地配置和实际生效配置之间的关系。控制器页面、CLI 和云平台字段不能相互照搬。
示例一:单 WAN 出站 SNAT/PAT
规则逻辑
| 字段 | 示例值 | 说明 |
|---|---|---|
| 源区域或接口 | LAN | 匹配分支内网终端 |
| 源地址 | 192.168.10.0/24 | 只覆盖需要访问公网的网段 |
| 目的地址 | Any 或公网目标范围 | 按实际访问范围收窄 |
| 服务 | Any 或 TCP/UDP 必要端口 | 不建议无理由放宽生产策略 |
| 出接口 | WAN1 | 以选路结果为准 |
| 转换方式 | 接口地址或指定 NAT 地址池 | 通常伴随端口复用 |
| 回程要求 | 上游网关能回到 WAN1 | 确认地址、ARP 或静态路由关系 |
伪代码示例
匹配:源 192.168.10.0/24,目标公网,出口 WAN1
动作:Source NAT = WAN1 接口地址
方式:端口复用(PAT)
策略:允许 LAN 到公网的必要服务
回程:上游默认路由或静态路由回到 WAN1在 Cisco IOS XE SD-WAN 的官方示例中,出站 NAT overload 使用类似 ip nat inside source list nat-dia-vpn-hop-access-list interface <WAN Interface> overload 的形式,同时还配置静态 NAT、VRF 路由和接口角色;官方文档明确要求使用 17.2.1 或更高版本,并说明示例硬件环境为 C8000V 17.6.3a,不能据此推断其他设备或版本可直接使用。可查看 Cisco IOS XE SD-WAN 静态 NAT 示例 和 Cisco IOS XE SD-WAN NAT 命令参考。
验证结果
- 从内网终端访问一个公网服务。
- 检查 SD-WAN 的出接口和默认路由是否为 WAN1。
- 检查策略计数器和 NAT 会话是否增加。
- 确认外部服务看到的是预期转换地址,而不是内网地址。
- 确认响应包通过同一 WAN 返回。
若只有隧道流量不通而普通上网正常,优先检查 VPN 业务网段是否被错误 SNAT,而不是扩大公网 SNAT 范围。
示例二:双 WAN 主备或按质量选路
双 WAN 速查卡
| 环节 | 配置内容 | 验证重点 |
|---|---|---|
| 选路 | WAN1 主用,WAN2 备用,或按延迟、丢包、抖动选择 | 策略是否真的选中预期 WAN Link |
| NAT | 按出口接口、网关地址或 NAT 地址池转换 | WAN1 和 WAN2 是否使用各自可达的地址 |
| 上游 | 确认两个公网地址的路由和回程 | 返回包是否回到建立会话的出口 |
| 会话 | 检查连接是否绑定原出口 | 切换后旧会话是否需要重建 |
| 回退 | 先验证主备,再启用负载或按质量选路 | 避免多个变量同时改变 |
通用伪代码如下:
若选路结果 = WAN1:源地址转换为 WAN1 地址或地址池
若选路结果 = WAN2:源地址转换为 WAN2 地址或地址池
VPN/站点互联网段:匹配 NAT 豁免,不进行公网 SNAT
切换后:检查旧会话、连接跟踪和上游回程Check Point 的 SD-WAN 文档说明,SD-WAN 策略先决定适用的 WAN Link,再应用对应 NAT;其 NAT Mapping 可选择 Hide 或 Static。Hide NAT 通常用于多主机共享一个外部地址,Static NAT 用于一对一映射。支持版本、对象字段和地址数量限制应以当前产品文档为准,可查看 Check Point SD-WAN NAT for ISP。
双 WAN 最常见的错误是:选路已经切到 WAN2,但 NAT 仍使用 WAN1 地址,或者请求从 WAN1 发出、响应却从 WAN2 返回。此时先恢复主备模式,确认单条链路分别可用,再逐步增加负载均衡、健康探测或按质量选路。
示例三:上游设备 DNAT 发布内网服务
规则字段
| 字段 | 示例值 | 必须同时确认 |
|---|---|---|
| 公网地址 | 198.51.100.20 | 该地址确实归属于当前上游设备或云接入点 |
| 公网端口 | TCP 443 | 上游 ACL、安全策略和安全组放行 |
| 内网目标 | 192.168.10.50 | 服务器正在监听 TCP 443 |
| 内网端口 | TCP 443 | 端口映射两端不要混淆 |
| 回程路径 | 服务器默认网关指向可回到 SD-WAN 的设备 | 响应包不能从另一台出口离开 |
| 测试方式 | 外部网络连接公网地址 | 不要只在服务器本机访问公网地址 |
伪代码示例
入站匹配:公网地址 198.51.100.20,协议 TCP,端口 443
目的转换:192.168.10.50,端口 443
入站策略:仅允许必要来源或业务范围
路由:SD-WAN 能到达 192.168.10.0/24
回程:192.168.10.50 的默认网关或静态路由回到 SD-WAN云平台的 DNAT 页面通常会要求填写公网端口、协议、内网 IP 和内网端口,并另外检查安全组和连通性测试。以当前青云 SD-WAN 文档为例,页面区分公网 DNAT 与私网 DNAT,并提供添加、禁用、修改、删除和测试连通性的操作入口;具体菜单只适用于该平台,不能当作其他厂商的固定路径。可查看 青云 SD-WAN DNAT 配置说明。
成功标准:外部测试端口可达、DNAT 会话出现、服务器收到请求、服务器发出响应、响应回到外部测试端。若请求能到服务器但外部超时,优先检查服务器默认网关、回程路由和入站安全策略。
隧道穿越与 NAT 豁免:不要把业务网段一起转换
站点互联时要区分两类流量:一类是 IKE/IPsec 等隧道建立流量,另一类是隧道内部承载的业务流量。业务网段通常需要按平台要求配置 NAT 豁免,避免把分支私网地址转换成公网地址后再送入隧道。
如果 SD-WAN 隧道端点位于上游 NAT 后方,应按平台要求配置上游一对一入站 NAT。Palo Alto 的 SD-WAN 文档明确要求,上游设备使用一对一目的 NAT,并且不要对 IKE 或 IPsec 流量配置端口转换;该文档还说明上游 NAT 不支持二层接口。可查看 Palo Alto SD-WAN 上游 NAT 说明。
站点 A LAN 10.10.1.0/24 → 站点 B LAN 10.10.2.0/24:NAT 豁免
站点 A LAN 10.10.1.0/24 → 公网:按出口执行 SNAT
IKE/IPsec:按平台要求保留隧道所需流量,不随意做端口转换若修改了公网地址、上游 NAT 或隧道端点,旧 IKE、IPsec 和连接跟踪会话可能继续使用旧信息。先导出配置,再按当前设备文档清理相关会话并重新验证;清理命令和影响范围必须以实际平台为准。
配置后验证:路由、策略、NAT、服务、抓包五层闭环
- 路由层:检查内网到目标地址的出接口、默认路由、服务器回程路由和 VRF 是否正确。
- 选路层:确认 SD-WAN 健康探测和路径策略实际选择了预期 WAN Link,不要只看配置页面。
- 策略层:检查源区域、目的区域、地址对象、协议、端口和规则顺序。不同平台可能按首次匹配、优先级或策略集顺序处理。
- NAT 会话层:查看转换表、连接跟踪、策略计数器和接口计数器。Cisco 示例使用
show ip nat translations验证转换结果;其他设备的命令需要查当前版本文档。 - 服务层:确认服务器监听端口、主机防火墙、安全组和应用本身均允许连接。
- 抓包层:分别观察 NAT 前后的源地址、目的地址、端口和返回方向。请求到达而响应消失时,优先查回程路由和策略。
建议把结果记录成五项:路由命中、选路命中、策略命中、NAT 命中、服务响应。不要只以“隧道已建立”或“控制器显示在线”判断业务已经正常。
常见故障与安全回退
| 现象 | 优先检查 | 处理方式 |
|---|---|---|
| 分支能建隧道但业务不通 | 业务网段是否被 SNAT、VRF 和回程路由是否正确 | 先恢复上一份配置,再增加最小范围 NAT 豁免 |
| NAT 规则没有命中 | 接口角色、区域、地址、端口、协议和规则顺序 | 使用一个测试主机和一个测试端口缩小匹配范围 |
| 公网端口无法访问 | 公网地址归属、上游转发、入站策略、安全组和服务器监听 | 从外部网络测试,不要只在内网访问公网地址 |
| 请求到服务器但没有响应 | 服务器默认网关、回程路由和主机防火墙 | 抓包确认响应是否离开服务器 |
| 双 WAN 切换后连接中断 | 会话绑定、转换地址变化和上游对称回程 | 先用主备模式验证,再增加负载或质量选路 |
| 修改后仍看到旧地址 | 旧 NAT 会话、连接跟踪、缓存或控制器下发状态 | 备份配置后按平台说明清理相关会话 |
技术停止条件:如果公网地址归属、设备版本、授权能力、控制器下发关系或服务器回程路径无法确认,不要继续下发配置或扩大策略范围。先保留现有配置,补齐拓扑和版本信息,再做单变量测试。
厂商差异:哪些内容不能直接照抄?
不同平台的 NAT 抽象方式差异很大:有的以接口和 CLI 为主,有的以控制器模板、策略集和 NAT Mapping 为主,还有的把 DNAT 放在云接入点的网络管理页面。Palo Alto Prisma SD-WAN 文档将 NAT 策略按区域、前缀、协议和端口匹配,并允许使用 Source NAT、Destination NAT、Static Source NAT、Static Destination NAT 或 No NAT 等动作;其默认公网直连源 NAT 行为也只代表该平台,不能推导为所有 SD-WAN 产品的默认设置。可查看 Prisma SD-WAN NAT 规则说明。
因此,本文中的地址、字段和伪代码只用于帮助你建立配置逻辑。真正下发前,必须同时核对设备型号、软件版本、接口类型、控制器版本、当前拓扑和官方配置文档。
站内延伸阅读
如果 NAT 配置完成后仍存在连接问题,可以继续按以下顺序阅读:先看SD-WAN 双链路主备与故障切换配置,确认选路和回程;再看SD-WAN 分支互联拓扑与上线验收,检查站点之间的路由和隧道;最后用SD-WAN 网络故障分层排查方法定位策略、链路和会话问题。
结论:先确认 NAT 所在设备,再配置最小规则
SD-WAN NAT 的可复现配置顺序是:确认公网地址归属和拓扑,区分 SNAT、DNAT、静态 NAT 与隧道穿越,配置最小匹配条件,补齐安全策略和回程路由,再用路由、选路、策略、NAT 会话和抓包完成验证。
单 WAN 上网先验证出站 SNAT;双 WAN 先保证选路与转换地址一致;发布内网服务先确认公网地址、DNAT、入站放行、服务器监听和回程路径;站点互联则优先检查 NAT 豁免和隧道端点。具体菜单、命令与版本支持必须以当前设备资料为准。
常见问题
SD-WAN NAT 一定要配置在 SD-WAN 设备上吗?
不一定。应先确认公网地址由谁持有。若公网地址在上游路由器、防火墙或云接入点上,公网 SNAT 或 DNAT 通常要在拥有该地址的设备上配置;SD-WAN 设备可能只负责选路、内部路由或站点互联。
双 WAN 场景下,SNAT 规则应该怎么配置?
先确认选路策略选择哪条 WAN,再让 NAT 按出口接口、网关地址或 NAT 地址池转换。重点检查会话是否绑定原出口、两条链路的回程是否对称,以及切换后是否需要重新建立连接。
DNAT 已配置但公网访问不到,先查什么?
依次检查公网地址归属、上游端口转发、DNAT 规则命中、入站安全策略、安全组、服务器监听端口和服务器默认网关。测试应从真实外部网络发起,不要只在内网访问公网地址。
隧道已经建立,业务流量还需要 NAT 吗?
要区分隧道控制流量和隧道内业务流量。站点私网之间的业务通常需要 NAT 豁免,避免被转换成公网地址;如果隧道端点在上游 NAT 后方,则按平台要求配置 NAT-T 或一对一上游 NAT。
可以直接复制其他厂商的 NAT 命令吗?
不建议。接口角色、VRF、规则顺序、控制器模板和版本支持都可能不同。没有同时核实设备型号、软件版本和当前拓扑时,只能参考配置逻辑,不能直接粘贴到生产设备。
修改 NAT 后要不要清理会话?
如果修改了公网地址、出口、端口映射或转换规则,旧会话可能继续使用旧映射。应先备份配置并确认影响范围,再按当前设备文档清理相关 NAT、连接跟踪或隧道会话。