FusionPBX மற்றும் ACL

எனது கட்டுரை தயாரிப்பின் முழு விவரம் அல்ல, ஆனால் "FusionPBX, அல்லது மீண்டும்-பெரிய, FreeSWITCH" என்ற நல்ல வெளியீட்டின் சிறிய சுத்திகரிப்பு மட்டுமே. FusionPBX இல் ACL இன் தலைப்பு நன்றாக வெளிப்படுத்தப்படவில்லை என்று எனக்குத் தோன்றுகிறது. FreeSWITCH/FusionPBX உடன் எனது சொந்த அனுபவத்தின் அடிப்படையில் இந்த இடைவெளியை நிரப்ப முயற்சிப்பேன்.

எனவே, டொமைன்.லோக்கல் டொமைனில் பதிவுசெய்யப்பட்ட உள் எண் 1010 உடன் நிறுவப்பட்ட FusionPBX மற்றும் நகரத்திற்கு வெளிப்புற அழைப்புகளுக்கான உள்ளமைக்கப்பட்ட வழி உள்ளது. எங்களின் பணத்தை எடுத்துச் செல்லும் அங்கீகரிக்கப்படாத அழைப்புகளிலிருந்து எங்கள் தொலைபேசி அமைப்பைப் பாதுகாக்க ACL ஐப் பயன்படுத்துகிறோம். அந்த. ACL இல் விவரிக்கப்பட்டுள்ள நெட்வொர்க்குகளில் இருந்து மட்டுமே வெளிச்செல்லும் அழைப்புகளை அனுமதிக்கும். FusionPBX இல் ACL எவ்வாறு செயல்படுகிறது, அதன் அம்சங்கள், தர்க்கம் மற்றும் அதன் ஆங்கர் பாயின்ட் பற்றிய முழுமையான தெளிவான புரிதல் இங்கே உங்களுக்குத் தேவை.

மேலே உள்ள கட்டுரையின் மதிப்பிற்குரிய ஆசிரியரைப் போலவே, நானும் ACL தொடர்பான அனைத்து ரேக்குகளிலும் அடியெடுத்து வைத்தேன்.

நான் தொடங்குகிறேன் SipProfiles.
இரண்டு சுயவிவரங்களும் (நான் அவற்றை அழைக்கிறேன்), உள் மற்றும் வெளிப்புற இரண்டும் பொது சூழலில் உள்ளன, இது தற்செயலானதல்ல. எண்களின் பதிவு உள் சுயவிவரத்தில் நடைபெறுகிறது, நாங்கள் அதில் கவனம் செலுத்துவோம். உள் சுயவிவரத்தில், ACL டொமைன்கள் apply-inbound-acl என பிணைக்கப்பட்டுள்ளது. இந்த வரிதான் சுயவிவர மட்டத்தில் ACL இன் செயல்பாட்டிற்கு பொறுப்பாகும். இதுவரை, சுயவிவரங்கள் அவ்வளவுதான்.

சூழல்

மற்றவற்றுடன், அழைப்பு ரூட்டிங்கில் சூழல் பயன்படுத்தப்படுகிறது. அனைத்து உள்வரும் பாதைகளும் பொது சூழலுக்கு கட்டுப்பட்டவை.

வெளிச்செல்லும் (நகரம், செல்லுலார், நீண்ட தூரம், சர்வதேசம் மற்றும் வேறு ஏதேனும்) வழிகள் (இயல்புநிலையாக) டொமைன் பெயரின் சூழலில் (இதை domain.local என்று அழைப்போம்).

ஏசிஎல்

இப்போது ACL களைக் கையாள்வோம். இயல்பாக, புதிதாக நிறுவப்பட்ட FusionPBX இரண்டு ACLகளைக் கொண்டுள்ளது:

களங்களின் இயல்புநிலை செயல்: மறுப்பு - இந்த தாள் உள் சுயவிவரத்துடன் பிணைக்கப்பட்டுள்ளது
லான் இயல்புநிலை செயல்: அனுமதி

டொமைன்கள் ACL பட்டியலில், நாங்கள் பிணையத்தை பரிந்துரைக்கிறோம் (உதாரணமாக, 192.168.0.0/24), இந்த நெட்வொர்க்கிற்கான அனுமதியை நாங்கள் செய்கிறோம், நாங்கள் reloadacl ஐப் பயன்படுத்துகிறோம்.

அடுத்து, இந்த நெட்வொர்க்கிலிருந்து ஒரு தொலைபேசியை நாங்கள் பதிவு செய்கிறோம், எல்லாமே சரியாகவும் அறிவுறுத்தல்களின்படியும் தர்க்கரீதியாகவும் தெரிகிறது.
நாங்கள் சோதனையைத் தொடங்குகிறோம், வெளிப்புற எண்ணுக்கு அழைப்போம் மற்றும் ... எங்களுக்கு ஒரு டோனட் அல்லது டோனட் துளை கிடைக்கும். திடீரென்று!

கன்சோலில் அல்லது லாக் வியூவர் FusioPBX மூலம் பதிவை பகுப்பாய்வு செய்யத் தொடங்குகிறோம்.

