「Asterisk pjsip ACL」の版間の差分
提供: VoIP-Info.jp
(→一番簡単な方法) |
(→既知の問題点) |
||
31行目: | 31行目: | ||
セクション名がACLの名前 | セクション名がACLの名前 | ||
==既知の問題点== | ==既知の問題点== | ||
− | たぶん現時点(Asterisk 16.0.0) | + | たぶん現時点(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は参照されません。