为什么3CX需要静态端口映射(全锥NAT)?

锥形NAT与对称NAT的区别

所谓锥形NAT 是指:只要是从同一个内部地址和端口出来的包,无论目的地址是否相同,NAT 都将它转换成同一个外部地址和端口。

“同一个外部地址和端口”与“无论目的地址是否相同”形成了一个类似锥形的网络结构,也是这一名称的由来。反过来,不满足这一条件的即为对称NAT 。

 

为什么3CX需要静态端口映射(全锥NAT)?

如果您使用的是VoIP提供商,则需要具有支持并配置为使用静态端口映射的防火墙。 RTP(承载音频的协议)需要静态端口映射才能正常运行。

RTP和对称NAT

使用RTP协议发送和接收音频和视频流的VoIP应用程序往往在防火墙或路由器后面存在问题,因为RTP使用随机端口来发送和接收音频或视频流。防火墙配置不正确将导致通过VoIP提供商或远程分机进行的呼叫没有音频或单向音频。

使用对称NAT时,防火墙/路由器将动态更改接收音频的端口。例如,当通过VoIP提供商进行出站呼叫时,3CX电话系统将进行STUN解析以确定要使用的公共IP和端口。然后它会将此指定给另一方。同时,防火墙将关闭INVITE中指定的端口,导致呼叫失败。显然,如果防火墙这样做,就无法可靠地建立VoIP呼叫。此过程称为对称NAT,必须关闭。

如何检查是否正确配置了防火墙?

我们可以转到3CX控制面板的仪表盘,点击防火墙,然后运行防火墙检测。

如何解决此问题并创建静态端口映射?

在呼叫VoIP提供商或从VoIP提供商接收呼叫时,没有音频或单向音频的解决方案是使用支持“全锥NAT”的路由器或防火墙。在“Full Cone NAT”(也称为一对一NAT)中,外部地址的所有端口都映射到特定的内部地址和相同的端口。外部主机可以通过将数据包发送到防火墙或路由器的外部地址以及映射端口,将RTP数据包发送到内部主机。

大多数防火墙都可以配置为处理这个问题。它也被称为静态端口。此配置可确保特定端口保持打开状态,防火墙不会更改。一些非常便宜的防火墙可能没有这种配置,但大多数防火墙都可以。