آرشیو آبان ماه 1402

اینجا خلاصه ای از نکات یادگیری فناوری اطلاعات بصورت کاربردی آموزش داده می شود

فریمورک جنگو چیست؟ بررسی ساختار ، معماری ، مدل ها و مزایای جنگو

جنگو چیستیا بهتر سوال کنیم فریمورک جنگو چیست؟ Django یک فریمورک با معماری MTV میباشد که برای ساخت اپلیکیشن‌های وب مورد استفاده قرار میگیرد. جنگو برنامه‌نویسان وب را قادر میسازد تا کدهای تمیز، کارآمد و قدرتمند بنویسند. علاوه بر اینکه در لیست محبوب‌ترین فریمورک‌های وب جهان حضور دارد، جنگو یکی از پر استفاده‌ترین تکنولوژیها برای توسعه وب میباشد. این فریمورک توسط اینستاگرام، یوتیوب، گوگل و حتی ناسا برای توسعه وبسایتشان بکار رفته است.

ساختار کاری جنگو به چه شکل است؟ معماری MVT

جنگو از معماری سه لایه MVT استفاده میکند که مخفف Model -View – Template میباشد. این معماری نوع تغییر داده شده MVC برای فریمورک جنگو بوده و به آن بسیار شبیه است. هنگامی که سرور جنگو، یک request (درخواست) دریافت میکند، مسیریاب URL آن request را به view مناسب هدایت میکند. سپس لایه view داده را از لایه model دریافت میکند و با استفاده از متدها و فانکشن‌هایی که در آن نوشته میشود، لایه template را پر میکند و آنرا به کاربر ارسال میکند.

معماری MVT در جنگو چیست؟

وقتی که در مورد برنامه‌های کاربردی که از واسط کاربری برخوردارند (برنامه‌های تحت وب یا Desktop) صحبت می‌شود، منظور معماری مدل-نمایش-کنترل‌گر یا MVC است. همانطور که از نام این معماری مشخص است، معماری MVC از سه مؤلفه اصلی یعنی «مدل» (Model)، «نمایش» (View) و «کنترل‌گر» (Controller) تشکیل شده است. معماری MVT، کمی متفاوت‌تر از معماری MVC است؛ در اصل، تفاوت بنیادی میان این دو معماری این است که در مدل MVT، کتابخانه Django مدیریت مؤلفه Controller را بر عهده می‌گیرد (مؤلفه Controller، کد نرم‌افزاری است که تعامل میان مؤلفه‌های Model و View را کنترل می‌کند).

بنابراین، در معماری MVT، از آنجایی که کتابخانه Django مدیریت مؤلفه Controller را برعهده می‌گیرد، مؤلفه Template شکل می‌گیرد. مؤلفه Template، یک فایل HTML است که با «زبان قالب جنگو» (Django Template Language | DTL) ترکیب شده است. دیاگرام زیر، نحوه تعامل مؤلفه‌های مختلف معماری MVT را با یکدیگر، جهت سرویس‌دهی به درخواست کاربر، نشان می‌دهد.

منظور از Model در جنگو چیست و چند مدل داریم؟

در فریمورک جنگو با استفاده از مدل قدرتمند و بسیار مفید ORM، انجام عملیات مختلف با دیتابیس بسیار ساده شده و پروسه توسعه تسریع یافته است. ORM مخفف Object-Relational-Mapping است و بدون آن، توسعه دهنده باید تمامی جداول را خودش ایجاد کند و برای انجام هرگونه عملیات با دیتابیس، کوئری مربوطه را باید خودش بنویسد که گاها این روند میتواند در پروژه‌های بزرگ بسیار پیچیده و کسل کننده باشد.

ORM به شما این امکان را میدهد تا تمامی کوئری‌های دیتابیس را با دستورات ساده پایتون اجرا کنید و همچنین متدهای آماده‌ای در آن برای پیاده‌سازی عملیات crud با دیتابیس تعبیه شدند. در حقیقت، برنامه‌نویس نیازی ندارد تا به تمامی روشهای پیچیده SQL را یکجا مسلط باشد.

برخلاف سایر فریمورک‌ها، تمامی مدلها در یک فایل به اسم models.py قرار میگیرند و همین مورد میتواند در روند توسعه پروژه‌های بزرگ بسیار مفید و کارآمد باشد. Django از دیتابیس‌های بسیاری پشتیبانی میکند. SQLite برای توسعه و تست کردن بسیار مناسب است چون هنگام نصب Django بصورت پیش فرض نصب میشود و نیازی به نصب برنامه خاصی نیست. برای Production میتوانید از MYSQL و PostgreSQL استفاده کنید و اگر میخواهید از NoSQL ها استفاده کنید، میتوانید از MongoDB با جنگو استفاده کنید.

منظور از Template در جنگو چیست؟

لایه template مشابه لایه view در معماری MVC است و هدف آن نمایش داده‌ و اطلاعات به کاربر بوده و در حقیقت منطق ظاهری برنامه (Display Logic) میباشد. اگر شما با templating در زبان‌ها و فریمورکهای دیگر از جمله لاراول آشنا باشید، تقریبا در جنگو هم به این شکل است. شما از یک سینتکس مشابه HTML استفاده میکنید که بعدا به HTML کامپایل میشود و شامل تمامی داده‌های مربوطه میباشد. البته که فرمت‌های غیر HTML هم وجود دارند، مثلا اگر خواستید میتوانید از سندهای XML یا فایلهای JSON و … استفاده کنید.

منظور از View در جنگو چیست؟

View در جنگو لایه بیزینس از معماری سه لایه MVT است. این لایه شامل فانکشن‌ها و متدهایی میشود که موجب دریافت و پردازش درخواست کاربر و ارسال نتیجه معتبر برای کاربر میشود. این لایه داده را از Model دریافت میکند و به هر کدام از template ها دسترسی به داده خاصی را میدهد.

 

مزایای استفاده از فریمورک جنگو چیست؟

  1. پشتیبانی از انواع کامپوننت‌ها : همچنین جنگو تقریباً برای هر عملکردی که بخواهید گزینه‌هایی را برای شما فراهم می‌کند (به عنوان مثال چندین پایگاه داده معروف، موتورهای templating و غیره)، همچنین می‌توان در صورت لزوم از سایر مولفه‌های مورد نیاز نیز استفاده کرد.

  2. مقیاس پذیر بودن :جنگو از معماری مبتنی بر مولفه “عدم اشتراک گذاری (shared-nothing)” استفاده می‌کند. بدین معنا که هر قسمت از معماری مستقل از قسمت‌های دیگر است و بنابراین می‌تواند در صورت لزوم جایگزین شده یا تغییر کند.

  3. امنیت : جنگو با ارائه یک فریمورک قدرتمند جهت محافظت خودکار از وب سایت طراحی شده است و به توسعه دهندگان کمک می‌کند تا از بسیاری از اشتباهات معمول امنیتی جلوگیری کنند. به عنوان مثال، جنگو یک روش ایمن برای مدیریت حساب‌های کاربری و رمزهای عبور کاربر، اجتناب از اشتباهات رایج مانند قرار دادن اطلاعات جلسه (Sessions) در کوکی‌ها و در جاهایی که آسیب پذیر میباشد یا ذخیره مستقیم رمزهای عبور به جای هش نمودن آنها و… فراهم می‌کند.همچنین جنگو به طور پیش فرض از بسیاری از آسیب پذیری‌ها نیز محافظت می‌کند، از جمله تزریق SQL، برنامه نویسی بین سایت، جعل درخواست بین سایت و کلیک کردن و… .

  4. امکان گسترش منابع : وجود یک تفکیک واضح بین قسمت‌های مختلف به این معنی است که می‌تواند با افزودن سخت افزار در هر سطح، افزایش سرورهای ذخیره، سرورهای پایگاه داده یا سرورهای برنامه، امکان افزایش تعداد بازدیدکنندگان و در نتیجه افزایش رتبه seo سایت را ایجاد کند. بسیاری از سایت‌های پرترافیک از جنگو استفاده کرده اند تا خواسته‌های آنها را برآورده کند (به عنوان مثال Instagram و Disqus و …).

  5. قابلیت ارتقا و نگهداری :کد جنگو با استفاده از اصول و الگوهای طراحی نوشته می‌شود که ایجاد کد قابل نگهداری ساده برای طولانی مدت و قابل استفاده مجدد را فراهم می‌کند. همچنین جنگو از اصول DRY یا Don’t Repeat Yourself استفاده می‌کند بنابراین هیچ کپی غیرضروری وجود ندارد، و میزان کدنویسی را کاهش می‌دهد. همچنین جنگو از فابلیت MVC نیز پشتیبانی می‌کند.

  6. پنل مدیریت :هنگام نصب برنامه، پنل مدیریت جنگو به طور خودکار نصب می‌شود. این باعث می‌شود که توسعه دهنده نیازی به ایجاد دستی پنل مدیریت نداشته باشد. با استفاده از برنامه‌های شخص ثالث، کنسول مدیریت پیش فرض جنگو می‌تواند بهبود یافته و متناسب با نیازهای پروژه شما سازگار شود. همچنین، این فریمورک به شما این امکان را می‌دهد که رابط کاربری پنل مدیریت پیش فرض را سفارشی کنید.

  7. این فریم ورک توسط افراد زیادی بررسی شده است :Python و Django نسبت به Rails و Node سر و صدای کمتری در دنیای برنامه نویسی دارند اما این بدان معنی نیست که افراد مشهور و نام های بزرگ از آن ها استفاده نمی کنند. Django سیستم راه اندازی سایت های بزرگی مثل Pinterest و اینستاگرام است و حتی فیسبوک از ابزار های آن بهره می برد. Django کار خود را در دنیای نشر آغاز کرده و طبیعتا نشریات معروف مثل واشنگتن پست و Smithonian از Django استفاده می کنند.

  8. مستندات زیادی برای فریم ورک Django موجود است :Django در شروع کار خود بیش از هر پروژه ی Open Source دیگری تحقیقات و مقالات ارائه شده دارد و این آمار در طول زمان بهتر و بیشتر هم شده است. در ابتدای ارائه‌ی این فریم ورک، همین مستندات موجود بود که این برنامه را خاص می‌کرد. بیشتر فریم ورک های دیگر، از یک سیستم الفبایی برای ارائه ماژول ها و ویژگی ها استفاده می کردند. این رویه برای رجوع سریع مناسب است اما در زمانی که شما به دنبال انجام کاری مفید باشید، کمکی به شما نمی کند. کیفیت مستندسازی در Django هم اکنون ویژگی خاصی نیست اما از بهترین ها در دنیای برنامه نویسی است. کیفیت فایل های گزارشی و مستندات برای برنامه نویس ها همیشه یک نگرانی بزرگ بوده است. این نوع از مستندات در Django از جایگاه بالایی برخوردارند.

  9. دسترسی کافی به Packageهای Django وجود دارد :جامعه ی Django، درست مثل جامعه یPython، ابزار ها و Package های زیادی برای کاربران فراهم کرده است. کلمه ی Django را در PyPI تایپ کنید و بیش از ۴۰۰۰ Package موجود برای کاربران در اختیار شما قرار خواهد گرفت. این فریم ورک تقریبا تمامی ویژگی ها و امکاناتی را که شما دنبال آن هستید را در خود جای داده است.

