将 VoIP 电话直接连接到 Asterisk 服务器

2019-03-15 10:31


在我的 Asterisk 服务器上正好有张以太网卡。由于我只用了其中一个,因此我决定将我的 VoIP 电话从本地网络交换机换成连接到 Asterisk 服务器。

主要的好处是这台运行着未知质量的专有软件的电话,在我的一般家庭网络中不能用了。最重要的是,它不再能访问互联网,因此无需手动配置防火墙。

以下是我配置的方式。

私有网络配置

在服务器上,我在 /etc/network/interfaces 中给第二块网卡分配了一个静态 IP:

auto eth1
iface eth1 inet static
    address 192.168.2.2
    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 守护进程。我唯一需要更改的配置是监听第二张网卡,并允许 VoIP 电话进入:

server:
    interface: 127.0.0.1
    interface: 192.168.2.2
    access-control: 0.0.0.0/0 refuse
    access-control: 127.0.0.1/32 allow
    access-control: 192.168.2.3/32 allow

最后,我在 /etc/network/iptables.up.rules 中打开了服务器防火墙上的正确端口:

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

访问管理页面

现在 VoIP 电话不能在本地网络上用了,因此无法访问其管理页面。从安全的角度来看,这是一件好事,但它有点不方便。

因此,在通过 ssh 连接到 Asterisk 服务器之后,我将以下内容放在我的 ~/.ssh/config 中以便通过 http://localhost:8081 访问管理页面:

Host asterisk
    LocalForward 8081 192.168.2.3:80

via: https://feeding.cloud.geek.nz/posts/connecting-voip-phone-directly-to-asterisk-server/

作者:François Marier 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出