首页/网络/常用端口速查/3478 STUN/TURN 穿透服务

3478 STUN/TURN 穿透服务

WebRTC 与 VoIP 的 NAT 穿透端口:STUN 让客户端发现自己的公网映射,TURN 在直连失败时中继全部媒体流。

常用端口速查网络更新于 2026-10-13

STUN 与 TURN 的 3478 端口

3478 是 NAT 穿透相关服务的端口,常用于音视频通话与实时互动场景。STUN 只帮助客户端发现自己在公网上的映射地址,流量很小;当双方无法直连时,媒体流会改由 TURN 服务中继,此时服务器需要承担全部音视频带宽。TLS 承载方式通常在 5349 端口,中继本身还会使用一段独立的端口范围。自建该服务时,不做认证就等同于把中继能力开放给任何人。

基本信息

服务STUN 与 TURN 服务(常见实现为 coturn)
协议UDP 与 TCP,默认 3478;TLS 常用 5349
关键配置监听端口、中继端口范围、认证机制与域名
资源特点STUN 消耗小,TURN 中继消耗大量带宽
权限要求生产环境必须启用认证
安全等级可公网提供服务,但需防滥用

典型使用场景

  • 音视频通话:为不同网络环境下的客户端寻找可直连的路径
  • 实时互动与连麦:直连失败时由中继保证通话建立
  • 在线互动应用:帮助位于严格 NAT 后的终端建立连接
  • 自建替代第三方服务:避免通话媒体流经外部服务商
  • 排障验证:确认客户端能否获取到正确的公网映射地址

验证服务与观察绑定结果

验证服务与观察绑定结果
# 使用客户端工具发起绑定请求,应返回本机的公网映射地址与端口
stunclient stun.example.com 3478
ss -lntup | grep -E ':3478|:5349'      # 服务端确认监听
# 抓包确认请求与响应是否有来回
sudo tcpdump -ni eth0 'udp port 3478' -c 20

STUN 与 TURN 的分工

角色作用资源影响
STUN告知客户端其公网映射地址不承载媒体,消耗极小
TURN直连失败时中继媒体流带宽消耗大,必须启用认证
TLS 承载在受限网络中走加密通道使用 5349,证书需与域名匹配

中继服务配置要点

中继服务配置要点
listening-port=3478
fingerprint
realm=stun.example.com
# 生产环境启用长期凭据或动态凭据机制,避免匿名中继
lt-cred-mech
min-port=49152        # 中继端口范围起点
max-port=65535        # 中继端口范围终点,需与防火墙放行范围一致
不做认证的中继服务会被用来转发他人流量,既消耗带宽也可能让你的 IP 出现在滥用投诉中;生产环境必须启用凭据校验。
放行范围别只开信令端口:中继端口范围也要一并放行,否则在对称型网络环境下通话仍建立不起来,表现为呼叫一直处于连接中。
排查通话失败建议同时看客户端连接候选信息与服务端日志:如果双方都只拿到中继地址却仍连不上,问题通常在中继端口未被放行,而不是信令服务本身。

易错点

  • 只放行 3478 而不放行中继端口范围,对称型网络下通话始终建立失败
  • 中继服务不启用认证,被他人用来转发流量并引发滥用投诉
  • 证书域名与服务名不匹配,TLS 承载方式在客户端侧直接失败
  • 把中继与业务服务混布在同一台机器上,带宽被通话挤占

数据来源与参考

  • RFC 5389:STUN
  • RFC 8656:TURN
  • coturn 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