۰ ۰

آموزش راه اندازی SNMP در میکروتیک برای مانیتورینگ به زبان ساده

 

چگونه SNMP را بر روی میکروتیک فعال کنیم؟ پروتکل SNMP مخفف Simple Network Management Protocol می باشد، یک پروتکل درلایه 7مدل OSI یا همان Application-Layer که از پروتکل UDP به منظور حمل و نقل اطلاعات استفاده می کند, این پروتکل وظیفه مانیتورینگ و مدیریت شبکه را دارد که با استفاده از آن ما می توانیم نظارات و مدیریت خوبی روی Device های موجود در شبکه خود داشته باشیم این پروتکل قابلیت فعال شدن بر روی Routerها، Hubها و Switch ها و سرور های شبکه را دارد پروتکل SNMP از UDP و از پورت 161 به منظور Send/Receive ( ارسال/دریافت) و از پورت 162 به منظور حمل و نقل و ردوبدل کردن اطلاعات استفاده میکند.

دوره آموزش MTCRE میکروتیک | Mikrotik MTCRE | بصورت گام به گام | مقدماتی تا پیشرفته | بصورت کاملا کارگاهی به شما مسیریابی با روترهای میکروتیک را به خوبی آموزش می دهد. دوره MTCRE میکروتیک دومین سطح دوره های آموزشی میکروتیک به حساب می آیند و این دوره مکمل دوره آموزشی MTCNA میکروتیک می باشد. شما بعد از یادگیری این دوره MTCRE تبدیل به یک مهندس مسیریابی در میکروتیک خواهید شد.

سرفصل های این مطلب
  1. بررسی اجزای پروتکل SNMP
  2. پیاده سازی SNMPv3 در میکروتیک

بررسی اجزای پروتکل SNMP

  1. بررسی قسمت Managed Device : به دستگاه ویا Host که تحت مدیریت از طریق پروتکل SNMP می باشد و پروتکل SNMP بر روی آن فعال است گفته میشود
  2. بررسی قسمت SNMP Manager : به یک یا چندین دیوایس گفته میشود که وظیفه مانیتورینگ و دریافت اطلاعات را دارند که به اصطلاح به آن ها سرور مانیتورینگ نیز گفته میشود
  3. بررسی قسمت SNMP Agent : به منظور کنترل و مانیتور دیوایس‌های مدنظر خود می‌بایست بر روی آن ها یک SNMP Agent نصب شود, از این رو با دادن دسترسی های مختلف همانند Write علاوه بر امکان مشاهده و مانیتورینگ دیوایس‌هایتان, امکان ادیت تنظیمات local سیستم های تحت مانیتور از طریق SNMP Manager وجود دارد
  4. بررسی قسمت Management Information Base : مجموعه اطلاعات و Object های یک سیستم تحت مانیتور که اطلاعات مورد نیاز SNMP Manager به منظور مدیریت و مانیتورینگ سیستم را در اختیارش قرار می دهد زمانی که SNMP Manager درخواست اطلاعات از آن سیستم کند، این اطلاعات را از MIB بازیابی و به سمت آن ارسال می کند‌. از این رو پروتکل SNMPv3 آخرین ورژن و جدید ورژن پروتکل SNMP می‌باشد

پیاده سازی SNMPv3 در میکروتیک

فعال سازی پروتکل SNMP بر روی روتر میکروتیک

[tosinso@MikroTik] > snmp set enabled=yes

اضافه کردن یک contact یک مکان

[tosinso@MikroTik] > snmp set contact="test "
[tosinso@MikroTik] > snmp set location="Universe 10 - Datacenter"

ایجاد یک UserName و Password

[tosinso@MikroTik] > snmp community add name=snmptest authentication-protocol=SHA1 authentication-password=tosinso encryption-protocol=AES encryption-password=tosinsoen
Authentication password: tosinso
Authentication protocol: SHA1
Encryption password: tosinsoen
Encryption protocol: AES

به منظور تست موفقیت آمیز پیاده سازی SNMPv3 بر روی میکروتیک میتوانید از ابزار snmpwalk استفاده کنید

┌─[root@tosinso]─[~]
└──╼ #snmpwalk -v 3 -u goku -l authPriv -a SHA -A tosinso -x AES -X tosinsoen 192.168.43.20

نکته: برای ویندوز از ابزار SNMP Tester Paessler استفاده کنید

۰ ۰

طراحی Subnetting چگونه است؟ معمار سابنتینگ شوید

 

سابنتینگ (Subnetting) چیست؟

در شبکه های کامپیوتری کلاس های آی پی وجود دارد با نام های A, B و C که در واقع یک نوع معماری آدرس دهی به تجهیزات شبکه می باشد که از سال 1981 تا زمان معرفی Classless Inter-Domain Routing در سال 1993 کاربرد داشت. در جدول ذیل اطلاعات کامل تری از این نوع آدرس دهی مشاهده می نمایید:

Num of Networks Hosts per Network ID Subnet Mask IP Range First Binary Octed Firts Decimal Octed Class
126 16,777,214 255.0.0.0 127.255.255.255 - 0.0.0.0 0XXXXXXX 127 - 0 Class A
16,382 65,534 255.255.0.0 191-255.255.255 - 128.0.0.0 10XXXXXX 191 - 128 Class B
2,097,150 254 255.255.255.0 223.255.255.255 - 192.0.0.0 110XXXXX 223 - 192 Class C

سابنت (Subnet) یک زیرشبکه یا (Sub-Network) از شبکه ها است که زیر کلاس های A, B و C قرار می گیرد.
برای مثال، 172.16.0.0/16 یک شبکه کلاس B می باشد. این نتورک با توجه به این که 65536 آی پی در آن وجود دارد می توان گفت که یک شبکه خیلی بزرگ است و استفاده از این شبکه برای یک شرکت کوچک با 6 دستگاه متصل به شبکه کار اشتباهی است.

حال به جای اینکه از این تکه بزرگ از کل آی پی های موجود برای یک شبکه کوچک استفاده کنیم، از یک قسمت کوچک تر آن بهره برداری می کنیم. برای مثال 172.16.3.0/24 یک سابنت Subnet از کلاس B می باشد که تعداد کمتری از آی پی ها را استفاده کرده است به همین دلیل به آن "زیر-شبکه" یا “Sub-Net” می گویند.

