FreeSWITCH рдореЗрдВ ACL

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдПрдХ рд▓реЗрдЦ рдХреЗ рдЕрд░реНрдХ рдФрд░ FreeSWITCH рдореЗрдВ Acces Control List (ACL) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдЬрд╛рдирдХрд╛рд░реА рдЬрд╛рдирддрд╛ рд╣реВрдВ, рдЙрд╕реЗ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рддреЛ, ACL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ autoload_configs \ acl.conf.xml рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреИрдЧ рдХрд╛ рдирд╛рдо acl.conf рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдиреЗрдЯрд╡рд░реНрдХ-рд╕реВрдЪреА рд╕реВрдЪреА рдЯреИрдЧ рд╣реИ:
<configuration name="acl.conf" description="Network Lists"> <network-lists> </network-lists> </configuration> 

рдиреЗрдЯрд╡рд░реНрдХ-рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ, рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдирд╛рдорд┐рдд ACL рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 <list name="test" default="deny"> <node type="allow" cidr="1.2.3.0/24"/> </list> 

рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ - рдЗрдирдХрд╛рд░ (рдЗрдирдХрд╛рд░) рдпрд╛ рдЕрдиреБрдорддрд┐ (рдЕрдиреБрдорддрд┐)ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ FreeSWITCH рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ ACL рдмрдирд╛рддрд╛ рд╣реИ:
rfc1918.auto - RFC 1918
nat.auto - RFC 1918 рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░
localnet.auto - рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП ACL
loopback.auto - рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП ACL

RFC 1918 рд╕реНрдерд╛рдиреАрдп рдХреНрд╖реЗрддреНрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП IP рдкрддреЛрдВ рдХреА рдирд┐рдореНрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
10.0.0.0 - 10.255.255.255 - 10.0.0.0/8
172.16.0.0 - 172.31.255.255 - 172.16.0.0/12
192.168.0.0 - 192.168.255.255 - 192.168.0.0/16

рд╕реВрдЪреА рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдиреЛрдбреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ - рдиреЛрдб:
<рдиреЛрдб рдкреНрд░рдХрд╛рд░ = "рдЕрдиреБрдорддрд┐ рджреЗрдВ" cidr = "1.2.3.0/24" />
рдиреЛрдб рдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреНрд░рдХрд╛рд░ рдЗрдирдХрд╛рд░ (рдЗрдирдХрд╛рд░) рдпрд╛ рдЕрдиреБрдорддрд┐ (рдЕрдиреБрдорддрд┐) рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдирд┐рдпрдо рдХрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдиреЛрдб рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рдпрдо рд╕реВрдЪреА рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рдпрдо рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рддреЗ рд╣реИрдВ (<рд╕реВрдЪреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ = "рдЗрдирдХрд╛рд░">)ред
рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддреА рд╣реИ:
cidr - рдХреНрд▓рд╛рд╕рд▓реЗрд╕ рдиреЛрдЯреЗрд╢рди рдореЗрдВ IP рдкрддреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: 192.168.0.0/16
рдбреЛрдореЗрди - рдбреЛрдореЗрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: $$ {рдбреЛрдореЗрди}
рдореЗрдЬрдмрд╛рди - рдпрд╛ рддреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдЬрдмрд╛рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕реАрдорд╛ рдХреЛ рдореБрдЦреМрдЯрд╛ рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг:
 <node type="allow" domain="$${domain}"/> <node type="deny" cidr="192.168.42.0/24"/> <node type="deny" host="4.3.2.0" mask="255.255.255.0"/> 

рддреЛ, acl.conf.xml рд╕рд┐рд░реНрдл ACLs рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред IP рдкрддреЛрдВ рдХреА рдЕрдиреБрдордд рдпрд╛ рдЕрдиреБрдордд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рд╡рд╛рд▓реА рд╕реВрдЪрд┐рдпрд╛рдБред
рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдХрдо рд╕реЗ рдХрдо рддреАрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░: SIP рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓, рдЧреНрд░рд╛рд╣рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдФрд░ event_socketред
ACLs рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдФрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрд╕рдЖрдИрдкреА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓

SIP рдкреНрд░реЛрдлрд╛рдЗрд▓ рдЖрдорддреМрд░ рдкрд░ conf / sip_profiles / рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ
рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдПрд╕реАрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдирдмрд╛рдЙрдВрдб- рдПрд╕реАрдПрд▓ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд╕реАрдПрд▓ / рд╕реАрдЖрдИрдбреАрдЖрд░ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
apply-register-acl - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ ACL / CIDR рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ

рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ: рдПрдХ рдирд╛рдорд┐рдд ACL (рдкрд░рд┐рднрд╛рд╖рд┐рдд, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, autoload_configs \ acl.conf.xml рдореЗрдВ) рдпрд╛ CIDR:
 <param name="apply-inbound-acl" value="<acl_list|cidr>"/> <param name="apply-register-acl" value="<acl_list|cidr>"/> 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдкрдХреЗ рд▓реЙрдЧ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
2012-04-05 15: 08: 46.348105 [DEBUG] sofia.c: 7567 IP 82.xxx acl "рдбреЛрдореЗрди" рджреНрд╡рд╛рд░рд╛ рдЕрд╕реНрд╡реАрдХреГрддред рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдСрд░реНрдЯ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдирд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдбреАрдмрдЧрд┐рдВрдЧ рд╕рдВрджреЗрд╢ (рдиреЛрдЯ - DEBUG) рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ "рдбреЛрдореЗрди" рдирд╛рдо рдХреЗ рд╕рд╛рде ACL рджреНрд╡рд╛рд░рд╛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб (рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдСрд░реНрдЯ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ <param name = "log-Cort-failures" value = "false" /> рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдХрд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд▓рд╛рдЧреВ-рдЗрдирдмрд╛рдЙрдВрдб-рдПрд╕реАрдПрд▓ рдФрд░ рд▓рд╛рдЧреВ-рд░рдЬрд┐рд╕реНрдЯрд░-рдПрд╕реАрдПрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рднреА ACL рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдПрдЧреА рдФрд░ рд╕рдВрджреЗрд╢ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ ACL рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдЕрдВрджрд░ acl_list рдЗрд╕реЗ OR рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ AND рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдЗрди рдПрд╕реАрдПрд▓ рдореЗрдВ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓реЗ рдлреЛрди рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЙрд▓ (рд▓рд╛рдЧреВ-рдЗрдирдмрд╛рдЙрдВрдб-рдПрд╕реАрдПрд▓) рдпрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ (рдЕрдкреНрд▓рд╛рдИ-рд░рдЬрд┐рд╕реНрдЯрд░-рдПрд╕реАрдПрд▓) рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ (рдЬреЛ рдХрд┐, "401 рдЕрдирдзрд┐рдХреГрдд рд╕рдВрджреЗрд╢" рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛)ред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ ACL рдХрд┐рд╕реА рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ FreeSWITCH рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХреЙрд▓ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдбрд╛рдпрд▓рдкреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд╛рдЧреВ-рдЗрдирдмрд╛рдЙрдВрдб-рдПрд╕реАрдПрд▓ рдФрд░ рдПрдкреНрд▓рд╛рдЗрдб-рд░рдЬрд┐рд╕реНрдЯрд░-рдПрд╕реАрдПрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдСрд░реНрдХ-рдХреЙрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрд╡реЗрджрди-рдЗрдирдмрд╛рдЙрдВрдб-рдПрд╕реАрдПрд▓ рдФрд░ рдЖрд╡реЗрджрди-рд░рдЬрд┐рд╕реНрдЯрд░-рдПрд╕реАрдПрд▓ рдЬрд╛рдВрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
<param name = "ost-calls" value = "$$ {internal_auth_calls}" />
рдЭреВрдареА рдЗрд╕ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ ACL рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдиреЛрдЯ: рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА-рдХреЙрд▓ рдкреНрд░реЙрдХреНрд╕реА рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ xml_curl рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рдпрд╛ рдЕрдкрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдПрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░:
рдЕрдкреНрд▓рд╛рдИ-рдкреНрд░реЙрдХреНрд╕реА- рдПрд╕реАрдПрд▓ - рдПрд╕реАрдПрд▓ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХреНрд╕-рдСрдЯреЛ-рдЖрдИрдкреА рд╣реЗрдбрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдиреЛрдЯ: рдЖрдкрдХреЛ рдЗрд╕ рд╣реЗрдбрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
<param name = "apply -xy-acl" value = "myproxies" />
рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ FreeSWITCH рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХреНрд╕-рдСрдЯреЛ-рдЖрдИрдкреА рдирд╛рдордХ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рд╣реЛрдЧрд╛ред
FreeSWITCH рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЖрдИрдкреА рдкреНрд░реЙрдХреНрд╕реА рдХреЗ ACL рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ рдФрд░ рд╣реИрдбрд░ рдореЗрдВ IP рдорд╛рди рдХреЛ ACL рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП IP рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рджреЛ рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдбрд░рд╛рд╡рдирд╛, рдкреИрд░рд╛рдореАрдЯрд░ ACL рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
рд╕реНрд╡реАрдХрд╛рд░-рдЕрдВрдз-рд╕рдВрдзрд┐ - рдЕрдЧрд░ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рд╣реИ, рддреЛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕реНрд╡реАрдХрд╛рд░-рдЕрдВрдзрд╛-рд░реЗрдЧ - рдпрджрд┐ рдпрд╣ рд╕рдЪ рд╣реИ, рддреЛ рдХрд┐рд╕реА рднреА рдкрдВрдЬреАрдХрд░рдг рдХреЛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛

рдЧреНрд░рд╛рд╣рдХ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ, рдЖрдк CIDR рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 <user id="1000" cidr="12.34.56.78/32,20.0.0.0/8"> 

ACL рдпрд╛ CIDR рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдУрдЯрд░рд▓-рдПрд╕реАрдПрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 <include> <user id="1000" number-alias="1000"> <params> <param name="password" value="1234"/> <param name="vm-password" value="1000"/> <param name="auth-acl" value="1.2.3.0/8"/> </params> <variables> <variable name="accountcode" value="1000"/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Extension 1000"/> <variable name="effective_caller_id_number" value="1000"/> </variables> </user> </include> 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рдЖрдк рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рдСрдЙрдЯ-рдХреЙрд▓ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдкрд╛рд╕рд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХреГрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрд╕реАрдПрд▓ рджреНрд╡рд╛рд░рд╛ред рдпрджреНрдпрдкрд┐, рдпрджрд┐ ACL рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрднреА рднреА рдкрд╛рд╕рд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХреГрдд рд╣реЛрдЧрд╛ред

event_socket

рд╕реЙрдХреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рдЗрдирдмрд╛рдЙрдВрдб-рдПрд╕реАрдПрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдирд╛рдорд┐рдд рдПрд╕реАрдПрд▓ рдпрд╛ рдЖрдИрдбреАрдЖрдИрдбреА тАЛтАЛрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ:
<param name = "apply-inbound-acl" value = "<acl_list | cidr>" / |
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдИ рд▓рд╛рдЧреВ-рдЗрдирдмрд╛рдЙрдВрдб-рдПрд╕реАрдПрд▓ рд╡рд┐рдХрд▓реНрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдПрд╕рдЖрдИрдкреА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ - рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди)

