「Asterisk pjsip ACL」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(一番簡単な方法)
(既知の問題点)
31行目: 31行目:
 
セクション名がACLの名前
 
セクション名がACLの名前
 
==既知の問題点==
 
==既知の問題点==
たぶん現時点(Asterisk 16.0.0)の仕様だと思われますが名前付きACLをpjsip_wizard.confで定義した場合、CLIからリロードされません。
+
たぶん現時点(Asterisk 16.0.0)の仕様だと思われますが名前付きACLをendpoint等に定義した場合、CLIからリロードされません。
:pjsip_wizard.confのendpoint設定でendpoint/acl = myphonesを定義する
+
:pjsip_wizard.confやpjsip.confのendpoint設定でendpoint/acl = myphonesあるいはacl = myphonesを定義する
 
:Asteriskを再起動して有効にする(pjsip show endpoint なんとか)で確認
 
:Asteriskを再起動して有効にする(pjsip show endpoint なんとか)で確認
 
:acl.confを編集する
 
:acl.confを編集する
39行目: 39行目:
 
::ところが挙動は正しくならない
 
::ところが挙動は正しくならない
 
:解決するにはAsteriskを再起動するしかない
 
:解決するにはAsteriskを再起動するしかない
 +
 
==一番簡単な方法==
 
==一番簡単な方法==
 
グローバルのACLだけで定義します。<br>
 
グローバルのACLだけで定義します。<br>

2018年10月29日 (月) 12:15時点における版

AsteriskのPjSIPでACLを使用する場合の挙動

ファイル

  • pjsip.conf
type=aclで定義されるACL
  • alc.conf
Asteriskの名前付きACL
'[ ]'で定義されるセクション名がACLの名前
PjSIPの各所(endpointなど)から'acl=名前'で参照される

pjsip.conf

  • グローバルなACLとして動作する
  • 他で設定されたACL(endpointなど)よりも優先使用される(BASELINE)
  • 何も設定されていない場合には『全許可』(ACLなし)

全拒否のACL

[acl]
type = acl
deny = 0.0.0.0/0.0.0.0

192.168.1.0/24だけ許可するACL

[acl]
type = acl
deny = 0.0.0.0/0.0.0.0
permit = 192.168.1.0/24

acl.confの名前付ACLをACLとして使用する場合

[acl]
type = acl
acl = inhouse-phones

acl.conf

Asteriskの名前付きACL

[inhouse-phones]
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/24

セクション名がACLの名前

既知の問題点

たぶん現時点(Asterisk 16.0.0)の仕様だと思われますが名前付きACLをendpoint等に定義した場合、CLIからリロードされません。

pjsip_wizard.confやpjsip.confのendpoint設定でendpoint/acl = myphonesあるいはacl = myphonesを定義する
Asteriskを再起動して有効にする(pjsip show endpoint なんとか)で確認
acl.confを編集する
CLIでmodule reload acl を実行する
CLIでacl show myphones を実行すると正しく変更されている
ところが挙動は正しくならない
解決するにはAsteriskを再起動するしかない

一番簡単な方法

グローバルのACLだけで定義します。
pjsip.confの中で以下の例のように書くだけです。

[acl]
type = acl
deny = 0.0.0.0/0.0.0.0
permit = 192.168.1.0/24
permit = 許可したいIPアドレス

この方法の場合にはCLIからmodule reload res_pjsip.soだけで反映されます。
どのみちこのACLを抜けてこないと各endpointなどのACLは参照されません。