بیشتر بخوانید: دوره آموزشی CCNP Enterprise + گواهینامه

خب حالا بذارید ببینیم که دلیل این کار چیه؟ به توپولوژی زیر نگاه کنید:

در توپولوژی فوق شبکه کوچک یک شرکت را می بینید که یک روتر مرکزی (Core Router) به همراه 3 سوییچ دارد که هر سوییچ نشان دهنده یک شعبه از آن شرکت است. به هر یک از سوییچ ها و روتر های این مجموعه یک نتورک کلاس C اختصاص داده شده است که هیچ مشکلی از لحاظ فنی ندارد. اما چرا این طراحی اشتباه می باشد؟

  1. کلاس آی پی C یک کلاس محدود است که می توانیم از بین 192.168.0.0/24 تا 192.168.255.0/24 استفاده کنیم. خب اگر این شرکت توسعه پیدا کند و تعداد دفاتر این شرکت به بیشتر از 256 شعبه افزایش پیدا کند چه؟ با توجه به این معماری آی پی دهی، باید کل شبکه را از ابتدا تغییر داد تا با سناریو جدید هم خوانی پیدا کند.
  2. لینک بین روتر ها و سوییچ ها لینک های Point-to-Point برقرار شده است پس تنها به 2 آدرس آی پی نیاز داریم. زمانی که برای چنین لینکی یک سابنت /24 را استفاده می کنیم، عملا 252 آی پی را هدر می دهیم. هم چنین برای شعبه ای که می دانیم 2 کامپیوتر دارد و در شلوغ ترین حالت ممکن است 50 تجهیز در آن شعبه قرار بگیرد، استفاده از سابنت /24 در اینجا نیز اشتباه است و سبب به هدر رفتن منابع آی پی می شود و یا حتی اگر جایی که می دانیم ممکن است تعداد تجهیزات به بیش از 254 آی پی ارتقاء پیدا کند، استفاده از این سابنت نیز کار اشتباهی است. البته این نوع آدرس دهی در سابنت های Private مشکلی برای ما ایجاد نمی کند اما زمانیکه این روش آی پی دهی با استفاده از آی پی های Public پیاده سازی شود، مشکل های زیادی بوجود خواهد آمد. از هزینه بالای آن تا محدودیت شدید تعداد آی پی های Valid می تواند مشکل های ما باشد.

حال می توان برای رفع مشکل محدودیت آی پی ها از کلاس B یا A مانند 172.16.0.0/24 الی 172.31.255.0/24 که یک نتورک در سابنت B است استفاده کرد اما باز هم استفاده از سابنت /24 کار اشتباهی است. چرا که همچنان تعداد آی پی زیادی را هدر می دهیم.

زمانیکه در مورد سابنتینگ صحبت می کنیم، می بایست به دو چیز توجه کنیم:

  • طراحی: همانند مثال بالا، شما باید به تعداد سابنت هایی که نیاز دارید فکر کنید. برای مثال اگر در توپولوژی فوق یک روتر دیگر اضافه کنیم چه سابنت هایی را باید استفاده کنیم؟ اگه تعدادی Sub-Interface روی روتر مرکزی ایجاد کنیم چطور؟ چه سابنت هایی برای این Sub-Interface ها استفاده خواهید کرد؟ شما باید ابتدا به این موارد فکر کنید و سپس اقدام به طراحی معماری آی پی دهی سازمان خود نمایید.
  • محاسبات: در مثال بالا ما از یک سابنت /24 برای تمامی لینک ها استفاده کردیم که روش ساده اما غیر معقولی است. برای لینک های P2P استفاده از تنها 2 آی پی کافی است. این محاسبات را می توانید با استفاده از ابزار های آنلاین مانند این سایت انجام دهید.

حال برای اینکه درک بهتری از نحوه طراحی معماری یک شبکه داشته باشیم، بیایید با هم دیگر توپولوژی فوق را از ابتدا طراحی کنیم.

بیشتر بخوانید: آموزش مسیریابی یا IP Routing

طراحی سابنت

به توپولوژی زیر نگاه کنید:

برای طراحی معماری آی پی دهی توپولوژی فوق باید چند سوال از خودمان بپرسیم:

  • چه تعداد سابنت برای اتصال روتر ها و سوییچ هایمان نیاز داریم؟
  • چه تعدا VLAN برای هر سوییچ نیاز داریم؟
  • چه تعداد Host به هر سوییچ متصل خواهند شد؟
  • چه میزان رشدی را برای شبکه مان پیش بینی می کنیم؟

برای مثال فرض کنیم که جواب سوال هایمان به این شرح می باشد:

  • برای اتصال روتر به سوییچ ها تعداد 3 سابنت نیاز خواهیم داشت.
  • سوییچ 1 به دو VLAN نیاز دارد که هر VLAN به 100 کاربر سرویس خواهد داد
  • سوییچ 2 به چهار VLAN نیاز دارد که هر VLAN به 30 کاربر سرویس خواهد داد
  • سوییچ 3 به سه VLAN نیاز دارد که هر VLAN به 20 کاربر سرویس خواهد داد

انتظار ما از رشد این شبکه به این صورت است که امکان می دهیم که تعداد VLAN ها و کاربرانمان در آینده دو برابر افزایش خواهند داشت و همچنین 2 شعبه دیگر به این شبکه افزوده خواهد شد. حال چه کنیم؟

1. سابنت تک سایز

بزرگترین VLAN ای که داریم تعداد 100 کاربر را پشتیبانی خواهد نمود که انتظار داریم این تعداد در آینده دو برابر بشود که بنابراین به یک سابنت با 200 آی پی نیاز داریم. اما نزدیک ترین سابنت قانونی که به 200 آی پی وجود دارد سابنت /24 می باشد. طراحی شبکه ما باید چیزی شبیه به توپولوژی ذیل باشد:

در تصویر فوق ما برای VLAN هر شعبه یک سابنت /24 استفاده کردیم. اما چرا؟

اگر شبکه فوق را یک شبکه Enterprise در نظر بگیریم، به احتمال قریب به یقین از آی پی های Private در LAN این شبکه استفاده خواهد شد. بعضی از VLAN های مورد نیاز ما با احتساب گسترش آن به 40 عدد آی پی آدرس نیاز دارد که ما می توانستیم از سابنت های کوچکتر مانند /26 استفاده کنیم اما به دلایل ذیل این کار را انجام ندادیم.

ابتدا باید عنوان کرد که استفاده از سابنت /24 به مراتب راحت تر از خرد کردن این سابنت می باشد و استفاده از یک سابنت ثابت در همه جا شبکه را ساده تر می کند. افراد با سابنت /24 آشنایی بیشتری نسبت به سایر سابنت ها دارند. اولین آی پی این رنج .1 می باشد و آخرین آی پی این رنج .254 که یکی از این دو می تواند بعنوان دیفالت گیتوی (Default Gateway) استفاده شود.

بیشتر بخوانید: جامع ترین آموزش پروتکل BGP در تجهیزات Cisco, Mikrotik و Juniper

کلاسی که استفاده کردیم امکان استفاده از تعداد زیادی آی پی را به ما خواهد داد پس نگران کمبود آی پی در این شبکه نیستیم. ما همچنین در اینجا مقدار زیادی سابنت را بین هر شعبه خالی گذاشته ایم. برای مثال سوییچ 1 می تواند از سه VLAN موجود خود فراتر رفته و از سابنت های 172.16.0.0 – 172.16.9.255 استفاده نماید.

تنها مورد استثنا در اینجا لینک های بین روتر و سوییچ ها است که با توجه به اینکه به تنها 2 آی پی آدرس نیاز داریم، تصمیم گرفتیم که از سابنت /30 و همچنین رنج 172.16.100.0 استفاده کنیم.

2. سابنت چند سایز

حالا اگه فرض کنیم همون شبکه مربوط به یک شرکت ساده نبوده و این شرکت یک سرویس پروایدر اینترنت بوده که می بایست آی پی های Valid خودش رو مدیریت کند و بین مشترکینش به اشتراک بگذارد؟ اگر اینجا با مشکل کمبود آی پی آدرس مواجه باشیم دیگر مانند معماری "سابنت تک سایز" نمی توانیم دست و دل باز باشیم و باید با مدیریت صحیح، آی پی ها را بین مشترکین تقسیم کنیم. در این جا سناریو خود را بر این طرح میگذاریم که روتر R1 نقطه مرکزی شرکت ما می باشد و همچنین سوییچ های SW1, SW2, SW3 همگی سایت های شرکت ما در نقاط مختلف شهر می باشد.

بگذارید مجددا به سوال هایی که در قسمت قبل پرسیده شد پاسخ دهیم و معماری خود را بر آن اساس طراحی کنیم:

  • روتر R1 به چهار Sub-Interface که هر Sub-Interface از 100 سرور پشتیبانی می کند نیاز دارد.
  • سوییچ SW1 به دو VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 10 سرور دارد.
  • سوییچ SW2 به سه VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 30 سرور دارد.
  • سوییچ SW3 به دو VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 20 سرور دارد.

