9-5. تنظیمات Tunneling

Tunneling یک مکانیزم انتقال داده از یک پروتکل درون پروتکلی دیگر است.

به بیان ساده تر با استفاده از این روش، یک بسته را درون بسته ی دیگر قرار میدهیم تا ارسال آن بر روی بستر خاصی انجام شود (Encapsulation هم نامیده میشود).

پروتکلی که ارسال و دریافت میشود را Passenger Protocol و پروتکلی که از طریق آن Passenger Protocol انتقال میابد را Transport Protocol مینامند. Tunnel در واقع یک اینترفیس مجازی است و مانند یک لینک نقطه به نقطه عمل میکنند که ابتدا و انتهای آن توسط مبدا Tunnel و مقصد Tunnel مشخص میشود. از مهمترین مزایای Tunneling میتوان به اتصال دو نقطه غیر IP توسط یک بستر IP اشاره کرد.

بطور مثال اتصال دو شبکه IPv6 از طریق اینترنت با استفاده از Tunneling روش مناسبی است زیرا بستر Internet، IPv4 میباشد.

در مسیریاب ژرف 4 حالت GRE ، IPIP، IPv6 و IPv6IP برای Tunneling پشتیبانی میشود.

از GRE برای ارسال بسته های پروتکل IP و پروتکلهای دیگر استفاده میشود. (در مسیریاب ژرف تنها IPv4)

IPIP تنها برای ارسال بسته های پروتکل IP از طریق IP به کار میرود.

از حالت IPv6 برای ارسال بسته های IPv4 استفاده میشود در حالیکه مبدا و مقصد از IPv6 استفاده میکنند.

و نهایتا حالت IPv6IP که عملکردی برخلاف حالت IPv6 دارد و از آن برای ارسال ترافیک IPv6 در بستر IPv4 استفاده میشود.

 

Tunnel های از نوع GRE مشابه VPN هستند. دلیل تشابه GRE و VPN این است که از لحاظ فنی، Tunnel نوع GRE یک نوع خاص از VPN است (با این تفاوت که در GRE از رمزگذاری استفاده نمی‌شود). چنانچه GRE Tunnel توسط یکی از پروتکل‌های رمزنگاری، رمزگذاری شود، می‌توان از آن به عنوان VPN استفاده کرد. در عمل نیز پروتکل PPTP برای ساخت Tunnel های VPN، از GRE استفاده می‌کند.

بر خلاف IPSec که نمی‌تواند ترافیک‌های multicast را رمزگذاری کند، GRE این توانایی را دارد که همانند اینترفیس های فیزیکی، بسته‌های multicast را عبور دهد.

پیکربندی GRE Tunnel با ساخت یک اینترفیس Tunnel آغاز می‌شود که یک اینترفیس مجازی است. پس از ساخت این اینترفیس، باید نقاط انتهایی Tunnel را برای این اینترفیس پیکربندی نمایید.

در این بخش دستورات مربوط به پیکربندی GRE آورده شده است.

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

برای حذف اینترفیس Tunnel از شکل no دستور استفاده می‌شود.

برای ثبت توضیحات مربوط به Tunnel از دستور فوق در سطح پیکربندی اینترفیس استفاده می شود. به منظور حذف توضیحات از شکل no دستور استفاده می شود.

از این دستور برای مشخص کردن آدرس IP واقعی مبدا Tunnel استفاده می‌شود. به منظور حذف آدرس از شکل no دستور استفاده می شود.

از این دستور برای مشخص کردن آدرس IP واقعی مقصد Tunnel استفاده می‌شود. به منظور حذف آدرس از شکل no دستور استفاده می شود.

 

5-9-1. نحوه پیاده سازی Tunnel Modeهای مسیریاب ژرف

GRE

ورود به سطح پیکربندی اینترفیس Tunnel

حذف اینترفیس Tunnel

تعیین حالت GRE برای اینترفیس Tunnel

حذف حالت GRE

تعیین آدرسIP اینترفیس Tunnel

حذف آدرس IP اینترفیس Tunnel

تعیین مبدا اینترفیس Tunnel

حذف مبدا اینترفیس Tunnel7

تعیین مقصد اینترفیس Tunnel

