歡迎光臨
每天分享高質量文章

將 VoIP 電話直接連線到 Asterisk 伺服器 | Linux 中國

在我的 Asterisk 伺服器上正好有張乙太網卡。由於我只用了其中一個,因此我決定將我的 VoIP 電話從本地網路交換機換成連線到 Asterisk 伺服器。

— François Marier

 

在我的 Asterisk[1] 伺服器上正好有張乙太網卡。由於我只用了其中一個,因此我決定將我的 VoIP 電話從本地網路交換機換成連線到 Asterisk 伺服器。

主要的好處是這臺執行著未知質量的專有軟體的電話,在我的一般家庭網路中不能用了。最重要的是,它不再能訪問網際網路,因此無需手動配置防火牆。

以下是我配置的方式。

私有網路配置

在伺服器上,我在 /etc/network/interfaces 中給第二塊網絡卡分配了一個靜態 IP:

  1. auto eth1
  2. iface eth1 inet static
  3. address 192.168.2.2
  4. netmask 255.255.255.0

在 VoIP 電話上,我將靜態 IP 設定成 192.168.2.3,DNS 伺服器設定成 192.168.2.2。我接著將 SIP 註冊 IP 地址設定成 192.168.2.2

DNS 伺服器實際上是一個在 Asterisk 伺服器上執行的 unbound 守護行程[2]。我唯一需要更改的配置是監聽第二張網絡卡,並允許 VoIP 電話進入:

  1. server:
  2. interface: 127.0.0.1
  3. interface: 192.168.2.2
  4. access-control: 0.0.0.0/0 refuse
  5. access-control: 127.0.0.1/32 allow
  6. access-control: 192.168.2.3/32 allow

最後,我在 /etc/network/iptables.up.rules 中開啟了伺服器防火牆上的正確埠:

  1. -A INPUT -s 192.168.2.3/32 -p udp --dport 5060 -j ACCEPT
  2. -A INPUT -s 192.168.2.3/32 -p udp --dport 10000:20000 -j ACCEPT

訪問管理頁面

現在 VoIP 電話不能在本地網路上用了,因此無法訪問其管理頁面。從安全的角度來看,這是一件好事,但它有點不方便。

因此,在透過 ssh 連線到 Asterisk 伺服器之後,我將以下內容放在我的 ~/.ssh/config 中以便透過 http://localhost:8081 訪問管理頁面:

  1. Host asterisk
  2. LocalForward 8081 192.168.2.3:80

贊(0)

分享創造快樂