در نظر بگیریم که تعداد سایت ها، VLAN ها و همچنین سرور ها در آینده رشد 2 برابری خواهند داشت. پس می بایست برنامه ریزی و محاسبات خود را برای سابنتینگ توپولوژی ای به این شرح انجام دهیم:

  • روتر R1 به هشت Sub-Interface که هر Sub-Interface از 200 سرور پشتیبانی می کند نیاز دارد.
  • سوییچ SW1 به چهار VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 20 سرور دارد.
  • سوییچ SW2 به شش VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 60 سرور دارد.
  • سوییچ SW3 به چهار VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 40 سرور دارد.
  • سابنت های احتمالی برای سایت هایی که در آینده به شرکت ما اضافه خواهند شد.

پس از بررسی ها و محاسبات برای سابنتینگ Subnetting این شبکه، توپولوژی ما به این صورت خواهد بود:

 

بگذارید شرح دلایلی که این نوع سابنت گذاری را در توپولوژی فوق انتخاب کردیم ذکر کنم:

  • Sub-Interface های روتر R1 هر یک 200 سرور خواهند داشت که کوچک ترین سابنتی که این تعداد آی پی را در خود جا می دهد، سابنت /24 می باشد و 254 عدد آی پی قابل استفاده دارد.
  • VLAN های سوییچ SW2 به 60 سرور متصل خواهند شد که کوچکترین سابنت در بر گیرنده این تعداد آی پی سابنت /26 خواهد بود که تعداد 62 آی پی قابل استفاده خواهد داشت.
  • VLAN های سوییچ SW1 به 20 سرور سرویس دهی خواهند کرد که کوچکترین سابنت در بر گیرنده این تعداد آی پی، سابنت /27 خواهد بود که 30 آی پی قابل استفاده خواهد داشت.
  • VLAN های سوییچ SW3 نیز به 40 سرور سرور متصل خواهند شد که کوچکترین سابنت در بر گیرنده این تعداد آی پی سابنت /26 خواهد بود که تعداد 62 آی پی قابل استفاده خواهد داشت.
  • برای لینک های Point-to-Point بین سوییچ و روتر ها به دو عدد آی پی نیاز داریم که سابنت /30 می تواند این نیاز را بر آورده کند. اما این رنج را از 92.61.30.0 شروع کردیم چرا که آی پی های سایت ها از رنج 92.61.0.0 – 92.61.11.255 استفاده کرده بودند که با احتساب دو برابر شدن تعداد سایت ها ما به سابنت های 92.61.0.0 – 92.61.22.255 نیاز خواهیم داشت و فقط برای باز ماندن دستمان در شرایط اضطراری، فاصله بین رنج 92.61.23.0 تا 92.61.29.255 را خالی گذاشتیم.

در نظر داشته باشید این تنها یک مثال می باشد اما یک ایده ای از مواردی که نیاز دارید تا در طراحی سابنتینگ به آن توجه داشته باشید به شما می دهد.

۰ ۰

آموزش رفع مشکل امنیتی میکروتیک و تبدیل شدن به بات نت به زبان ساده

 

چگونه از هک شدن روتربورد میکروتیک جلوگیری کنیم؟ همانطور که اطلاع دارید سیستم‌عامل میکروتیک ( Mikrotik ) در واقع روتریست که با استفاده از هسته لینوکس تولید شده است. جهت برقراری ارتباط با این سیستم عامل و مدیریت آن بصورت گرافیکی از ابزار winbox استفاده می شود. احیرا آسیب پذیری در این ابزار شناسایی شده که به هکر اجازه می دهد از طریق پورت 8291 که مختص winbox است اقدام به شناسایی سرورهای میکروتیک می کند و در نهایت با استفاده و بهره برداری از پورت 80 امکان اکسپلویت برای بات نت را فراهم می کند.در توضیح بات نت همین مقدار بسنده می کنم که بات نت شبکه ای دستگاه های آلوده شده هستند (بات) که تحت کنترل یک مرکز کنترل اقدام به حملات خرابکارانه از قبیل ddos و یا ماینینگ می کنند.

برای یادگیری بیشتر مفاهیمم یکروتیک شرکت در دوره آموزشی MTCNA میکروتیک ،وقبل آن ترجیحا یادگیری دوره آموزش نتورک پلاس پیشنهاد میشود.

نحوه رفع مشکل

راهکار دائم : بهره برداری از آخرین نسخه سیستم عامل roter os میکروتیک یعنی نسخه 6.38.5

راهکار دائم: آپدیت نسخه Mikrotik

  • اتصال به سرور از طریق Winbox
  • انتخاب گزینهPackages در منو System
  • کلیک بر روی گزینه Check for Updates در صفحه Package List
  • مشاهده نسخه فعلی و آخرین آپدیت موجود
  • بر روی گزینه Download و Download&Install کلیک نمایید.
  • پس از دانلود و ارتقای سرور نیاز است یکبار نسبت به reboot آن اقدام نمایید تا تغییرات اعمال گردد.

راهکار موقت: غیرفعال نمودن www در بخش IP service

وب سایت توسینسو
۰ ۰

ARP Spoofing چیست و چگونه صورت می‌گیرد؟

 

شاید شماهم شنیده باشید که میگن از وای فای های موجود در مکان های عمومی استفاده نکنید و احتمالا این کار رو هم انجام نمی‌دادید. اما قضیه چیه و چرا این کار میتونه خطرساز بشه؟!

خب همونجور که از عنوان مقاله پیداست میتونید حدس بزنید که بخاطر ARP Spoofing این کار میتونه خطرساز باشه ولی خب ARP Spoofing چیه؟! یک قطعس؟! یک برنامس؟! یا شایدهم یک هکر 13 ساله چینی!! البته که آخری یک شوخی بی مزه بود.

برای اینکه بخواهیم ادامه مطلب رو توضیح بدیم ابتدا به نظرم اگر یک دید کلی از موضوع داشته باشید به شدت مفید خواهد بود و به شما این امکان رو خواهد داد که فقط تا جایی که تمایل دارید در این مطب عمیق شوید. زیرا شاید شما یک خواننده کنجکاو باشید که فقط می‌خواهید بدانید در صورت استفاده از وای فای در مکان های عمومی چه چیزی می‌تواند خطرساز باشد و چه بلایی می‌تواند بر سر اطلاعاتتان بیاید و یا شایدهم یک دانشجوی رشته کامپیوتر هستید که می‌خواهید کمی عمیق تر درمورد شبکه و کارکرد آن بدانید.

 

 

یک دید کلی از مسئله موجود:

سناریو اول: (وقتی همه چیز آرام است.)

 

در این سناریو اگر کامپیوترهای موجود در تصویر، همان اشخاص متصل به اینترنت از طریق یک مودم مشترک باشند، قضیه به این صورت است که هر کامپیوتر برای برقراری ارتباط با اینترنت بسته های خود را به مودم تحویل می‌دهند و مودم بسته ها را در بستر اینترنت ارسال می‌کند و جواب آن بسته ها را به کامپیوتر مورد نظر بر می‌گرداند. زیبا نیست؟! همه چیز به درستی کار خود را انجام خواهند داد و شما قادر هستید از این طریق پول های خودتان را از حسابی به حساب دیگر منتقل کنید یا وارد صفحه وبسایت دانشگاهتان شوید و در آن لاگین کنید و نمراتتان را چک کنید و هزاران کار دیگر که امروزه با اینترنت قادر به انجام آن ها هستیم. اما شبکه همیشه به این زیبایی کار نخواهد کرد و اشخاصی وجود خواهند داشت که مانع کارکرد درست یک شبکه شوند.

سناریو دوم: (وقتی همه چیز آرام نیست.)

 

