NAT-PMP 是什么
5351/udp 是 NAT Port Mapping Protocol(NAT-PMP,RFC 6886)使用的端口,由苹果提出:局域网内的应用向网关发一条请求,就能自动获得一个公网端口映射,不必让用户在管理页面上手工配置。它是 UPnP IGD 的简化替代,后续的 PCP(RFC 6887)也沿用同一个端口。支持该协议的路由器让游戏、语音与点对点应用更容易连通,企业网络出于安全考虑一般会关闭这类自动映射能力。
基本信息
| 协议 | NAT-PMP(RFC 6886),PCP 沿用同端口 |
|---|---|
| 端口 | 5351(UDP) |
| 作用 | 应用自动请求 NAT 端口映射 |
| 对照 | UPnP IGD、PCP |
| 企业策略 | 默认关闭自动映射 |
典型使用场景
- 家庭网络:为游戏、语音与 P2P 应用建立可达的映射
- 排障:NAT 类型严格导致联机受限时确认网关是否支持自动映射
- 防火墙策略设计:确认是否允许内网设备请求映射
- 抓包分析:观察映射请求与响应的交互过程
- 安全核查:确认自动映射未把内部服务意外暴露到公网
抓包观察映射请求
抓包观察映射请求
tcpdump -i any -n udp port 5351 -c 20 # 观察映射请求与响应
ss -lunp | grep ':5351 ' # 本机是否有相关监听
# 网关侧检查:确认 NAT-PMP / UPnP 功能是否启用
# 若网关日志显示频繁请求来自非预期主机,需核查来源自动映射协议对照
| 协议 | 提出方 | 特点 |
|---|---|---|
| NAT-PMP | 苹果 | 请求简单,端口 5351 |
| PCP | IETF(RFC 6887) | 沿用 5351,能力更完整 |
| UPnP IGD | UPnP 论坛 | 功能更丰富,实现与安全问题历史上较多 |
| 手工端口映射 | 管理员操作 | 可控性最好,适合企业 |
企业网络默认关闭这类自动映射能力是合理选择:映射由终端应用请求、管理员未参与,暴露面难以盘点。确需对外的服务应走明确的端口映射或反向代理流程,留下变更记录。
排查联机失败时,先确认客户端能否与网关完成映射请求:抓包看请求是否有响应。若网关未启用该功能,客户端通常表现为 NAT 类型严格,某些联机功能不可用,但基础上网不受影响。
映射类协议只解决可达性,不解决安全:即便映射成功,服务本身的认证与访问控制仍需自行配置。把「能连上」当成「已就绪」,是这类场景常见的误判。