常见接入方式包括:1)直接公网IP直连(裸露公网IP),适合小规模测试;2)通过VPN(如WireGuard、OpenVPN)将本地网络与VPS组网,适合安全稳定的呼叫链路;3)通过隧道/SSH端口转发或反向代理实现内网穿透;4)使用专线/MPLS或云厂商内网互联(如果VPS提供商支持)。选择时优先考虑网络配置和带宽稳定性、延迟、以及是否需要固定公网出口。
直连——部署最简单;VPN——加密且利于路由控制;隧道/端口转发——适用于NAT环境;专线/内网互联——最可靠但成本高。评估时关注丢包、抖动和MOS。
基础步骤:1) 在VPS上配置静态公网IP或绑定二级网卡;2) 确认默认路由和子网掩码(使用ip addr、ip route查看);3) 配置DNS(/etc/resolv.conf或systemd-resolved)以保证域名解析准确;4) 启用IP转发:sysctl -w net.ipv4.ip_forward=1并写入/etc/sysctl.conf。确保防火墙允许必要端口(如SIP 5060、RTP 10000-20000)。这些是保证拨号业务稳定的基础网络配置。
启用转发:sysctl -w net.ipv4.ip_forward=1;检查路由:ip route show;配置防火墙示例:ufw allow 5060/udp。
拨号场景常需进行公网到内网的端口映射和SIP ALG避让。常用iptables规则(示例将5060映射到内网10.0.0.2):iptables -t nat -A PREROUTING -p udp --dport 5060 -j DNAT --to-destination 10.0.0.2:5060;iptables -t nat -A POSTROUTING -j MASQUERADE。RTP端口可映射为10000-20000的UDP范围。禁用路由器的SIP ALG并在VPS上做对称NAT处理以避免媒体问题。
确保内核允许大表大小的连接追踪(nf_conntrack),并监控端口冲突。对于高并发,使用DNAT+SNAT配合负载均衡或SIP代理可提升稳定性。
建议使用WireGuard作为首选:轻量、延迟低、易于部署。OpenVPN兼容性好但延迟与CPU开销更高。关键实践:1) 固定MTU(避免RTP分片);2) 在VPN隧道上做路由声明并在VPS上启用转发;3) 使用持久密钥或证书管理,定期更新;4) 将SIP和RTP流量通过VPN走专用路由,避免公网NAT的媒体丢包。配置示例:WireGuard客户端配置中AllowedIPs填入目标网段或具体IP以实现全隧道或分流。
排查步骤:1) 基本连通性:ping、mtr检测延迟和丢包;2) 端口连通:nc -u/ -z或ss -lntu检查SIP/RTP端口;3) 抓包分析:tcpdump -i any port 5060 or portrange 10000-20000,观察SIP信令与RTP包丢失或NAT异常;4) 检查防火墙与路由表是否有误;5) 质量测试:使用rtpengine或sipp做呼叫压测,监测MOS与丢包率。若存在抖动或丢包,优先排查链路ISP、VPS宿主机带宽和CPU瓶颈,必要时切换更靠近柬埔寨的节点或升级带宽。