حال این سناریو را با وجود فردی در شبکه که چیزهایی از شبکه ها و کارکرد آن ها می‌داند بررسی می‌کنم. فرض کنید کامپیوتر B در سناریو اول جای خود را به یک هکر می‌دهد. هکر با چیز هایی که از شبکه می‌داند خود را به جای مودم جا میزند و تمام پیام هارا به سمت خود می‌کشاند. آیا چنین کاری شدنی است؟! بله!! هکر تمام پیام هارا به سمت خود می‌کشاند و می‌تواند یک به یک پیام هارا بخواند (البته در اکثر موارد نمیتواند که در سناریو بعد توضیح خواهیم داد.) و بعد از خواندن پیام ها، پیام هارا جهت ارسال به اینترنت به مودم ارسال می‌کند و جواب هارا از مودم می‌گیرد و یک به یک به صاحبانشان تحویل می‌‎دهد. عجب خر تو خری است؟! دقیقا. آیا شما وقتی درحال لاگین به صفحه دانشگاهتان هستید می‌توانید متوجه شوید که این پیام های ارسالی و دریافتی به دستان شخص سومی هم رسیده و خوانده شده است؟! پیام هایی که از اتفاق رمز عبور و نام کاربری شماهم درون آن قرار داشته است؟! عمرا متوجه شوید!! شبکه به ظاهر آرام است و به کار خود ادامه می‌دهد ولی چیزی در این بین اشتباه است و آن شنودِ (همان Sniff خودمان در دنیای کامپیوتر) ارتباط شما توسط شخص سوم است. آیا شبکه همیشه همینقدر خطرناک است؟! بله. پس دیگر از اینترنت برای کارهای حیاطی خود استفاده نکینم؟! بیاید به سناریو سوم تا بهتون بگم هک و امنیت چجوری با یکدیگر به پیش می‌روند و چقدر پیشرفت هرکدام وابسته به پیشرفت دیگری است. به عبارت دیگر، اگر روشی برای هک پیدا شود، اشخاصی هستند که راه حلی بیابند و جلوی آن را بگیرند (معمولا با آپدیت ها این مشکلات امنیتی برطرف خواهند شد.) و اگر روشی برای هک وجود نداشته باشد، بازهم افراد خلاق و پیگیری پیدا خواهند شد که راهی برای نفوذ پیدا کنند. و این دو قطبی هک و امنیت مدام در حال رشد است.

سناریو سوم: (وقتی همه چیز آرام نیست ولی جای امیدواری هست.)

 

حال این سناریو که همانند سناریو دوم (سناریو بالایی) است را در نظر بگیرید. با این تفاوت که اینبار، اشخاص پیام های خود را با کلیدی که کپی همان کلید را بانک و دانشگاه در اختیار دارند قفل می‌‎کنند. حال چه اتفاقی رخ می‌دهد؟! اجازه دهید پیام های شخص سبز رنگ (computer B) در شکل را دنبال کنیم تا به صورت صحیح درک کنیم که چرا این شبکه درحالی که شنود می‌شود ولی همچنان امن است.

فرض کنید شخص مو فرفری و سبز رنگ داستان ما می‌خواهد در صفحه دانشگاهی خود لاگین کند و برای این کار یک پیام حاوی نام کاربری و رمز عبور را برروی شبکه و برای دانشگاه ارسال می‌کند. اما قبل از ارسال با یک کلید که کپی همان کلید را دانشگاه در اختیار دارد پیغام خود را قفل می‌کند. پیغام در مرحله اول به هکر بد طینت ما می‌رسد (در واقع اول به مودم می‌رسد ولی شما برای راحت تر شدن توضیح مسئله از من بپذیرید که به دست هکر می‌رسد.). هکر می‌خواهد داخل نامه را بخواند اما ای دریغا به برش که برروی نامه قفل بزرگی قرار دارد و هکر قادر به خواندن آن نیست. در این مرحله هکر چشمش کور می‌شود و نامه را جهت رسیدن به دانشگاه به مودم ارسال می‌کند (چون اگر این کار را انجام ندهد شبکه درست کار نمی‌کند و شما متوجه خواهید شد که جایی از کار میلنگد). مودم نامه را به اینترنت می‌دهد و اینترنت آن را به مقصد خود یعنی دانشگاه می‌رساند. دانشگاه به وسیله کلید خود قفل را باز می‌کند و عملیات های مورد نیاز را انجام می‌دهد و نامه ای که درون آن اجازه ورود به صفحه پرتال دانشگاه است را ایجاد می‌کند. دانشگاه به وسیله همان کلید نامه را قفل می‌کند و ارسال می‌کند. نامه مسیر بازگشت خود را طی می‌کند و به دست هکر می‌رسد، هکر بازهم قفلی بزرگ برروی نامه می‌بیند و از فرط ناراحتی هودی خود را جر می‌دهد، فریاد می‌کشد، قهوه را بر صورت خود می‌پاشد و نامه را به صاحب آن یعنی کامپیوتر B می‌رساند. کامپیوتر B نامه را دریافت می‌کند و با کلید خود آن را باز می‌کند. آنجاست که هکر متوجه موضوعی می‌‍شود. بله بله!!! شبکه ما مجهز به TLS شده است.

ما چجوری پیام هامون رو قفل کنیم؟!

حقیقت این است که اگر ما فقط یک کاربر ساده باشیم که از یک وبسایت و یا یک نرم افزار تحت شبکه استفاده می‌‎کنیم، این وظیفه ما نیست که پیام های خودمان را رمزگذاری کنیم و این کار وظیفه وبسایت و یا نرم افزار هاییست که ما به آن ها مراجعه می‌کنیم و به ما خدمات می‌دهند.

ولی آیا میتوان فهمید کدام وبسایت ها از TLS استفاده می‌کنند و این ارتباط امن را در اختیار ما قرار می‌دهند؟! بله. امروزه صفحاتی که از TLS استفاده نمی‌کنند بسیار کم هستند از این رو آیکون "قفل" بالای صفحات وبسایت برای ما موضوعی جا افتاده است و به چشمانمان آشناست. به بالای همین مقاله، جایی که آدرس ویرگول قرار دارد توجه کنید. در ابتدای این آدرس یک قفل می‌بینید؟! بله؟! معنای آن این است که ارتباط شما امن است و شما می‌توانید با خیال راحت از وبسایت ویرگول در هر مکانی استفاده کنید و خیالتان راحت باشد که هکری در بین راه در حال شنود کردن ارتباط شما نیست و یا اگر درحال شنود باشد، راهی از پیش نخواهد برد زیرا ارتباط ما رمزگذاری شده است.

 

خب تا اینجای مطلب برای آن ها بود که تنها یک دید کلی از موضوع می‌خواستند و فقط می‌خواستند از خطرات هک در امان باشند. ولی اگر شما جزو آن دسته از افراد هستید که می‌خواهید موضوع را کمی عمیق تر دنبال کنید و بدانید از لحاظ فنی این کار چگونه صورت می‌گیرد ادامه مطلب را دنبال کنید و اگر مایل به این موضوع نیستید از شما متشکر هستم که مطالب این جانب را می‌خواندی و اشکالاتش را به طریقی به بنده اطلاع می‌دهید. چراغ ها خاموش می‌شود و کسانی که مایل به ادامه دادن نیستند می‌تواند بدون ذره ای شرمساری مطلب را رها کنند.


مسئله از بعد فنی آن:

اجازه دهید کمی عمیق تر شویم و مسئله را فنی تر بررسی کنیم.

پیام ها در یک شبکه خصوصی (private) بر چه اساسی مسیریابی می‌شوند؟ IP ها؟! نام دیوایس های؟! بر اساس شماره‌ی اتصالشان؟! خیر هیچکدام. مسیریابی در شبکه خصوصی (private) یا همان شبکه محلیمان براساس آدرس های MAC صورت می‌گیرد. هر دیوایس برای خود یک جدولی تشکلی می‌دهد به نام ARP Table که در آن جدول، پارامترهای مختلفی نگهداری می‌شود. اما دوتا از مهم ترین پارامترهایی که در این قسمت برای ما مهم است، آدرس IP و آدرس MAC هست.

برای دیدن این جدول در ویندوز می‌توانید وارد CMD ویندوز شوید و دستور arp -a را وارد کنید. نمونه ای از این جدول را در تصویر زیر میتوانید مشاهده کنید. که ابتدا آدرس IP و روبروی آن آدرس MAC مربوطه ذخیره شده است.

 

این جدول چگونه ساخته می‌شود؟!

خب سوال درست و به موقع این است که "این جدول چگونه ساخته می‌شود؟". جواب سوال ساده است. دیوایس ها برای ارسال پیام به فلان IP در جدول MAC خود به دنبال IP مورد نظر می‌گردند و درصورت پیدا نکردن آن یک پیغام arp را برای تمام شبکه broadcast می‌کنند و از تمام شبکه می‌خواهند اگر کسی فلان IP را می‌شناسد، آدرس MAC آن را برایش ارسال کنند. و اگر دیوایسی در شبکه آن را بشناسد، آدرس MAC آن را برای درخواست کننده ارسال می‌کند. درخواست کننده MAC مورد نظر را دریافت می‌کند و آن را وارد جدول MAC خود می‌کند و بعد از آن، زمانی که می‌خواهد برای IP مورد نظر پیغامی بفرستد از همان MAC ذخیره شده در جدول ARP استفاده میکند.

چیز به ذهنتون رسید؟! نه؟! خب چرا ما خودمون رو به جای مودم جا نزنیم؟! چرا به تمام دیوایس ها یک پیغام arp نفرستیم و مدعی نشیم آدرس MAC دیواس ما برابر است با IP مودم؟! IP مودم چیست؟! در اکثر موارد 192.168.1.1. بله بله!! ما میتوانیم این کار را انجام دهیم و ترافیک شبکیمان را از خود عبور دهیم!! جالب نیست؟! به نظر من که زندگی یعنی همین.