Dialplan function check_acl рдЖрдкрдХреЛ ACL рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
check_acl <ip> <acl | cidr> [<hangup_cause>]
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 <action application="check_acl" data="${network_addr} foo normal_clearing"/> <action application="check_acl" data="${network_addr} 1.2.3.0/8 normal_clearing"/> 

рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рдЧреНрд▓рд╛рдЗрдбрд░ рдореЗрдВ рдЗрдирд▓рд╛рдЗрди рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдПрдкреАрдЖрдИ рдХрдорд╛рдВрдбреНрд╕

рдкреБрдирдГ рд▓реЛрдб ACLs
 reloadacl [<reloadxml>] 
рдпрджрд┐ рдЖрдкрдиреЗ acl.conf.xml рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдореМрдЬреВрджрд╛ рд╕реВрдЪреА рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрд╕реАрдПрд▓ рдПрд╕реАрдПрд▓ рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдкрддреЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ
 acl <ip> <list|net> 

 freeswitch@mybox> acl 192.168.42.42 192.168.42.0/24 freeswitch@mybox> acl 192.168.42.42 list_foo 
'List_foo' рдХреА рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЙрд╕ рд╕реВрдЪреА рдХреЗ рдирд╛рдо рдХрд╛ рд╕рдВрджрд░реНрдн рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ acl.conf.xml рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
ACL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, acl рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд░реВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдПрдХ ACL рд╕реЗ list_foo рдирд╛рдо рдХреЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
 <extension name="foo-hosts-calls"> <condition field="${acl(${network_addr} list_foo)}" expression="true"/> <condition field="destination_number" expression="(.*)"> <action application="bridge" data="sofia/default/$1@xxxx:5060"/> </condition> </extension> 

рдЦреИрд░, рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗред

Source: https://habr.com/ru/post/In141727/


All Articles