将 VoIP 电话直接连接到 Asterisk 服务器
| 2019-03-15 10:31:53 评论: 0
在我的 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