مسئله از بعد عملی:

خب سوال اساسی اینجاست که ما تمام این کارهای پیچیده شبکه ای را به چه صورتی انجام دهیم؟! و جواب اینه که خوشبختانه برای تمام این چیزها که گفته شد ابزارهای مناسبی ساخته شده که به رایگان در اختیار ما قرار دارند.

مواد لازم:

  • لینوکس (چه بهتر که کالی لینوکس استفاده شود زیرا تمام ابزارهای تست امنیت را در بر دارد و نیاز نیست تمام این هارا دوباره نصب کنیم.)
  • پکیج نرم افزاری dsniff جهت ایجاد پکت های arp در شبکه
  • نرم افزار wireshark برای انجام شنود و دیدن بسته های ارسال و دریافت شده

نکته: در این آموزش فرض شده است که کامپیوتری که می‌خواهیم به آن حمله ARP Spoofing انجام دهیم دارای آدرس آی پی 192.168.1.11 است و مودم ما دارای آدرس آی پی 192.168.1.1 است.

خب ابتدا باید ما به عنوان شخص سوم (هکر) پکت های ARP خود را برروی شبکه منتشر کنیم و آدرس MAC خود را به جای آدرس MAC مودم به شخصی که می‌خواهیم به آن حمله کنیم، قالب کنیم. برای این کار از دستور زیر استفاده میکنیم.

sudo arpspoof -i eth0 -t 192.168.1.11 192.168.1.1

در این دستور با سوئیچ i میگوییم که ما این حلمه را از طریق اینترفیس eth0 خود انجام می‌دهیم و از طریق سوئیچ t مشخص می‌کنیم که target (هدف) ما برای حمله آدرس آی پی 192.168.1.11 است و می‌خواهیم خود را به جای آدرس آی پی 192.168.1.1 (آدرس آی پی مودممان) جا بزنیم تا از این به بعد آدرس آی پی 192.168.1.11 به جای ارسال بسته هایش به مودم برای اتصال به اینترنت، ترافیکش را از ما عبور دهد. به همین راحتی!!! الان ما در بین راه به شنود پیام های ارسالی و دریافتی آدرس آی پی 192.168.1.11 نشسته ایم.

تا اینجای کار آدرس آی پی 192.168.1.11 تمام بسته هایش را برای ما ارسال خواهد کرد و اگر همین الان برای مراجعه به یک وبسایت برروی کامپیوتر مورد حمله قرار گرفته شده تلاش کنید متوجه خواهید شد که به ظاهر اینترنت کامپیوتر مقابل قطع است و هیچ کاری انجام نمی‌دهد. زیرا کامپیوتر مورد حمله بسته های خود را برای ما ارسال می‌کند ولی ما آن بسته هارا دور میریزیم؛ ولی قرار بود ما این بسته هارا بخوانیم و بعد آن هارا تحویل مودم دهیم تا آب از آب تکان نخورد!! برای این کار در لینوکس باید حالت روتر را فعال کنیم که لینوکس کار مسیریابی را انجام دهد و بسته هارا به مقاصد درست خود برساند. برای این کار از دستور زیر استفاده می‌کنیم و حالت روتر لینوکس خود را فعال می‌کنم.

sudo echo 1 >/proc/sys/net/ipv4/ip_forward

حالا همه چیز آماده است و شما میتوانید تمامی ترافیک ارسالی از کامپیوتر مورد حمله را به وسیله نرم افزار wireshark شنود کنید.

نرم افزار wireshark را اجرا کنید.

 

برروی شبکه eth0 خود کلیک کنید تا بتوانید تمام بسته هایی که از این انترفیس عبور می‌کند را مشاهده کنید.

اما ما نیازی به تمامی پکت های ارسالی و دریافتی برروی اینترفیس eth 0 نداریم و باید تمام پکت هایی که از طرف 192.168.1.11 است را مورد بررسی قرار دهیم.

 

برای این کار در قسمت فیلتر کردن پکت ها مقدار ip.addr==192.168.1.11 را تایپ می‌کنیم تا فقط و فقط بسته هایی از این آدرس آی پی برای ما نمایش داده شود.

حالا شما شاهد تمامی پکت های ارسالی و دریافتی توسط کامپیوتر 192.168.1.11 هستید و به یاد داشته باشید که اگر کامپیوتر مورد نظر به سایت هایی که از TLS استفاده می‌کند سر بزند شما قادر به خواندن محتوای آن نیستید!!

 

دوره آموزش وایرشارک | Wireshark به شما بصورت مقدماتی تا پیشرفته ابزار وایرشارک را آموزش می دهد. در این دوره آموزشی شما از نصب اولیه این ابزار تا شناخت محیط و شنود و تجزیه و تحلیل ترافیک شبکه با وایرشارک را آموزش می بینید. این دوره آموزشی وایرشارک مناسب افرادی است که قصد دارند مدیریت و نظارت بهتری بر روی شبکه خودشان داشته باشند یا علاقه مند به ورود یا تکمیل مباحث امنیت اطلاعات و هک و تست نفوذ در شبکه هستند.

دوره آموزش وایرشارک | Wireshark مهندس علیزاده یک آموزش شنود شبکه در قالب 14 فیلم آموزشی Wireshark است که به شما بصورت مقدماتی تا پیشرفته ابزار وایرشارک را آموزش می دهد. در این دوره آموزشی شما از نصب اولیه این ابزار تا شناخت محیط و شنود و تجزیه و تحلیل ترافیک شبکه با وایرشارک را آموزش می بینید. این دوره آموزشی وایرشارک مناسب افرادی است که قصد دارند مدیریت و نظارت بهتری بر روی شبکه خودشان داشته باشند یا علاقه مند به ورود یا تکمیل مباحث امنیت اطلاعات و هک و تست نفوذ در شبکه هستند.یادگیری دوره آموزش نتورک پلاس به عنوان پیشنیاز برای ورود به دنیای تحلیل ترافیک شبکه الزامی است.

, آموزش وایرشارک , آموزش Wireshark , آموزش نتورک پلاس , آموزش هک , آموزش CEH , آموزش امنیت شبکه , آموزش Security

 

۰ ۰

طراحی Subnetting چگونه است؟ معمار سابنتینگ شوید!

 

 

سابنتینگ (Subnetting) چیست؟

در شبکه های کامپیوتری کلاس های آی پی وجود دارد با نام های A, B و C که در واقع یک نوع معماری آدرس دهی به تجهیزات شبکه می باشد که از سال 1981 تا زمان معرفی Classless Inter-Domain Routing در سال 1993 کاربرد داشت. در جدول ذیل اطلاعات کامل تری از این نوع آدرس دهی مشاهده می نمایید:

Num of Networks Hosts per Network ID Subnet Mask IP Range First Binary Octed Firts Decimal Octed Class
126 16,777,214 255.0.0.0 127.255.255.255 - 0.0.0.0 0XXXXXXX 127 - 0 Class A
16,382 65,534 255.255.0.0 191-255.255.255 - 128.0.0.0 10XXXXXX 191 - 128 Class B
2,097,150 254 255.255.255.0 223.255.255.255 - 192.0.0.0 110XXXXX 223 - 192 Class C

سابنت (Subnet) یک زیرشبکه یا (Sub-Network) از شبکه ها است که زیر کلاس های A, B و C قرار می گیرد.
برای مثال، 172.16.0.0/16 یک شبکه کلاس B می باشد. این نتورک با توجه به این که 65536 آی پی در آن وجود دارد می توان گفت که یک شبکه خیلی بزرگ است و استفاده از این شبکه برای یک شرکت کوچک با 6 دستگاه متصل به شبکه کار اشتباهی است.

حال به جای اینکه از این تکه بزرگ از کل آی پی های موجود برای یک شبکه کوچک استفاده کنیم، از یک قسمت کوچک تر آن بهره برداری می کنیم. برای مثال 172.16.3.0/24 یک سابنت Subnet از کلاس B می باشد که تعداد کمتری از آی پی ها را استفاده کرده است به همین دلیل به آن "زیر-شبکه" یا “Sub-Net” می گویند.

بیشتر بخوانید: دوره آموزشی CCNP Enterprise + گواهینامه

خب حالا بذارید ببینیم که دلیل این کار چیه؟ به توپولوژی زیر نگاه کنید:

در توپولوژی فوق شبکه کوچک یک شرکت را می بینید که یک روتر مرکزی (Core Router) به همراه 3 سوییچ دارد که هر سوییچ نشان دهنده یک شعبه از آن شرکت است. به هر یک از سوییچ ها و روتر های این مجموعه یک نتورک کلاس C اختصاص داده شده است که هیچ مشکلی از لحاظ فنی ندارد. اما چرا این طراحی اشتباه می باشد؟

  1. کلاس آی پی C یک کلاس محدود است که می توانیم از بین 192.168.0.0/24 تا 192.168.255.0/24 استفاده کنیم. خب اگر این شرکت توسعه پیدا کند و تعداد دفاتر این شرکت به بیشتر از 256 شعبه افزایش پیدا کند چه؟ با توجه به این معماری آی پی دهی، باید کل شبکه را از ابتدا تغییر داد تا با سناریو جدید هم خوانی پیدا کند.
  2. لینک بین روتر ها و سوییچ ها لینک های Point-to-Point برقرار شده است پس تنها به 2 آدرس آی پی نیاز داریم. زمانی که برای چنین لینکی یک سابنت /24 را استفاده می کنیم، عملا 252 آی پی را هدر می دهیم. هم چنین برای شعبه ای که می دانیم 2 کامپیوتر دارد و در شلوغ ترین حالت ممکن است 50 تجهیز در آن شعبه قرار بگیرد، استفاده از سابنت /24 در اینجا نیز اشتباه است و سبب به هدر رفتن منابع آی پی می شود و یا حتی اگر جایی که می دانیم ممکن است تعداد تجهیزات به بیش از 254 آی پی ارتقاء پیدا کند، استفاده از این سابنت نیز کار اشتباهی است. البته این نوع آدرس دهی در سابنت های Private مشکلی برای ما ایجاد نمی کند اما زمانیکه این روش آی پی دهی با استفاده از آی پی های Public پیاده سازی شود، مشکل های زیادی بوجود خواهد آمد. از هزینه بالای آن تا محدودیت شدید تعداد آی پی های Valid می تواند مشکل های ما باشد.

حال می توان برای رفع مشکل محدودیت آی پی ها از کلاس B یا A مانند 172.16.0.0/24 الی 172.31.255.0/24 که یک نتورک در سابنت B است استفاده کرد اما باز هم استفاده از سابنت /24 کار اشتباهی است. چرا که همچنان تعداد آی پی زیادی را هدر می دهیم.

زمانیکه در مورد سابنتینگ صحبت می کنیم، می بایست به دو چیز توجه کنیم:

  • طراحی: همانند مثال بالا، شما باید به تعداد سابنت هایی که نیاز دارید فکر کنید. برای مثال اگر در توپولوژی فوق یک روتر دیگر اضافه کنیم چه سابنت هایی را باید استفاده کنیم؟ اگه تعدادی Sub-Interface روی روتر مرکزی ایجاد کنیم چطور؟ چه سابنت هایی برای این Sub-Interface ها استفاده خواهید کرد؟ شما باید ابتدا به این موارد فکر کنید و سپس اقدام به طراحی معماری آی پی دهی سازمان خود نمایید.
  • محاسبات: در مثال بالا ما از یک سابنت /24 برای تمامی لینک ها استفاده کردیم که روش ساده اما غیر معقولی است. برای لینک های P2P استفاده از تنها 2 آی پی کافی است. این محاسبات را می توانید با استفاده از ابزار های آنلاین مانند این سایت انجام دهید.

حال برای اینکه درک بهتری از نحوه طراحی معماری یک شبکه داشته باشیم، بیایید با هم دیگر توپولوژی فوق را از ابتدا طراحی کنیم.

بیشتر بخوانید: آموزش مسیریابی یا IP Routing

طراحی سابنت

به توپولوژی زیر نگاه کنید:

برای طراحی معماری آی پی دهی توپولوژی فوق باید چند سوال از خودمان بپرسیم:

  • چه تعداد سابنت برای اتصال روتر ها و سوییچ هایمان نیاز داریم؟
  • چه تعدا VLAN برای هر سوییچ نیاز داریم؟
  • چه تعداد Host به هر سوییچ متصل خواهند شد؟
  • چه میزان رشدی را برای شبکه مان پیش بینی می کنیم؟

برای مثال فرض کنیم که جواب سوال هایمان به این شرح می باشد:

  • برای اتصال روتر به سوییچ ها تعداد 3 سابنت نیاز خواهیم داشت.
  • سوییچ 1 به دو VLAN نیاز دارد که هر VLAN به 100 کاربر سرویس خواهد داد
  • سوییچ 2 به چهار VLAN نیاز دارد که هر VLAN به 30 کاربر سرویس خواهد داد
  • سوییچ 3 به سه VLAN نیاز دارد که هر VLAN به 20 کاربر سرویس خواهد داد

انتظار ما از رشد این شبکه به این صورت است که امکان می دهیم که تعداد VLAN ها و کاربرانمان در آینده دو برابر افزایش خواهند داشت و همچنین 2 شعبه دیگر به این شبکه افزوده خواهد شد. حال چه کنیم؟

1. سابنت تک سایز

بزرگترین VLAN ای که داریم تعداد 100 کاربر را پشتیبانی خواهد نمود که انتظار داریم این تعداد در آینده دو برابر بشود که بنابراین به یک سابنت با 200 آی پی نیاز داریم. اما نزدیک ترین سابنت قانونی که به 200 آی پی وجود دارد سابنت /24 می باشد. طراحی شبکه ما باید چیزی شبیه به توپولوژی ذیل باشد:

در تصویر فوق ما برای VLAN هر شعبه یک سابنت /24 استفاده کردیم. اما چرا؟

اگر شبکه فوق را یک شبکه Enterprise در نظر بگیریم، به احتمال قریب به یقین از آی پی های Private در LAN این شبکه استفاده خواهد شد. بعضی از VLAN های مورد نیاز ما با احتساب گسترش آن به 40 عدد آی پی آدرس نیاز دارد که ما می توانستیم از سابنت های کوچکتر مانند /26 استفاده کنیم اما به دلایل ذیل این کار را انجام ندادیم.

ابتدا باید عنوان کرد که استفاده از سابنت /24 به مراتب راحت تر از خرد کردن این سابنت می باشد و استفاده از یک سابنت ثابت در همه جا شبکه را ساده تر می کند. افراد با سابنت /24 آشنایی بیشتری نسبت به سایر سابنت ها دارند. اولین آی پی این رنج .1 می باشد و آخرین آی پی این رنج .254 که یکی از این دو می تواند بعنوان دیفالت گیتوی (Default Gateway) استفاده شود.

بیشتر بخوانید: جامع ترین آموزش پروتکل BGP در تجهیزات Cisco, Mikrotik و Juniper

کلاسی که استفاده کردیم امکان استفاده از تعداد زیادی آی پی را به ما خواهد داد پس نگران کمبود آی پی در این شبکه نیستیم. ما همچنین در اینجا مقدار زیادی سابنت را بین هر شعبه خالی گذاشته ایم. برای مثال سوییچ 1 می تواند از سه VLAN موجود خود فراتر رفته و از سابنت های 172.16.0.0 – 172.16.9.255 استفاده نماید.

تنها مورد استثنا در اینجا لینک های بین روتر و سوییچ ها است که با توجه به اینکه به تنها 2 آی پی آدرس نیاز داریم، تصمیم گرفتیم که از سابنت /30 و همچنین رنج 172.16.100.0 استفاده کنیم.

2. سابنت چند سایز

حالا اگه فرض کنیم همون شبکه مربوط به یک شرکت ساده نبوده و این شرکت یک سرویس پروایدر اینترنت بوده که می بایست آی پی های Valid خودش رو مدیریت کند و بین مشترکینش به اشتراک بگذارد؟ اگر اینجا با مشکل کمبود آی پی آدرس مواجه باشیم دیگر مانند معماری "سابنت تک سایز" نمی توانیم دست و دل باز باشیم و باید با مدیریت صحیح، آی پی ها را بین مشترکین تقسیم کنیم. در این جا سناریو خود را بر این طرح میگذاریم که روتر R1 نقطه مرکزی شرکت ما می باشد و همچنین سوییچ های SW1, SW2, SW3 همگی سایت های شرکت ما در نقاط مختلف شهر می باشد.

بگذارید مجددا به سوال هایی که در قسمت قبل پرسیده شد پاسخ دهیم و معماری خود را بر آن اساس طراحی کنیم:

  • روتر R1 به چهار Sub-Interface که هر Sub-Interface از 100 سرور پشتیبانی می کند نیاز دارد.
  • سوییچ SW1 به دو VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 10 سرور دارد.
  • سوییچ SW2 به سه VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 30 سرور دارد.
  • سوییچ SW3 به دو VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 20 سرور دارد.

