我在使用 pfsense-box 路由 iax 流量(UDP 端口 4569)时遇到了问题。我们公司有一个总部和八个分支机构。在分支机构,我们使用 pfsense 作为防火墙和 VPN 端点(openVPN)。在七个办事处,这运行良好,但在其中一个办事处,我遇到了问题。
分支:
- 电话网络 192.168.74.0/24
- Asterisk 服务器 192.168.74.4
中央办公室:
- 电话网络 192.168.24.0/24
- Asterisk 服务器 192.168.24.4
我在分支机构的 pfSense:
- em1 192.168.74.1
- ovpnc1 192.168.251.70
- em4 93.83.xxx.yyy 互联网
网络看起来像
Asterisk-server branch
192.168.74.4
|
|
192.168.74.1
pfsense branch - - - Internet
192.168.251.70 ovpnc1
|
|
192.168.251.71
router at central
192.168.24.1
|
|
192.168.24.4
Asterisk-server central
我需要两个 Asterisk 服务器之间的 iax 连接。iax 使用 UDP 端口 4569。服务器之间的 ICMP 连接有效。我可以使用 NTP(UDP 端口 123)从服务器 192.168.24.4 获取时间。我可以使用以下方式从一台服务器跟踪到另一台服务器traceroute -U -p 4569 192.168....
但我没有得到 iax 连接。
每 20 秒服务器都会尝试连接一次。我可以在分支机构的 VPN 接口上看到来自中央办公室的数据包,但它们没有被路由。来自分支机构服务器的数据包到达接口 em1,但并未路由到 ovpnc1,而是路由到 em4(伪装成地址 93.83.xxx.yyy)!
**My routing table:**
Destination Gateway Flags Refs Use Netif Expire
default 93.83.252.93 UGS 0 2273458 em4
10.10.3.0/24 192.168.251.71 UGS 0 0 ovpnc1
93.83.252.92/30 link#5 U 0 85179 em4
93.83.252.94 link#5 UHS 0 0 lo0
127.0.0.1 link#7 UH 0 552 lo0
192.168.0.0/16 192.168.251.71 UGS 1 166089 ovpnc1
192.168.24.0/24 192.168.251.71 UGS 0 2556 ovpnc1
192.168.70.0/24 link#6 U 0 154097906 em5
192.168.70.1 link#6 UHS 0 0 lo0
192.168.71.0/24 link#1 U 0 512824632 em0
192.168.71.1 link#1 UHS 0 0 lo0
192.168.72.0/24 link#3 U 0 0 em2
192.168.72.1 link#3 UHS 0 0 lo0
192.168.74.0/24 link#2 U 0 20264 em1
192.168.74.1 link#2 UHS 0 0 lo0
192.168.251.70 link#11 UHS 0 4 lo0
192.168.251.71 link#11 UH 0 3 ovpnc1
我的防火墙规则
我不允许发布图片,所以我必须告诉你,我有一条规则,允许从任何端口的 TCP 和 UDP 流量传输到位于中央办公室的 Asterisk 服务器,该服务器的电话接口 em1 上的 dport 为 4569。
在 VPN 接口 ovpnc1 上,我有一条规则,规定所有 udp 流量从中心的 Asterisk 到分支的 Asterisk 的任何端口。
通过隧道的所有其他交通均正常进行。
因此,分支机构的 pfsense-box 无法正确路由 iax 流量 :-((
我不知道并且非常高兴能得到一些帮助。
答案1
我发现 IAX2 和 PFsense 发生了一些非常奇怪的事情。我拥有最新的 PFsense (2.2.1 Mar 13 2015),这也与我之前的所有经历一致:
PFsense 似乎没有将 NAT 规则应用于 IAX2 数据包。如果我在 pppoe0 上设置数据包转储(转到我的 DSL 运营商),我会看到数据包来自 192.168.1.168 端口 4569,这是我的 NAT 后面的内部 IP 地址。没有其他主机发送未经 NAT 的数据包,并且我没有针对 IAX2 流量的特殊规则或例外(我从“出厂默认”安装以确保,并运行“tcpdump -n -i pppoe0 net 192.168.1.0/24”进行验证。)
修复:在 PFsense 上,如果我进入“诊断 -> 状态”,然后在状态表中搜索“4569”,我会找到几个条目。我删除它们。瞧!IAX2 开始工作。这非常令人困惑。每次 PFsense 重新启动时我都必须这样做。
答案2
重新启动 pfSense 解决了问题,但如果你不知道你的手机是否能正常工作,那就没什么感觉了 :-((
我仍然对我的问题原因的想法和建议感兴趣!
问候,卡尔