حذف مقصد اینترفیس Tunnel

 

IPIP

تمامی تنظیمات مانند حالت GRE است، تنها بجای دستور tunnel mode gre، از دستور tunnel mode ipip استفاده میشود.

IPV6 (IPV4 over IPv6)

ورود به سطح پیکربندی اینترفیس

حذف اینترفیس Tunnel

تعیین حالت IPv6 برای اینترفیس Tunnel

حذف حالت IPv6

تعیین آدرس IP اینترفیس Tunnel

حذف آدرس IP اینترفیس Tunnel

تعیین آدرس IPv6 مبدا اینترفیس Tunnel

حذف آدرس IPv6 مبدا اینترفیس Tunnel

تعیین آدرس IPv6 مقصد اینترفیس Tunnel

حذف آدرس IPv6 مقصد اینترفیس Tunnel

 

IPv6IP (IPV6 over IPv4)

ورود به سطح پیکربندی اینترفیس Tunnel

حذف اینترفیس Tunnel

تعیین حالت IPv6IP برای اینترفیس Tunnel

حذف حالت IPv6IP

تعیین آدرس IPv6 اینترفیس Tunnel

حذف آدرس IPv6 اینترفیس Tunnel

تعیین آدرس IP مبدا اینترفیس Tunnel

حذف آدرس IP مبدا اینترفیس Tunnel

تعیین آدرس IP مقصد اینترفیس Tunnel

حذف آدرس IP مقصد اینترفیس Tunnel

با دستورات show ip interface brief، show ip interface tunnel  و show run میتوان اینترفیس اطلاعات مربوط به اینترفیس Tunnel و پیکربندی های آن را مشاهده کرد و در صورت نیاز آن را عیب یابی کرد.

 

10-5. تنظیمات L2TP

  • تنظیمات L2TP

یک پروتکل استاندارد برای Tunneling بین ترافیک های لایه ی 2 و 3 است. دلیل پرکاربرد بودن این پروتکل این است که بین تمام ترافیک های لایه  2 و سایر ترافیک های لایه 3 ارتباط برقرار میکند

یکی از موارد استفاده از L2TP به اشتراک گذاشتن منابع و زیر ساخت های بین دو شرکت که فاصله ی زیادی دارند، است.

این پروتکل یک پروتکل لایه ی 2 است، که نمیتواند حالت امن را برای ارتباط ایجاد کند. به همین دلیل به کمک  IPsec میتوان این شرایط را ایجاد کرد و یک Tunnel امن برای عبور بسته ها پیکربندی کرد

دستورات لازم برای پیکربندی L2TP :

تمامی دستورات پیاده سازی شده برای این سرویس جاری در سطح پیکربندی سراسری و سطح پیکربندی VPDN قرار دارند

  1. فعال و غیر فعال کردن سرویس vpdn

2. ایجاد یک اینترفیس مجازی به جهت برقراری Tunnel L2TP بین سرور و سرویس گیرنده

با استفاده از دستور زیر می توانیم یک اینترفیس مجازی با شناسه ای بین 1 تا 200 برای مسیریاب ژرف تعریف کنیم. با اجرای صحیح دستور با وارد سطح پیکربندی اینترفیس خواهیم شد

با اجرای دستور زیر می توان به اینترفیس ایجاد شده IP  اختصاص دهید

دستور زیر تعیین کننده ی آدرس IP سرویس گیرنده ی L2TP است که مطابق دستور از بازه ی تعریف شده در Poll انتخاب خواهد شد

دستور زیر نوع احراز هویت  ارتباط را مشخص میکند. که مسیریاب ژرف از ms-chap-v2 پشتیبانی می کند.

با استفاده از دستور زیر می توان برای peer  ، آدرس DNS تعیین کرد

3. تعریف یک گروه VPDN

name : نلم دلخواه برای گروه VPDN . این نام باید کمتر از هفت کاراکتر باشد. در غیر این صورت با پیغام خطا زیر مواجه می شوید.

در ادامه  بعد از اعمال این دستور، وارد سطح پیکربندی vpdn خواهید شد :

تنظیم نام کاربری و رمزعبور برای احراز هویت تونل L2TP

نمونه:

