当使用netfilter/iptables时,您可以将nf_conntrack设置为读取5060端口上的SIP信令消息,它将自动打开所需的RTP端口,以便音频通过该呼叫。
有没有人能解释一下或者帮我找到在CentOS 7上用firewalld做这件事的等价物?
我知道我可以开放整个范围,但我喜欢只开放必要的端口。
编辑1- This suggests表明nf_conntrack计划在以后的版本中发布,但该信息至少已有8个月的历史(因为它是referred to here,日期为4月16日)。还有别的办法吗?
发布于 2016-02-24 09:23:33
在/etc/firewalld/services中,创建一个服务定义,即包含以下内容的sip.xml:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SIP</short>
<description>SIP over UDP on port 5060</description>
<port protocol="udp" port="5060"/>
<module name="nf_conntrack_sip"/>
</service>要将其永久添加到默认区域,请执行以下操作:
# firewall-cmd --add-service=sip --permanent并应用于此:
# firewall-cmd --reload此时,如果您查看lsmod,您应该会看到nf_conntrack_sip模块已加载,例如
# lsmod |grep sip
nf_conntrack_sip 33860 0
nf_conntrack 105702 7 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_conntrack_sip,nf_conntrack_ipv4,nf_conntrack_ipv6https://stackoverflow.com/questions/34075958
复制相似问题