从
documentation
turnserver的
-X
,
--外部ip
<公共ip>[/private-ip]如果服务器位于NAT之后,则打开服务器公共/私有地址映射。在这种情况下,如果a-X以“-X”的形式使用,则该ip将报告为所有分配的中继ip地址。此场景仅适用于使用单个中继地址且不需要CHANGE\u REQUEST STUN功能的简单情况。该单个中继地址必须由NAT映射到“外部”IP。如果“外部ip”值不为空,则在XOR中继地址字段中返回。
对于该“外部”IP,NAT必须直接转发端口(中继端口12345必须始终映射到相同的“外部”端口12345)
. 在更复杂的情况下,当涉及多个IP地址时,必须多次使用该选项,每个条目必须具有形式“-X”,以映射所有涉及的地址。如果地址映射正确,即使TURN服务器本身在NAT后面,CHANGE\u REQUEST NAT discovery STUN功能也会正常工作。默认情况下,该值为空,并且不使用地址映射。
因此,仅将局域网内部的侦听端口暴露到公共网络,而将用于中继的所有端口暴露出来是不够的。请注意同一文档中的内容:
--最小端口
<端口(>);中继端点分配的UDP端口范围下限。根据RFC 5766,默认值为49152。
--最大端口数
<端口(>);中继端点分配的UDP端口范围的上限。根据RFC 5766,默认值为65535。