星号 ACL 似乎不起作用



我正试图让Asterisk允许来自同一供应商的多个IP上的入站呼叫(纯IP身份验证)。到目前为止,唯一可行的方法是为每个IP创建一个新的sip.conf对等条目。

ACL看起来应该工作,但我不知道如何正确使用它们。否则他们就不会像我认为的那样工作。

例如,如果我在sip.conf中创建以下内容(有点精简):

[general]
context=no_default_context_allowed
allowguest=yes
...
[supplier]
type=peer
host=1.1.1.1
context=abc

从1.1.1.1到达的调用按预期转到上下文abc。然而,如果我有一系列的IP(例如1.1.1.80/28),我希望沿着这些路线运行:

[supplier]
type=peer
host=dynamic
acl=supplier-acl
context=abc

acl.conf为:

[supplier-acl]
deny=0.0.0.0/0.0.0.0
permit=1.1.1.80/28

来自Asterisk CLI:

acl show supplier-acl
ACL: supplier-acl
----------------------------------------
0: deny - 0.0.0.0/0.0.0.0
1: allow - 1.1.1.80/255.255.255.240

这在我看来是正确的,sip show peers在ACL列中显示A。

在任何情况下,无论我如何尝试和配置它,调用都会转到默认上下文,除非主机包含入站调用的精确IP。

我已经尝试了很多配置变体,我真的记不清了,所以我想问的是,有人知道如何做到这一点吗?

编辑:我正在使用Asterisk 13.0.2

ACL限制网络配置,但不会识别主机

每个呼叫源主机都需要一个单独的对等条目,以确保呼叫到达正确的上下文。只需将你的[supplier]制作成一个模板,然后有几个[supplier-srv1][supplier-srv2],每个都有host=<specific ip>来区分它们。

进一步阅读
+https://wiki.asterisk.org/wiki/display/AST/Named+ACL
+http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf

acl是为类似的东西设计的

[localext]
type=friend
host=dynamic
secret=supersecret
deny=0.0.0.0/0.0.0.0
permit=192.168.0.1/24

您仍然需要添加其他强制性参数(最小实际工作是上面的例子)

相关内容

  • 没有找到相关文章

最新更新