محاسبه wildcard mask های پیچیده در Access Control List

مبنای محاسبه address وWildcard mask در ACL استفاده از دو عمل منطقی AND و XOR میباشد.که در ادامه روش محاسبه آن را خواهیم دید.
در ابتدا خروجی AND دو ورودی A و B را باهم نگاه میکنیم:

A AND B
______________
| A | B | out |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
————–

در این مرحله خروجی XOR دو ورودی A و B را بررسی میکنیم.

A XOR B
______________
| A | B | out |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
————–

همانطوری که می دانیم نحوه نوشتن یک ACL به صورت زیر می باشد :

access-list 1 permit [address] [wildcard]

که در این دستور قسمت address نتیجه and آدرسهای A و B میباشد (AوB آدرسهایی که میخواهیم در ACL قرار گیرد که برای روشن شدن ای مطلب در ادامه مثال خواهم زد) و قسمت wildcard نتیجه XOR دو آدرس A وB میباشد.
مثال1:
فرض کنید ما سه شبکه به صورت زیر داریم و میخواهیم ACL بنویسیم که اجازه عبور ترافیک این سه شبکه رابدهد در ادامه نحوه کار را با هم میبینیم:

74.18.23.0/24
68.34.14.0/24
84.51.20.0/24

اولین اقدامی که انجام میدهیم این است که آدرسها را به باینری تبدیل میکنیم.

74.18.23.0/24 – 01001010 . 00010010 . 00010111 . 00000000
68.34.14.0/24 – 01000100 . 00100010 . 00001110 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000

84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
همانطوری که در بالا ذکر شد حال باید address و wildcard را برای این سه آدرس محاسبه کنیم:
محاسبه address ) نتیجه AND سه آدرس):

74.18.23.0/24 – 01001010 . 00010010 . 00010111 . 00000000
68.34.14.0/24 – 01000100 . 00100010 . 00001110 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
AND Result —- 01000000 . 00100010 . 00000100 . 00000000= 64.2.4.0

محاسبه wildcard(نتیجه XOR سه آدرس ):

74.18.23.0/24 – 01001010 . 00010010 . 00010111 . 00000000
68.34.14.0/24 – 01000100 . 00100010 . 00001110 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
XOR Result —- 00011110 . 00010001 . 00011011 . 00000000=30.17.27.0

نکته: . در این wildcard اخرین octet صفر میباشد که را برابر با 255 قرار میدهیم

بنایراین ACL ما بصورت زیر خواهد بود.

access-list 1 permit 64.2.4.0 30.17.27.255

مثال 2:
دو آدرس ریز را داریم.

12.18.23.5
12.18.22.6

نتیجه and :

12.18.23.5 – 00001100 . 00010010 . 00010111 . 00000101
12.18.22.6 – 00001100 . 00010010 . 00010110 . 00000110
AND Result – 00001100 . 00010010 . 00010110 . 00000100 = 12.18.22.4

نتیجه XOR:

12.18.23.5 – 00001100 . 00010010 . 00010111 . 00000101
12.18.22.6 – 00001100 . 00010010 . 00010110 . 00000110
XOR Result – 00000000 . 00000000 . 00000001 . 00000011 = 0.0.1.3

نتیجه ACL:

access-list 2 permit 12.18.22.4 0.0.1.3

About Mahyar

OrcID: 0000-0001-8875-3362 ​PhD Candidate (National Academy of Sciences of Ukraine - Institute for Telecommunications and Global Information) MCP - MCSA - MCSE - MCTS Azure Security Engineer Associate MCITP: Enterprise Administrator CCNA, CCNP (R&S , Security) ISO/IEC 27001 Lead Auditor CHFI v10 ECIH v2

Check Also

تهیه backupبه ازای هر بار اجرای دستوری write

برای تهیه backupبه ازای هر بار اجرای دستوری write با استفاده از EEMدر سیسکو که …