با استفاده از دستور بالا می توانیم نام کاربری و کلمه عبور معتبر برای احراز هویت تونل L2TP اختصاص دهیم

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

مشخص کردن نوع اتصال

با استفاده از دستور بالا وارد زیرسطح پیکربندی vpdn accept dialin میشویم که در این زیرسطح میتوان تنظیمات مربوط به اتصالات را تنظیم کنیم

نمونه :

مشخص کردن پروتکل ارتباطی برای اتصال

اختصاص اینترفیس مجازی تعریف شده به گروه VPDN  برای Tunnel L2TP

تنظیمات فوق برای L2TP  فاقدIPsec  درنظر گرفته شده است.

در صورتی نیاز به Ipsec به همراه L2TP ، از تنظیمات و پیکربندی های زیر استفاده میشود:

 

فعال و غیر فعال کردن IPSec بر روی سرویس

در  صورت اعمال این دستور نیاز است نشست IPSec برای برقراری ارتباط بین سرویس گیرنده و سرور انجام شود که نیاز به اعمال دستور زیر می باشد

پارامتر key  معرف همان کلید pre-shared برای برقراری نشست ISAKMP  بین سرویس گیرنده و سرور را مشخص میکند که باید در هر دو یکسان باشد.

پارامتر ipaddress آدرس فیزیکی Peer را مشخص می کند.

 

11-5. پیکربندی سرویس SNMP

Simple Network Management Protocol یا همان SNMP پروتکل پرکاربرد برای مدیریت شبکه است. از SNMP برای جمع آوری اطلاعات مربوط به پیکربندی ها و تجهیزات شبکه مانند سرورها، پرینترها، سوییچ ها و مسیریاب ها، بر اساس آدرس های IP، استفاده می شود.

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

بطور کلی نحوه کار SNMP بدین شکل است که یک Agnet (ویژگیست که روی سرویس گیرنده ها نصب و فعال شده تا اطلاعات آنها را جمع آوری کرده و به سرور بفرستد) اطلاعات سرویس گیرنده ها را به SNMP Manger ارسال کرده و سرور SNMP این اطلاعات را مانیتور میکند

1-11-5. دستورات community

جهت تعریف community و یا تغییر آن از این دستور در سطح پیکربندی سراسری استفاده میشود

community در نسخه های SNMPv1 و SNMPv2c جهت دسترسی به پروتکل تعریف و مورد استفاده قرار می گیرد. در نسخه های ذکر شده ابتدا رشته های community مورد نظر با دسترسی های خاص تعریف و سپس کاربران از طریق این رشته ها اطلاعات را از سیستم هدف استخراج می نمایند. جهت حذف community از شکل no دستور استفاده می شود.

توضیح پارامترهای این دستور در زیر آورده شده است:

community-string:  رشته ای است که توسط آن نام community را تعریف می نماییم و دسترسی ها از طریق همین نام صورت می گیرد. این پارامتر اجباری است.

[ ro | rw ]: این پارامتر نوع دسترسی خواندنی یا نوشتنی را تعیین می کند. جهت دسترسی فقط خواندنی از گزینه ro و جهت تعیین دسترسی خواندنی-نوشتنی از گزینه rw استفاده نمایید. این پارامتر اختیاری است و پیش فرض آن ro می باشد.

مثال:

community با نام rwComm تعریف شده است که دسترسی آن از نوع خواندنی-نوشتنی می باشد.

community با نام defaultComm تعریف شده است که دسترسی آن به صورت صریح تعریف نشده است، بنابراین دسترسی پیش فرض که فقط خواندنی می باشد به آن اختصاص داده شده است.

community با نام rwComm حذف می گردد. پس از حذف این community، امکان استفاده از آن برای دسترسی به SNMP ممکن نمی باشد.

 

2-11-5. دستورات گروه

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

گروه در نسخه‌ی SNMPv3 جهت تعیین دسترسی کاربر نسخه ۳ مورد استفاده قرار می گیرد. جهت حذف گروه از شکل no دستور استفاده می شود.

 

توضیح پارامترهای این دستور در زیر آورده شده است:

groupname: رشته ای است که توسط آن نام گروه را تعریف می نماییم. این پارامتر اجباری است.

