TranslateProject/translated/tech/20190228 Connecting a VoIP phone directly to an Asterisk server.md
2019-03-13 08:51:34 +08:00

2.7 KiB
Raw Blame History

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

在我的 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.3DNS 服务器设置成 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 校对:校对者ID

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