எங்கள் சவாலை நாங்கள் காண்கிறோம்:

switch_channel.c:1104 New Channel sofia/internal/[email protected]

வேலை செய்த ACL ஐப் பார்க்கிறோம்:

sofia.c:10208 IP 192.168.0.150 Approved by acl "domains[]". Access Granted.

மேலும்:

mod_dialplan_xml.c:637 Processing 1010 <1010>->98343379xxxx in context public
switch_core_state_machine.c:311 No Route, Aborting 
switch_core_state_machine.c:312 Hangup sofia/internal/[email protected] [CS_ROUTING] [NO_ROUTE_DESTINATION] 

பாதை இல்லை! நாங்கள் நேர்மையாக பதிவு செய்த பாதை என்றாலும்.

பதில் உண்மையில் எளிமையானது.

அழைப்பு வந்துள்ளது. ACL அதை தவறவிட்டது. மேலும் ACL ஆனது உள் சுயவிவரத்தில் பிணைக்கப்பட்டுள்ளதாலும், இந்த சுயவிவரம் பொது சூழலில் இருப்பதால், FreeSWITCH நேர்மையாக பொது சூழலில் ரூட்டிங் பார்க்கிறது. ஆனால் பொது சூழலில், உள்வரும் ரூட்டிங் மட்டுமே, மேலும் நகரத்திற்கு எந்த வழிகளும் இல்லை என்பதை கணினி நேர்மையாக நமக்குச் சொல்கிறது.

இந்த சூழ்நிலையிலிருந்து குறைந்தது இரண்டு வழிகள் உள்ளன.

  1. இந்த ACL ஐ சுயவிவரத்துடன் இணைக்காமல், அக எண்ணுடன் இணைக்கவும். இது தீர்க்க மிகவும் சரியான வழியாக இருக்கலாம், ஏனெனில். நுணுக்கமான டியூனிங்கிற்கு ACLஐ நீட்டிப்பிற்கு முடிந்தவரை நெருக்கமாக இணைப்பது நல்லது. அந்த. தொலைபேசியின் குறிப்பிட்ட முகவரி / நெட்வொர்க் முகவரியை நீங்கள் பரிந்துரைக்கலாம், அதில் இருந்து வெளிச்செல்லும் அழைப்பை மேற்கொள்ளலாம். இந்த விருப்பத்தின் தீமை என்னவென்றால், ஒவ்வொரு நீட்டிப்பும் இதைச் செய்ய வேண்டும்.
  2. சுயவிவர மட்டத்தில் சரியாக வேலை செய்யும் வகையில் ACL ஐ சரிசெய்யவும். இந்த விருப்பத்தை நான் தேர்வு செய்தேன், ஏனென்றால் ஒவ்வொரு நீட்டிப்பிலும் அதை பரிந்துரைப்பதை விட ACL இல் நெட்வொர்க்கை ஒரு முறை சேர்ப்பது எனக்கு எளிதாகத் தோன்றியது. ஆனால் இது குறிப்பாக எனது பணிக்காக. மற்ற பணிகளுக்கு, உங்களுக்கு வேறுபட்ட முடிவெடுக்கும் தர்க்கம் தேவைப்படலாம்.

அதனால். ACL டொமைன்களை பின்வருமாறு சரி செய்வோம்:

களங்களின் இயல்புநிலை செயல்: அனுமதி

டொமைன் ACL பட்டியலில், நாங்கள் பிணையத்தை பதிவு செய்கிறோம்:

மறுக்கவும் 192.168.0.0/24

விண்ணப்பிக்கவும், மீண்டும் ஏற்றவும்.
நாங்கள் சோதனை செய்கிறோம்: 98343379xxxx எண்ணை மீண்டும் டயல் செய்து... சோதனைச் சாவடி வருகிறது... வணக்கம். எல்லாம் வேலை செய்கிறது.
FreeSWITCH இல் என்ன நடந்தது என்று பார்ப்போம்:
அழைப்பு தொடங்குகிறது:

switch_channel.c:1104 New Channel sofia/internal/[email protected]

ACL தவறவில்லை:

[DEBUG] sofia.c:10263 IP 192.168.0.150 Rejected by acl "domains". Falling back to Digest auth.

மேலும்:

mod_dialplan_xml.c:637 Processing 1010 <1010>->98343379xxxx in context domain.local
sofia/internal/[email protected] Regex (PASS) [Sity] destination_number(98343379xxxx) =~ /^9(8343[23]d{6})$/ break=on-false 

ரூட்டிங் கடந்துவிட்டது, பின்னர் இணைப்பு நிறுவல் வருகிறது, இது தலைப்பின் எல்லைக்கு அப்பாற்பட்டது.

நாம் ACL இல் பிணைய முகவரியை மாற்றினால், ஆனால் முதல் சோதனையிலிருந்து படத்தைப் பெற்றால், அதாவது. ACL அழைப்பைத் தவிர்க்கும் மற்றும் ரூட்டிங் NO_ROUTE_DESTINATION எனக் கூறும்.

ACL FusionPBX இல் நான் சேர்க்க விரும்பியது அவ்வளவுதான்.

யாருக்காவது பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்