در نظر بگیریم که تعداد سایت ها، VLAN ها و همچنین سرور ها در آینده رشد 2 برابری خواهند داشت. پس می بایست برنامه ریزی و محاسبات خود را برای سابنتینگ توپولوژی ای به این شرح انجام دهیم:

  • روتر R1 به هشت Sub-Interface که هر Sub-Interface از 200 سرور پشتیبانی می کند نیاز دارد.
  • سوییچ SW1 به چهار VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 20 سرور دارد.
  • سوییچ SW2 به شش VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 60 سرور دارد.
  • سوییچ SW3 به چهار VLAN که هر VLAN مربوط به یک مشتری است و هر مشتری 40 سرور دارد.
  • سابنت های احتمالی برای سایت هایی که در آینده به شرکت ما اضافه خواهند شد.

پس از بررسی ها و محاسبات برای سابنتینگ Subnetting این شبکه، توپولوژی ما به این صورت خواهد بود:

 

بگذارید شرح دلایلی که این نوع سابنت گذاری را در توپولوژی فوق انتخاب کردیم ذکر کنم:

  • Sub-Interface های روتر R1 هر یک 200 سرور خواهند داشت که کوچک ترین سابنتی که این تعداد آی پی را در خود جا می دهد، سابنت /24 می باشد و 254 عدد آی پی قابل استفاده دارد.
  • VLAN های سوییچ SW2 به 60 سرور متصل خواهند شد که کوچکترین سابنت در بر گیرنده این تعداد آی پی سابنت /26 خواهد بود که تعداد 62 آی پی قابل استفاده خواهد داشت.
  • VLAN های سوییچ SW1 به 20 سرور سرویس دهی خواهند کرد که کوچکترین سابنت در بر گیرنده این تعداد آی پی، سابنت /27 خواهد بود که 30 آی پی قابل استفاده خواهد داشت.
  • VLAN های سوییچ SW3 نیز به 40 سرور سرور متصل خواهند شد که کوچکترین سابنت در بر گیرنده این تعداد آی پی سابنت /26 خواهد بود که تعداد 62 آی پی قابل استفاده خواهد داشت.
  • برای لینک های Point-to-Point بین سوییچ و روتر ها به دو عدد آی پی نیاز داریم که سابنت /30 می تواند این نیاز را بر آورده کند. اما این رنج را از 92.61.30.0 شروع کردیم چرا که آی پی های سایت ها از رنج 92.61.0.0 – 92.61.11.255 استفاده کرده بودند که با احتساب دو برابر شدن تعداد سایت ها ما به سابنت های 92.61.0.0 – 92.61.22.255 نیاز خواهیم داشت و فقط برای باز ماندن دستمان در شرایط اضطراری، فاصله بین رنج 92.61.23.0 تا 92.61.29.255 را خالی گذاشتیم.

در نظر داشته باشید این تنها یک مثال می باشد اما یک ایده ای از مواردی که نیاز دارید تا در طراحی سابنتینگ به آن توجه داشته باشید به شما می دهد.

۰ ۰

دلایل کار نکردن ******* در بستر همراه اول ، ایرانسل و مخابرات

برطرف کردن مشکل اتصال به ******* در اینترنت موبایل یکی از موضوعات داغ این روزهای اینترنت ایران است. تقریبا این روزها کمتر کسی را پیدا می کنید که بر روی گوشی خودش از یک ******* یا به اصطلاح خودمانی تر فیلترشکن استفاده نکند. با توجه به اینکه هنوز استفاده از فیلترشکن و ابزارهای دور زدن فیلترینگ در ایران بصورت قانونی منع نشده است و صرفا فروش آن جرم انگاری شده است ، مشکلات مربوط به ارتباط و اتصال این ابزارهای ******* بر روی بستر اینترنت همراه کشور بسیار معمول است. امروز می خواهیم در خصوص دلایل کار نکردن فیلترشکن ها یا همان ******* های شما بر روی گوشی تلفن همراه چه بر بستر اینترنت موبایل و چه بر بستر اینترنت های ثابت و خطوط TD-LTE صحبت کنیم.

چیست و واقعا چه کاربردی دارد؟

******* که مخفف کلمه های Virtual Private Network است به معنی شبکه خصوصی مجازی است. این تکنولوژی بصورت گسترده برای ایجاد کردن ارتباطات بین شعبه های یک شرکت یا یک سازمان برای ایجاد بستر امن ارتباطی در شبکه عمومی اینترنت طراحی شده است.

این روزها با توجه به مکانیزم تغییر آدرس IP و تونل سازی این پروتکل ، از این ابزار به عنوان یک تکنولوژی دور زدن فیلترینگ نیز بصورت گسترده استفاده می شود و در عین حال به عنوان ابزار مخفی سازی آیپی هم مورد استفاده قرار می گیرد. در دوره آموزش نتورک پلاس بصورت مفصل در خصوص ******* سرور و نحوه عملکرد آن صحبت کرده ایم.

هدف این مقاله چیست؟ چرا ******* ها باید کار کنند؟

استفاده از ******* فقط برای رفع فیلترها نیست ! در حال حاضر بسیاری از سرویس های اینترنتی که از آنها بصورت روزمره استفاده می کنیم اعم از تصاویر گوگل ، آنالیتیکز ، یوتیوب و ... همگی فیلتر هستند و در عین حال از طرف کشورهای خارجی هم دسترسی به آنها با IP ایران محدود شده است !

عملا استفاده از اینترنت ایران بدون تغییر آدرس IP به معنی ورود به یک کویر بی آب و علف است که حتی یک عکس هم برای تحقیقات معمولا یک دانشجو قابل دانلود نیست.

از طرفی دیگر تلوزیون های مبتنی بر اندروید ، گوشی های اندرویدی و ... همگی باید به Google Play متصل شوند تا به روز رسانی های امنیتی و ... را انجام بدهند و همه اینها را کنار بگذاریم.

شرکت های بین المللی برای برقراری ارتباط با شعب خود در تهران نیازمند ارتباط ******* هستند و در حال حاضر این موضوع که از این ور فیلتر و از آنور تحریم چوب دو سر کثیف برای مردم ایران شده است.

دلیل اول کار نکردن ******* : محدود شدن پروتکل های ارتباطاتی *******

متاسفانه به دلیل استفاده از پلتفرم و پروتکل های ******* به عنوان فیلترشکن در ایران ، بسترهای ارتباطاتی از سرویس دهندگان خطوط اینترنت یا همان ISP ها گرفته تا سرویس دهندگان کلان ارتباطی ... پروتکل های مربوط به ******* اعم از L2TP و PPTP را که معمولا با شماره پورت های شناخته شده ای فعالیت می کنند را محدود می کنند و به همین دلیل چه شما بخواهید با شعبه شرکت خود در اصفهان از تهران ارتباط بگیرید و چه از تهران به لندن بخواهید ******* بزنید.

 

با استفاده از پروتکل های معمول ، امکان برقراری این ارتباط بسیار محدود شده است. ترجیحا از پروتکل های متفاوت تری مثل Open******* یا ******* های متمرکز بر روی بستر SSL مانند SSTP استفاده کنید. شما می توانید با استفاده از یک Port Scanner متوجه شوید که پورتهای ارتباطی بین شما و مقصد آیا باز و قابل استفاده هستند یا خیر.

دلیل دوم کار نکردن ******* : استفاده از ******* سرورهای رایگان و محدود

با توجه به اینکه سرویس های ******* رایگان عاشق چشم و ابروی شما نیستند ، ترجیحا اکانت های پولی و حسابی برای ******* استفاده کنید. سرویس های رایگان بنا به زیاد شدن درخواست های ارتباطی ، یا ارتباط شما را کند می کنند و یا بصورت قسطی به شما اینترنت ارائه می دهند.

این سرویس دهنده ها معمولا برای خودشان اپلیکیشن های اختصاصی دارند. ترجیحا اکانت های پولی را تهیه کنید تا از دست تبلیغات ، تا حد زیادی جاسوسی و آلوده شدن به بدافزارهای مختلف و ... در امان باشید.

ترجیحا از سرویس های ******* ایرانی استفاده کنید که با توجه به شرایط و وضعیت اینترنت در ایران خودشان را به روز رسانی می کنند. سرویس های ******* خارجی معمولا در شرایط اختلال اینترنت در ایران قابل دسترس نیستند.

دلیل سوم کار نکردن ******* : به روز نبودن نرم افزارهای *******

نرم افزارهای ارائه دهنده خدمات ******* معمولا هر چند وقت یکبار بصورت مستمر به روز رسانی می شوند و لیست سرورها ، پروتکل ها و ارتباطات خودشان را به روز می کنند . اگر از نسخه های قدیمی نرم افزارهای ******* استفاده می کند ، حتما آن را به آخرین نسخه به روز رسانی کنید که هم از نظر امنیتی درست باشد و هم لیست آخرین سرورها را به دست بیاورید. بر روی گوشی ها معمولا ابزارهای ******* بسیاری نصب شده است ، سعی کنید تعداد آنها را به حداقل برسانید و از معتبرترین آنها استفاده کنید.

۰ ۰