为Linux版3CX修改IPTables

介绍:

修改SIP或Tunnel端口时,还需要修改安装期间创建的防火墙规则。 在本指南中,我们将指导您完成在Linuxs上执行此操作所需的步骤。 如果使用3CX ISO进行安装,则无需执行任何操作。

步骤:

如果您在Linux上运行3CX,那么您需要修改Debian附带的iptables防火墙。 为此,您需要通过本地终端或SSH(Secure Shell)连接到设备,如下所示:

  • root用户,或
  • 具有sudo权限的用户并在下面给出的每个命令中添加sudo。
  1. 使用以下命令列出相关端口的防火墙规则:

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

  1. 找到要更改的规则,并在iptables输出第一列中记下其ID。 由于我们要更改SIP和隧道端口(分别为5060和5090),因此相关规则分别为10和11(分别为TCP和UDP)。
  2. 发出以下命令以获取要更改的规则的命令格式:

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

  1. 在文本编辑器中复制并粘贴输出中的-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

  1. 使用上述编辑的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

  1. 保存iptables状态并使用以下命令在重新引导后永久更改:

service netfilter-persistent save