使用netfilter / iptables时,您可以设置nf_conntrack来读取端口5060上的SIP信令消息,它会自动打开所需的RTP端口,以便为该呼叫传递音频。
任何人都可以解释或帮助我找到在CentOS 7上使用firewalld执行此操作的等效文件吗?
我知道我可以打开整个范围,但我只想打开必要的端口。
编辑1 - This suggests nf_conntrack计划在稍后发布,但该信息至少有8个月(因为它是referred to here,日期为4月16日)。还有另一种方式吗?
答案 0 :(得分:2)
在/ 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_ipv6