「Asterisk pjsip ACL」の版間の差分
提供: VoIP-Info.jp
(→一番簡単な方法) |
(→一番簡単な方法) |
||
47行目: | 47行目: | ||
permit = 192.168.1.0/24 | permit = 192.168.1.0/24 | ||
permit = 許可したいIPアドレス | permit = 許可したいIPアドレス | ||
− | この方法の場合にはCLIからmodule reload res_pjsip.soだけで反映されます。 | + | この方法の場合にはCLIからmodule reload res_pjsip.soだけで反映されます。<br> |
+ | どのみちこのACLを抜けてこないと各endpointなどのACLは参照されません。<br> |
2018年10月29日 (月) 12:08時点における版
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をpjsip_wizard.confで定義した場合、CLIからリロードされません。
- pjsip_wizard.confのendpoint設定でendpoint/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は参照されません。