{v1 | v2c | v3}: این پارامتر نسخه ای که گروه برای آن تعریف شده است را مشخص می نماید. در صورتی که نسخه 3 پروتکل SNMP انتخاب گردد، سوییچ های بعدی برای تعیین نوع امنیت گروه هستند

{auth|noauth|priv}: در صورتی که در دستور مشخص شده باشد که گروه برای نسخه 3 پروتکل SNMP مورد استفاده قرار می گیرد، توسط این پارامتر می توان نوع امنیت گروه را مشخص کرد . این پارامتر اجباری است. انتخاب هر یک از گزینه ها در زیر توضیح داده شده است:

auth: در صورتی که این گزینه انتخاب گردد، مشخص می گردد که برای دسترسی به اطلاعات SNMP باید حتما تشخیص هویت صورت گیرد.یعنی نوع امنیت گروه دارای احراز هویت است

noauth: در صورتی که گزینه noauth انتخاب گردد جهت دسترسی به اطلاعات SNMP لازم به احراز هویت نمی باشد. یعنی نوع امنیت گروه فاقد احراز هویت است

priv: در صورتی که گزینه priv انتخاب گردد، علاوه بر لزوم احراز هویت برای دسترسی به اطلاعات SNMP ، رمزنگاری اطلاعات تبادلی نیز صورت میگیرد می شوند. یعنی نوع امنیت گروه هم دارای احراز هویت است و هم رمزنگاری

{read | write}: این پارامتر نوع دسترسی کاربر SNMP را مشخص می نماید. در صورت انتخاب read دسترسی از نوع فقط خواندنی تعیین میشود و در صورت انتخاب write دسترسی از نوع خواندنی-نوشتنی می گردد. این پارامتر اختیاری است و در حالت پیش فرض از نوع read می باشد.

مثال:

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

گروه با نام grp3 حذف می گردد.

 

3-11-5. دستورات کاربر

جهت تعریف کاربر و یا به روز رسانی آن، از شکل کلی دستور بالا استفاده می کنیم. مفهوم کاربر در SNMPv3 تعریف میشود  اما می توان روی نسخه های 1 و 2c پروتکل SNMP نیز کاربر را تعریف نمود. جهت حذف کاربر از شکل no دستور استفاده می شود.

توضیح پارامترهای این دستور در زیر آورده شده است:

username: رشته ای است که توسط آن نام کاربری را تعریف می نماییم. این پارامتر اجباری است.

group-name: رشته ای است که توسط آن نام گروه را تعریف می نماییم. این پارامتر اجباری است.

{v1 | v2c | v3}: این پارامتر نسخه ی کاربر SNMP را مشخص می نماید. در صورتی که کاربر SNMPv3 باشد، در ادامه سوییچ هایی که وجود دارند برای تعیین پارامترهای امنیتی کاربر هستند:

auth: در صورتی که در دستور مشخص شده باشد که کاربر SNMPv3 می باشد، توسط این پارامتر می توان تعیین نمود که دسترسی به اطلاعات از طریق پروتکل SNMP برای این کاربر با شرط احراز هویت صورت بگیرد. این پارامتر اختیاری می باشد.

در صورتی که گزینه اختیاری auth انتخاب گردد:

{md5 | sha}: توسط این گزینه نوع الگوریتم احراز هویت تعیین می گردد. الگوریتم احراز هویت می تواند MD5  یا SHA انتخاب گردد.

authenticationpassword: رشته ای که توسط آن احراز هویت صورت می پذیرد. در واقع رمز عبور یا کلید احراز هویت است

priv: در صورتی که در دستور مشخص شده باشد که کاربر SNMPv3 می باشد، توسط این پارامتر می توان تعیین نمود که دسترسی به اطلاعات از طریق پروتکل SNMP برای این کاربر با شرط احراز هویت صورت بگیرد و بسته های تبادلی رمزنگاری گردند. این پارامتر اختیاری می باشد.

در صورتی که گزینه اختیاری priv انتخاب گردد:

{aes | des}: توسط این گزینه نوع الگوریتم رمزنگاری تعیین می گردد. الگوریتم رمزنگاری می تواند AES یا DES انتخاب گردد.

privacypassword: رشته ای که توسط آن کلید رمزنگاری تعیین می گردد. در واقع رمز عبور یا کلید رمزنگاری است

 

