我尝试阅读了很多关于在 NAT 路由器后面运行 VoIP 系统的文档,这些文档连接到互联网,然后通过 VoIP 服务器的专用连接返回。但我的研究没有任何进展。
我继承了一个设置,其中所有 VoIP 服务器设备都在自己的网络上,并配有专用 ADSL 连接。互联网上任何地方的电话都可以使用!我的问题是,在我的网络内。
我尝试了常见的故障排除步骤:重新启动路由器、禁用防火墙、更改插入 IP 电话的端口,但这些都不起作用。
我们使用 Linux 服务器作为路由器和iptables
防火墙。默认策略是丢弃不匹配的数据包,但即使我告诉他们接受,问题仍然存在。tcpdump -ni eth1 host 192.168.0.89
当手机尝试连接时,运行 a 会输出以下内容:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:45:24.487637 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:33.285767 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:43.333432 ARP, Request who-has 192.168.0.89 tell 0.0.0.0, length 46
13:45:49.331224 ARP, Reply 192.168.0.89 is-at 00:15:b7:48:04:cd, length 46
13:45:49.337216 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:49.341575 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:49.444252 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:49.612308 ARP, Request who-has 192.168.0.3 tell 192.168.0.89, length 46
13:45:49.612319 ARP, Reply 192.168.0.3 is-at 00:22:b0:70:9a:eb, length 28
13:45:49.613504 IP 192.168.0.89.50138 > xxx.xxx.xxx.xxx.1719: UDP, length 125
13:45:49.631597 IP xxx.xxx.xxx.xxx > 192.168.0.89: ICMP host 216.57.190.87 unreachable - admin prohibited filter, length 36
这xxx.xxx.xxx.xxx
是 VoIP 服务器的公共 IP 地址(与我们的主网络不同的 ISP)。如果我跳过我的服务器并将电话直接插入我们的互联网连接(我们有一个/24
子网),它会非常快地连接。如果它在我们的任何服务器后面,它将在握手的那部分停止。我尝试过不同的网关,效果相同。
从我的网络内部,我可以通过 RDP 进入管理系统,ping 服务器等。我就是无法连接我的手机。当我转储我的设备iptables
,将所有内容设置为 时ACCEPT
,它仍然无法连接。
我下一步该去哪里找办法让这些手机正常工作?它们以前可以正常工作,但现在不能了;恢复到旧配置是不可能的,因为备份只能保留 3 个月。
答案1
此问题已在内部修复。我们政府指定的 ISP“无法处理 SIP 和 RTP 样式的流量”,因此我创建了一个新的 VLAN。交换机上的端口允许带标签的流量进入主 LAN VLAN 或 VoIP VLAN,并允许未带标签的端口进入电话系统。
在每部 VoIP 电话上,我可以分别标记语音流量和计算机流量。