0

我在公共 ip xx.xx.xx.xx 和专用 Freeswitch 服务器 192.168.1.2、专用 MySql 数据库服务器 192.168.1.3 上设置了专用 Opensips 服务器。我的路由器在 192.168.1.1 上。我还从 192.168.1.5 的提供商那里得到了一个 sip 中继线。所有服务器都在 Debian 8 上。

除了拥有自己的网关 xxx.xx.xx.xy 的 opensips 服务器外,我已将我的网关设置为 192.168.1.5。

Opensips 服务器有 2 个以太网端口 eth0 和 eth1。我已将 eth1 设置为 192.168.1.4 如何启用 Opensips 服务器公共 ip 以访问本地 Mysql 服务器并将调用发送到 Freeswitch 服务器。

我启用数据包转发:/etc/sysctl.conf net.ipv4.ip_forward=1

我在 opensips 上的 iptables 是这样的:

iptables 规则:

iptables -F

iptables -t nat -F

iptables -P 输入接受

iptables -P 输出接受

iptables -P 转发接受

iptables -A 输入 -i lo -j 接受

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 -s 192.168.1.0/255.255.255.0 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

谢谢。

4

1 回答 1

0

只要您listener为每个接口定义一个 OpenSIPS,传出接口选择就应该开箱即用。使用其中一个$ru$du(或两者!)设置您的目的地,然后t_relay()您应该会很好。

如果出于任何原因选择的出站接口不正确,您可以在调用force_send_socket()之前强制使用首选接口。t_relay()

于 2018-04-09T21:04:39.670 回答