مثال:

کاربر SNMPv3 با نام usr3 تعریف شده است که جهت دسترسی به اطلاعات باید احراز هویت صورت بگیرد .

کاربر SNMPv3 با نام  usr3p تعریف شده است که جهت دسترسی به اطلاعات باید احراز هویت صورت بگیرد و اطلاعات تبادلی رمزنگاری می گردند .

گروه با نام usr3 حذف می گردد.

با اجرای این دستور تمامی تنظیمات SNMP  غیرفعال می گردد. با زدن اولین دستور snmpserver تنظیمات غیرفعال شده دوباره فعال می گردند.

 

4-11-5. فعال سازی ارسال Trapهای SNMP از طریق host

توسط دستور زیر Trap های موجود در مسیریاب ژرف به میزبان تعیین شده ارسال میشوند

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

جهت فعال سازی ارسال Trap ها از دستور زیر استفاده مینماییم

به منظور غیرفعال سازی ارسال Trap  به سمت سرور SNMP از دستور زیر استفاده مینماییم

Trap های ارسالی از سمت روتر در زیر توضیح داده شده اند:

Authentication  : Trap  های مرتبط به احراز هویت و شکل گیری ارتباطات (نظیر ارتباطات همسایگی )  از سمت مسیریاب به سرور SNMP ارسال میگردد

Linkupdowns : در صورتی که اینترفیس تغییر وضعیت به حالت UP  و Down  دهند از سمت مسیریاب به سرور SNMP، Trap  ارسال میگردد

 

نمایش وضعیت سرویس SNMP

در این بخش مجموعه دستوراتی که می توان برای بررسی وضعیت بخش های مختلف سرویس SNMP به کار برد، توضیح داده شده است.

جهت نمایش community های تعریف شده از این دستور نمایشی در سطح EXEC Privilege استفاده میشود

مثال:

توضیح فیلدهای نمایش داده شده در زیر آورده شده است:

Community name: نام community را نمایش می دهد.

Community Index: شاخص community را نشان می دهد.

Community SecurityName: نام community که از طریق آن به پروتکل SNMP دسترسی ایجاد می گردد را نمایش می دهد که در اینجا با نام community یکسان است.

storage-type: نشان می دهد که تنظیمات بر روی حافظه فرار و حافظه موقتی ذخیره شده است یا بر روی حافظه غیرفرار و دایمی که تنظیمات پس از خاموش و روشن شدن دستگاه نیز باقی می مانند.

جهت نمایش گروه های تعریف شده از این دستور نمایشی در سطح EXEC Privilege استفاده میشود

مثال:

توضیح فیلدهای نمایش داده شده در زیر آورده شده است:

groupname: نام گروه را نمایش می دهد.

security model: نسخه SNMP را که این گروه برای آن تعریف شده است، تعیین می کند.

view: نوع دسترسی گروه SNMP تعریف شده را مشخص می نماید.

row status: وضعیت برقراری گروه و امکان استفاده از آن را نمایش می دهد.

جهت نمایش کلیه کاربران تعریف شده و یا کاربر خاص از این دستور نمایشی در سطح EXEC Privilege استفاده میشود

نکته: اطلاعات مربوط به کاربران SNMPv3 که باید حتما احراز هویت روی آن ها صورت بگیرد را تنها از این طریق می توان مشاهده کرد و اطلاعات اینگونه کاربران با استفاده از دستور show running-config نمایش داده نمی شود.

مثال:

توضیح فیلدهای نمایش داده شده در زیر آورده شده است:

User name: نام کاربر  را نمایش می دهد.

storage-type: نشان می دهد که تنظیمات بر روی حافظه فرار و حافظه موقتی ذخیره شده است یا بر روی حافظه غیرفرار و دایمی که تنظیمات پس از خاموش و روشن شدن دستگاه نیز باقی می مانند.

Authentication Protocol: الگوریتم مورد استفاده جهت  احراز هویت را نمایش می دهد.

Encryption Protocol: الگوریتم مورد استفاده جهت  رمزنگاری را نمایش می دهد.

Group-name: نام گروهی که کاربر به آن تعلق دارد را نمایش می دهد.