介绍:
修改SIP或Tunnel端口时,还需要修改安装期间创建的防火墙规则。 在本指南中,我们将指导您完成在Linuxs上执行此操作所需的步骤。 如果使用3CX ISO进行安装,则无需执行任何操作。
步骤:
如果您在Linux上运行3CX,那么您需要修改Debian附带的iptables防火墙。 为此,您需要通过本地终端或SSH(Secure Shell)连接到设备,如下所示:
- root用户,或
- 具有sudo权限的用户并在下面给出的每个命令中添加sudo。
- 使用以下命令列出相关端口的防火墙规则:
iptables -L INPUT –line-numbers | grep -e 5060 -e 5090
示例输出:
10 ACCEPT tcp — anywhere anywhere multiport dports http,https,5000,5001,5015,sip,sip-tls,5090 tcp flags:FIN,SYN,RST,ACK/SYN ctstate NEW
11 ACCEPT udp — anywhere anywhere multiport dports tftp,sip,5090,afs3-fileserver:9500
- 找到要更改的规则,并在iptables输出第一列中记下其ID。 由于我们要更改SIP和隧道端口(分别为5060和5090),因此相关规则分别为10和11(分别为TCP和UDP)。
- 发出以下命令以获取要更改的规则的命令格式:
iptables -S INPUT | grep -e 5060 -e 5090
示例输出:
-A INPUT -p tcp -m multiport –dports 80,443,5000,5001,5015,5060,5061,5090 -m tcp –tcp-flags FIN,SYN,RST,ACK SYN -m conntrack –ctstate NEW -j ACCEPT
-A INPUT -p udp -m multiport –dports 69,5060,5090,7000:9500 -j ACCEPT
- 在文本编辑器中复制并粘贴输出中的-A条目,并将对5060和5090的引用更改为要使用的新端口。 例如,将5060改为5062和5090改为5097,新的iptables规则读取
-A INPUT -p tcp -m multiport –dports 80,443,5000,5001,5015,5062,5063,5097 -m tcp –tcp-flags FIN,SYN,RST,ACK SYN -m conntrack –ctstate NEW -j ACCEPT
-A INPUT -p udp -m multiport –dports 69,5062,5097,7000:9500 -j ACCEPT
- 使用上述编辑的iptables规则,发出以下命令:
/sbin/iptables -R INPUT 10 -p tcp -m multiport –dports 80,443,5000,5001,5015,5062,5063,5097 -m tcp –tcp-flags FIN,SYN,RST,ACK SYN -m conntrack –ctstate NEW -j ACCEPT
/sbin/iptables -R INPUT 11 -p udp -m multiport –dports 69,5062,5097,7000:9500 -j ACCEPT
- 保存iptables状态并使用以下命令在重新引导后永久更改:
service netfilter-persistent save