VoIP 和 NAT(以及封鎖的連接埠)

VoIP 和 NAT(以及封鎖的連接埠)

我正在製作 VoIP 應用程序,但無法使其正常工作。每側都有 SIP 用戶端。在我的辦公室,我們使用兩個不同的盒子來存取網路。第一個就像家庭網絡,不受限制。在這一點上,一切都運作良好。第二個(這給我帶來了麻煩)是公司網絡,默認情況下該網絡上的許多端口都被阻止。

我的 VoIP 應用程式使用 Asterisk 伺服器。一些應連接到該 Asterisk 伺服器的用戶端位於公司網路中,位於受限路由器後面。實際上,SIP 註冊使用連接埠 5060 TCP/UDP,RTP 使用連接埠 10 000 到 20 000 UDP。

問題是我的網路管理員不想打開那麼大範圍的連接埠。據他說,這會造成安全漏洞。

有沒有辦法讓SIP訊號或語音透過RTP協定通過公司路由器?

目前我有一些想法,但我不知道它們是否相關。

  1. 我的 SIP 用戶端已連線到 VPN。我是否可以透過 VPN 介面傳遞所有流量,以便受限制的路由器不會知道通過它的流量?我嘗試過,但一些資料包似乎仍然透過我的乙太網路介面而不是我的 VPN 介面傳遞。

  2. 像 STUN 或 ICE 這樣的協定可以解決這樣的問題嗎?

  3. 我閱讀了很多有關 NAT 穿越的內容,但沒有找到任何可以解決我的問題的解決方案。

如果需要,我可以提供有關我的設定的更多詳細資訊。

2021/01/12 :我的 VPN 伺服器實例是 OpenVPN,它在可透過其 IP 位址存取的 pfSense 虛擬機器上運行。

我執行了 tcpdump 命令來捕獲 pfSense 電腦上連接埠 5060 上的流量,但當我從受限網路連接用戶端時,我的客戶端無法存取該伺服器...

答案1

您可能不需要打開如此廣泛的連接埠。每個連接埠最多需要四個端口同時打電話,這可能是我的進展。因此,100 個連接埠對於大多數小型辦公室來說就足夠了。您只需在rtp.conf.

[general]
;
; RTP start and RTP end configure start and end addresses
;
rtpstart=16384
rtpend=16482

考慮使用範圍 16384-16482,因為許多 VoIP 設備已預設使用此連接埠範圍。

相關內容