۱۳۸۶ مرداد ۹, سه‌شنبه

آموزش تصویری تنظیم Call manager بر روی روتر سیسکو


در این آموزش به تنظیم call manager بر روی روترهای سیسکو میپردازیم.روترهای سری 7200 , 3700 , 3600 , 2800 و 2600 این قابلیت را دارند که به عنوان call manager عمل کنند.
پر واضح است که OS موجود بر روی روتر میبایست از VOIP پشتیبانی کند.
تعداد تلفن ها در هر سری متفاوت میباشد که در شکل زیر حداکثر تعداد تلفنی که قابل تنظیم در سری های مختلف میباشد آورده شده :




برای سمت کلاینت میتوان از IP تلفنی های سری 79XX شرکت سیسکو و همچنین تلفن های نرم افزاری همچون VTGO-PC-IPBlue استفاده کرد.(در این آموزش از مدل نرم افزاری استفاده میکنیم)






یک نمونه کانفیک ساده و با حذف موارد اضافی برای تنظیم call manager بر روی روترهای سیسکو :

version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname PersianAdmins
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
memory-size iomem 5
ip subnet-zero
ip cef
!
!
no ip dhcp use vrf connected
!
!
no ftp-server write-enable
!
!
interface FastEthernet0/0
ip address 192.168.0.5 255.255.255.0
duplex auto
speed auto
!
!
ip classless
!
ip http server
!
!
control-plane
!
!
telephony-service
max-ephones 2
max-dn 2
ip source-address 192.168.0.5 port 2000
max-conferences 8 gain -6

!
!
ephone-dn 1
number 3000

!
!
ephone-dn 2
number 4000

!
!
ephone 1
mac-address 00FF.A6F8.CBB5
type 7960
button 1:1

!
!
ephone 2
mac-address 000C.2907.82f1
type 7960
button 1:2

!
!
line con 0
line aux 0
line vty 0 4
login
!
!
end
تنظیم کلاینت :
برای سمت کلاینت از تلفن نرم افزاری VTGO-PC محصول IPBlue که از این اینجا نسخه آزمایشی آن قابل در یافت است استفاده میکنیم.
نمایی از تلفن های (IP phone) ساخت شرکت سیسکو :

۱۳۸۶ مرداد ۸, دوشنبه

مدیریت سرویس ها در زمان start-up در دبین و آبانتو بهمراه آموزش تصویری

سرویس های لینوکس را میتوان به وسیله اسکریپتهایی که در etc/init.d/ قرار دارند start , stop و reload کرد.
با این وجود , در مدت بالا آمدن سیستم یا وقتی که سطح اجرایی (runlevel) را تغییر می دهیم , سیستم اسکریپت ها را در /etc/rcX.d/ جستجو می کند که X شماره سطح اجرایی می باشد.
فایل های درون etc/rcX.d در واقع لینک هایی به اسکریپتهای درون دایرکتوری etc/init.d/ می با شند.
این آموزش شرح خواهد داد که چطور شخصی میتواند سرویسی را در زمان بالا آمدن سیستم یا اصطلاحا start-up فعال , غیرفعال و کلا مدیریت کند.
وقتی که یک سرویس را در دبین و خانواده آن نصب می کنید , بطور پیش فرض در start-up فعال می شود.

بطور مثال اگر شما apache2 را نصب کنید , سرویس apache همان زمان شروع به کار میکند و برای فعال شدن در شروع مجدد سیستم هم تنظیم می شود.
اگر شما از apache در همه زمان ها استفاده نمی کنید , ممکن است بخواهید این سرویس در زمان start-up غیرفعال باشد و براحتی فقط زمانی که به آن نیاز دارید با دستور زیر سرویس را فعال کنید :
etc/init.d/apache2 start/#
شما می توانید این سرویس را درزمان بوت غیر فعال کنید به وسیله حذف تمامی لینک های سمبلیک در etc/rcX.d/SYYapache2/ یا با استفاده از sysv-rc-conf , update-rc.d و ....
مزیت استفاده از sysv-rc-conf , update-rc.d و ابزارهای مشابه در اینست که وظیفه حذف یا اضافه کردن تمام لینک های مورد نیاز به etc/init.d/ را بصورت خودکار انجام می دهد.

apache2 را بعنوان مثال در نظر می گیریم , وضعیت apache در etc/rcX.d/ را مورد بررسی قرار می دهیم :

ls -l /etc/rc?.d/*apache2

lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc0.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc1.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc2.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc3.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc4.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc5.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc6.d/K91apache2 -> ../init.d/apache2

چنانکه قابل مشاهده میباشد , برای سطوح اجرایی 0 , 1 و 6 لینک ها با حرف K شروع می شوند و سطوح اجرایی 2 , 3 , 4 و 5 با S آغاز میشوند.این دو حرف از Kill و Start گرفته شده است.
در دبین و آبانتو سطوح اجرایی 2 , 3 , 4 و 5 از نوع چند کاربره می باشد و سطح اجرایی 2 بصورت پیش فرض تعیین شده است.
سطح اجرایی 0 برای خاموش کردن سیستم می باشد.
سطح اجرایی 1 مد تک کاربر میباشد.
سطح اجرایی 6 برای شروع مجدد سیستم می باشد.
با استفاده از دستور runlevel می توان سطح اجرایی فعلی را مشخص کرد.خروجی این دستور همانند زیر است :
PersianAdmins:~# runlevel
N 2
N نشان دهنده حالت عادی یا normal و S نشان دهنده حالت تک کاربره یا single می باشد.عدد بعد از این حروف نشان دهنده سطح اجرایی در حال حاظر می باشد.
همچنین با استفاده از فایل etc/inittab/ سطح اجرایی پیش فرض قابل مشاهده و تغییر است.
وقتی سیستم در حال بوت شدن می باشد به فایل etc/inittab/ رجوع می کند و سطح اجرایی پیش فرض را می خواند که در اینجا سطح اجرایی 2 می باشد , سپس به دایرکتوری etc/rc2.d/ می رود و تمامی اسکرپیت ها را به ترتیب اولویت اجرا می کند.اولویت بر اساس شماره بعد از S می باشد که هر چه عدد کوچکتر باشد زودتر اجرا می شود و اگر دو لینک هم عدد باشند بر اساس حروف الفبا اولویت بندی می شوند.
ارزش این اولویت بندی در سرویس هایی که وابسته به دیگر سرویس ها می باشند مشخص می شود تا سرویس مادر زودتر اجرا شود.
در هنگام خاموش شدن سیستم این اولویت بندی برعکس می باشد بطوریکه لینک با عدد بزرگتر زودتر غیر فعال می شود.
مدیریت سرویس ها در زمان start-up با update-rc.d
1)حذف کردن سرویس از start-up
اگر شما می خواهید سرویس apache2 را بصورت کامل و دستی غیر فعال کنید , می بایست هر لینک در etc/rcX.d/ را حذف کنید.با استفاده از update-rc.d این کار بدین آسانی می باشد :
update-rc.d -f apache2 remove #
از f- برای مجبور کردن سیستم در حذف لینک ها حتی در صورت وجود etc/init.d/apache2/ استفاده می کنیم.
2)اضافه کردن سرویس به start-up
برای اضافه کردن سرویس به start-up میتوان از اولویت پیش فرض استفاده کرد یا اولویت مورد نظر خودمان را بکار برد.
2.1-با اولویت پیش فرض (Default priorities)
حال اگر بخواهیم سرویس را دوباره تنظیم کنیم تا زمان بوت فعال شود , به آسانی قابل انجام است :
update-rc.d apache2 defaults
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K20apache2 -> ../init.d/apache2
/etc/rc1.d/K20apache2 -> ../init.d/apache2
/etc/rc6.d/K20apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2

2.2-با اولویت دلخواه (Custom priorities)
اما چنانکه میتوانید مشاهده کنید , مقدار پیش فرض 20 میباشد که در مقایسه با 91 نسبتا متفاوت است.
یک لینک S20 قبل از S91 فعال می شود و یک K91 قبل از k20 غیر فعال می شود.
برای اینکه apache2 را مجبور کنیم برای فعال و غیر فعال شدن با اولویت 91 عمل کند , همانند زیر عمل میکنیم :
update-rc.d apache2 defaults 91
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K91apache2 -> ../init.d/apache2
/etc/rc1.d/K91apache2 -> ../init.d/apache2
/etc/rc6.d/K91apache2 -> ../init.d/apache2
/etc/rc2.d/S91apache2 -> ../init.d/apache2
/etc/rc3.d/S91apache2 -> ../init.d/apache2
/etc/rc4.d/S91apache2 -> ../init.d/apache2
/etc/rc5.d/S91apache2 -> ../init.d/apache2
2.3-اولویت های متفاوت برای فعال کردن و غیر فعال کردن (Different priorities for Start and Kill)
متعاقبا , اگر بخواهید اولویت فعال شدن متفاوت از غیر فعال شدن باشد , می بایست بدین ترتیب عمل کنید :
(در اینجا اولویت 20 را برای start و 80 را برای kill در نظر می گیریم )
update-rc.d apache2 defaults 20 80
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2


3.Specifying custom runlevels
در پایان اگر شما تمایل دارید سرویس ها فقط در سطوح اجرایی خاصی فعال و غیرفعال شوند , مثلا apache با اولویت 20 را در سطوح اجرایی 2 , 3 , 4 و 5 فعال و در سطوح اجرایی 0 , 1 و 6 غیر فعال کنیم:
update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
یا فقط در سطح اجرایی 2 اجرا شود :
update-rc.d apache2 start 20 2 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc2.d/S20apache2 -> ../init.d/apache2
یا برای فعال شدن در سطوح اجرایی 2 , 3 و 4 با اولویت 20 و فعال شدن در سطح اجرایی 5 با اولویت 30 و غیرفعال شدن در سطوح اجرایی 0 , 1 و 6 با اولویت 80 :
update-rc.d apache2 start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S30apache2 -> ../init.d/apache2
مدیریت سرویس ها در زمان start-up با sysv-rc-conf
ابزار sysc-rc-conf که برای مدیریت سرویس ها در زمان start-up استفاده می شود , کارکردی شبیه chkconfig در لینوکس های بر پایه ردهت دارد به علاوه دارا بودن ابزار گرافیکی تحت شل که مدیریت سرویس ها را آسانتر می کند و اگر دستور sysv-rc-conf را بدون هیچ گزینه ای استفاده کنیم این محیط گرافیکی همانند شکل زیر ظاهر می شود.

همانطور که مشاهده می کنید , مدیریت سرویس ها توسط این محیط گرافیکی در همه سطوح اجرایی ممکن و به آسانی قابل انجام است و نقطه قوت این ابزار اجرا شدن آن در محیط متنی که هیچ گونه محیط گرافیکی بر روی سیستم نصب نیست ,می باشد.
از Sysc-rc-conf بدون استفاده از این محیط هم میتوان برای مدیریت سرویس ها استفاده کرد که در ادامه به آن می پردازیم.
نصب این ابزار بدین گونه میباشد :
apt-get install sysv-rc-conf
لازم به تذکر است که اگر با کاربر root به سیستم وارد نشده اید ابتدای هر دستور از sudo استفاده می کنیم.
برای مشاهده لیست سرویس ها و وضعیت آنها :
PersianAdmins:~# sysv-rc-conf --list
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
apache2 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
....
....
umountroot 0:on 6:on
urandom 0:on 6:on S:on
winbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off



یا مثلا مشاهده وضعیت یه سرویس خاص مثل mysql :
PersianAdmins:~# sysv-rc-conf --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
برای فعال کردن یک سرویس مثلا apache2 در سطوح اجرایی 2 و 5 بدین نحو عمل می کنیم :
sysv-rc-conf apache2 on
یا برای غیر فعال کردن در سطوح اجرایی 2 و 5 :
sysv-rc-conf apache2 off
همچنین شما می توانید در هر سطح اجرایی که دوست دارید سرویس را فعال یا غیرفعال کنید.در اینجا سرویس apache2 را سطوح اجرایی 3 و 5 فعال می کنیم :
sysv-rc-conf --level 35 apache2 on
مدیریت سرویس ها در زمان start-up با rcconf
گزینه دیگر برای مدیریت سرویس ها rcconf میباشد که بر خلاف update-rc.d بصورت ساده تر و ویژوال قابل انجام است ولی نسبت به sysv-rc-conf دارای گزینه ها و امکانات کمتری است.
برای نصب rcconf بدین صورت عمل می کنیم :
apt-get install rcconf
برای اجرا شدن در شل rcconf را تایپ میکنیم و بعد از آن پنجره ای همانند شکل زیر ظاهر میشود و از طریق آن براحتی میتوانیم به مدیریت سرویس ها بپردازیم .

مدیریت سرویس ها در زمان start-up با file-rc
ابزار دیگر مدیریت سطوح اجرایی file-rc می باشد که برخلاف ابزارهای قبلی نه دستوری است و نه گرافیکی , بلکه تنظیمات توسط فایل etc/runlevel.conf/ صورت می پذیرد.
نمونه این فایل در اینجا قابل مشاهده می باشد.
نصب این ابزار مدیریتی :
apt-get install file-rc

طریقه تنظیم start-up برای یک اسکریپت خاص
گاهی اوقات پیش میآید که میخواهیم یک اسکریپت مورد نظرمون را طوری تنظیم کنیم که در زمان srart-up اجرا و فعال شود , برای رسیدن به این هدف بدین گونه عمل میکنیم :
ابتدا اسکریپت مورد نظر را در etc/init.d/ میسازیم :
touch /etc/init.d/behroozi
سپس محتویات اسکریپت مورد نظر را می نویسیم (محتویات زیر برای تست میباشد) :
bin/bash!#/
echo "this is a sample service"
echo reza > /reza/behroozi
حال مجوز لازم برای اجرای اسکریپت را به آن می دهیم :
chmod +x /etc/init.d/behroozi
حال برای اینکه در زمان start-up اجرا شود دستور زیر را بکار ببرید :
update-rc.d behroozi defaults
و برای اینکه بطور دستی این اسکریپت را مثلا در سطح اجرایی 2 تنظیم کنید تا فعال شود بدین ترتیب عمل می کنیم :
ln -s /etc/init.d/behroozi /etc/rc2.d/S91behroozi
حال اگر با دستور init 6 سیستم را دوباره راه اندازی کنید در فایل reza/behroozi/ کلمه reza نوشته شده است.

آموزش - چطور شغل خود را نگه بدارید!!

راه اندازی syslog سرور

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

syslog سرور چیست؟
syslog سرور یک نوع مخزن مرکزی برای لاگ برداری است که جهت متمرکز کردن مونیتورینگ دستگاه ها و سرورها استفاده می شود.وقتی که یک syslog سرور راه اندازی می کنید , دستگاه ها لاگ های خود را تحت شبکه به جای آنکه در فایل محلی ذخیره کنند یا بر روی صفحه نمایشگر به نمایش در آورند برای syslog سرور می فرستند.
بعنوان مثال , روتر ها و سوییچ های سیسکو این لاگ ها را بر روی Console نمایش می دهند و از آنجایی که همیشه از این محیط استفاده نمی کنیم , پس نمی توانیم بسیاری از لاگ ها را مشاهده و در صورت لزوم مرور کنیم , بنابراین این لاگ ها را در محلی برای آنالیزهای آینده ذخیره و نگهداری می کنیم.


Syslog از 2 قسمت عمده تشکیل شده است :
1-facility
severity-2

دستگاه هایی نظیر سیسکو و همچنین سرور ها از facility های local0-local7 که برای این کار رزرو شده اند جهت لاگ برداری استفاده می کنند.
facility ها :

auth - authentication (login) messages
cron - messages from the memory-resident scheduler
daemon - messages from resident daemons
kern - kernel messages
lpr - printer messages (used by JetDirect cards)
mail - messages from Sendmail
user - messages from user-initiated processes/apps
local0-local7 - user-defined (for cisco,servers,...)
syslog - messages from the syslog process itself

علاوه بر آنکه می توانید مشخص کنید لاگ ها به کجا بروند , می توانید نوع پیغام هایی هم که برای syslog سرور فرستاده می شود توسط سطح های مختلف severity مشخص کنید.این سطح ها استاندارد بوده و براساس شماره یا حروف اختصاری بکار برده می شوند.
severity ها :

0 - Emergency (emerg)
1 - Alerts (alert)
2 - Critical (crit)
3 - Errors (err)
4 - Warnings (warn)
5 - Notification (notice)
6 - Information (info)
7 - Debug (debug)



ابتدا به راه اندازی Syslog سرور می پردازیم سپس به تنظیم syslog در روتر سیسکو .

راه اندازی syslog سرور در ویندوز :
بی شک راحت ترین نوع راه اندازی syslog سرور در ویندوز می باشد.کافیست برنامه مورد نظر را نصب کنید و منتظر رسیدن پیغام ها باشید!!!.

اگر بدنبال نرم افزار مجانی ویندوزی هستید , بدونه تردید نرم افزار tftp32 از بهترین آنهاست .این نرم افزار همچنین شامل سرویس های کاربردی دیگر نظیر tftp و dhcp سرور هم می باشد.
لینک دانلود : tftpd32 - TFTP Server
بعد از نصب کافیست از منوی setting تیک مربوط به syslog را بزنید و برنامه را مجدد اجرا کنید.

نمایی از لاگ ها در این برنامه :


اگر بدنبال syslog ای قویتر در ویندوز هستید می بایست از نرم افزارهای غیر رایگان استفاده کنید.
syslog سرور در مجموعه های بسیاری قرار دارد که از معروفترین آنها SolarWinds Engineers Toolset v9.0 می باشد .کافیست برنامه را نصب و از منوی Network Monitoring سرور syslog را اجرا کنید.بصورت پیش فرض solarwinds به تمام facility و severity ها از تمامی IP های گوش فرا می دهد.
برای دانلود این نرم افزار از اینجا اقدام کنید.




نصب syslog سرور در لینوکس :
بدون هیچ گونه تردید می توانم بگویم که فقط با راه اندازی syslog در لینوکس به درک بیشتری از این سرویس خواهید رسید.
در بیشتر زمان ها syslog در موقع نصب سیستم نصب می شود و شما نیازی به نصب مجدد ندارید.برای استفاده از syslog جهت دریافت لاگ از دستگاه ها و سرورهای دیگر , می بایست ویژگی UDP logging را فعال کنیم.
فعال کردن UDP loging در دبین بهمراه گزینه های دیگر :

PersianAdmins:~#nano /etc/default/syslogd
SYSLOGD="-r -m0 -x"

r برای فعال کردن remote UDP logging
m0 برای حذف پیام ها MARK
X برای غیر فعال کردن DNS lookup

فعال کردن در ردهت :
PersianAdmins:~#nano /etc/sysconf/syslog
SYSLOGD="-r -m0 -x"

تنظیم facility و severity هایی که می بایست دریافت شوند :
این تنظیمات از طریق فایل etc/syslog.conf/ انجام می شود.نمونه پیش فرض این تنظیمات :

#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
uucp.* /var/log/uucp.log

#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err

# Logging for INN news system
#
news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice -/var/log/news/news.notice

قاعده نوشتن :
facility.severity log-file-name
چند مثال :

local7.debug /var/log/ciscorouter1.log
local7.* /var/log/ciscorouter1.log
local7.warn /var/log/ciscorouter1-warn.log

همانطور که از مثال ها هویداست , می توان به چندین شکل syslog را جهت نگه داری پیغام ها تنظیم کرد.
می توانید با * تمامی severity ها را مشخص کنید تا در یک فایل ذخیره شوند یا اینکه با مشخص کردن نام آن فقط آن severity را ذخیره کنید.همچنین می توانید severityهای مختلف را در فایل های مختلف ذخیره کنید.
نکته مهم در اینجاست که تمامی دستگاه هایی که مثلا با local7 , facility مشخص شده اند , پیغام هایشان به یک فایل می رود.
توصیه می شود که لاگ ها را بر اساس نیازتان در فایل های مجزا تقسیم بندی کنید تا در آینده آنالیز آنها راحت تر باشد.در این مقاله چون هدف آموزش می باشد ما این خط را به syslog.conf اضافه می کنیم :

local7.* /var/log/ciscorouter1.log

بعد از تنظیم syslog می باست سرویس آن را مجدد راه اندازی کنیم :
در دبین :
PersianAdmins:~#/etc/init.d/sysklogd restart
در ردهت :
PersianAdmins:~#/etc/init.d/syslog restart
برای آنکه مطمئن شویم که UDP logging فعال شده است :
PersianAdmins:~#netstat -an|grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:*
برای مشاهده مستقیم لاگ ها می توانیم از این دستور استفاده کنیم :

PersianAdmins:~#tail -f /var/log/ciscorouter1.log
Jul 28 06:25:28 192.168.0.5 30: *Jul 29 16:21:11.759: %SYS-5-CONFIG_I: Configure
d from console by console
Jul 28 06:25:50 192.168.0.5 31: *Jul 29 16:21:33.267: %SYS-5-CONFIG_I: Configure
d from console by vty0 (192.168.0.1)
Jul 28 10:13:16 192.168.0.5 26: *Jul 30 02:21:26.599: %SYS-6-LOGGINGHOST_STARTST
OP: Logging to host 192.168.0.21 started - CLI initiated
Jul 28 10:15:52 192.168.0.5 27: *Jul 30 02:24:14.195: %SYS-5-CONFIG_I: Configure
d from console by console
Jul 28 10:16:32 192.168.0.5 28: *Jul 30 02:24:55.287: UDP: rcvd src=192.168.0.1(
137), dst=192.168.0.255(137), length=58
Jul 28 10:16:43 192.168.0.5 29: *Jul 30 02:24:56.047: UDP: rcvd src=192.168.0.1(
137), dst=192.168.0.255(137), length=58

در صورتیکه بخواهید تمام لاگ ها را برای سرور دیگری ارسال کنید, می بایست در syslog.conf این دستور را اضافه کنید :
s*.* @server-ip
تذکر :در دستور بالا s را حذف کنید.این حرف فقط برای اینکه شیوه نوشتن دستور در سایت فارسی زیان با مشکل مواجه نشود , اضافه شده است.
همچنین شما می توانید facility یا severity خاصی را برای ارسال به سرور دیگر معین کنید.


حال که syslog سرور نصب شد ممکن است بخواهید آن را تست کنید ولی دستگاهی در دسترستان نیست , برای این منظور از نرم افزارهای syslog messages generator استفاده می کنیم.
یکی ازاین نرم افزار ها solarwinds است که در بالا به آن پرداختیم.
اما یکی از نرم افزارهای مجانی و خوب دیگر Kiwi SyslogGen می باشد.
توضیح شرکت سازنده در رابطه با این نرم افزار :
Kiwi SyslogGen is a free Windows syslog message generator which sends syslog messages to any syslog daemon. Excellent for testing your Kiwi Syslog Daemon setup. Supports TCP syslog messages so you can emulate PIX and Netscreen firewall messages
Download Kiwi SyslogGen


تنظیم syslog بر روی روتر سیسکو :

به اصلی ترین قسمت این آموزش رسیدیم! , برای تنظیم syslog باید به مد config بروید و سپس :
ip host logserver 192.168.0.21 1
logging host logserver 2
logging facility local7 3

logging trap debug 4
logging trap warnning 5
logging source-interface loopback 1 6
no logging console
no logging monitor
service timestamps log datetime localtime
logging on
توصیه می شود که برای تنظیم هاست برای syslog سرور از اسم استفاده شود تا در صورت تغییر سرور نیازی نباشد دستگاه را مجدد تنظیم کنیم.خط اول بدین منظور است.
در خط دوم syslog سرور را مشخص کرده ایم.
در خط سوم facility را مشخص کرده ایم که باید با facilityدر syslog سرور مشابه باشد.سیسکو بصورت پیش فرض از local7 استفاده می کند.
برای تنظیم severity از logging trap استفاده می کنیم که تمامی serverity های گفته شده از این طریق قابل اجرا می باشند.
خط ششم هم برای اینست که شناسه روتر را در syslog مشخص کنیم و معمولا از اینترفیس loopback برای این منظور استفاده میشود.منظور از شناسه روتر اینست که IP این اینترفیس در لاگ سرور ثبت خواهد شد.

می توانیم از access-list ها لاگ برداری کنیم و برای این منظور بدین ترتیب عمل می کنیم :
access-list 1 permit {xxx.xxx.xxx.xxx} log
چند مورد جالب برای لاگ برداری :
log configuration command entered on Cisco Router
archive
log config
logging enable
notify syslog
hidekeys


log terminal access to Router
login on-failure
login on-success


log user privilege level changes

logging userinfo



subinterface link status logging

logging event subif-link-status

توجه داشته باشید که IOS شما باید از این دستورات پشتیانی کند.

۱۳۸۶ مرداد ۴, پنجشنبه

مقالات موجود در سایت

لینوکس :
سهمیه بندی دیسک سخت در لینوکس
آموزش تصویری نصب دبین 4 و اوبونتو 7.04
نصب و راه اندازی Squid همراه Radius
نصب و تنظیم VPN - PPTP client در لینوکس
تغییر شل پیش فرض در لینوکس
آموزش تصویری تنظیم DHCP Relay Agent در لینوکس
فیلم آموزش نصب FreeBSD 4,5,6 and 7
Tunelling ssh to firewall
مدیریت سرویس ها در زمان start-up در دبین و آبانتو بهمراه آموزش تصویری
Creating A Local Yum Repository
تقسیم پهنای باند بین چندین تامین کننده پهنای باند(traffic load balancing)
آموزش تصویری راه اندازی VPNسرور لینوکس توسط POPTOP در دبین
ذخیره خروجی دستورات شل در فایل
آموزش تصویری راه اندازی VPNسرور لینوکس توسط POPTOP در فدروا 5
نصب برنامه در دبین (Debian)
حل مشکل نصب بسته ها در فدورا به وسیله Add/Remove یا YUM
آموزش تصویری پارتیشن بندی در لینوکس بصورت LVM
آموزش تصویری پارتیشن بندی در لینوکس
آموزش تصویری OpenVpn
تبدیل سرور لینوکس به روتر شبیه سیسکو
راه اندازی NAT در لینوکس
ابزارهای نظارتی لینوکس ۱
راه اندازی NAT
SSH passwordless login with putty
DNS Server with Mysql and web interface on Debian
تنظیمات اولیه شبکه در Redhat , Fedora , CentOS و توزیع های مبتنی بر آنها
نصب و تنظیم MRTG در لینوکس (ابزارهای مانیتورینگ شماره 2)
اجرای برنامه ها بصورت زمانبندی شده توسط Cron و At
DHCP سرور در لینوکس
زمانبندی اجرای فرامین و برنامه ها با Anacron
تنظیمات اولیه شبکه در دبین و آبانتو و توزیع ها مبتنی بر آنها
تغییر زمان و تاریخ در لینوکس از طریق شل
دسترسی به پارتیشن های لینوکسی در ویندوز
آموزش تصویری بازیابی پسورد کاربر ریشه در لینوکس
UMask چیست؟


مایکروسافت :
آموزش تصویری Active Directory - شماره اول
آموزش DHCP در ویندوز سرور 2003
آموزش تصویری امن کردن وب سایت توسط SSL در IIS
آموزش تصویری vpn server توسط rras و nttac
آموزش تصویری تنظیم ویندوز XP بعنوان Dial-in سرور
آموزش تصویری راه اندازی Isolate FTP Users Using Active Directory Mode
آموزش تصویری راه اندازی Isolated Ftp Site
آموزش تصویری DHCP سرور بهمراه نحوه تنظیم User-Class ها در ویندوز سرور 2003
آموزش تصویری تنظیم DHCP Relay Agent در ویندوز سرور 2003
آموزش تصویری تنظیم ویندوز XP بعنوان VPN سرور
اموزش تصویری تنظیم ویندوز XP برای اتصال به VPN سرور
پیدا کردن DHCP سرورهای قلابی یا Rogue DHCP servers در شبکه
ویندوز xp خود را اورجینال کنید
دسترسی به پارتیشن های لینوکسی در ویندوز
نصب و راه اندازي Remote Desktop كلاينت تحت وب
Internet Connection Sharing - ICS

سیسکو :
Variable Length Subnet Masking (VLSM)
Switch چیست ؟
Static route در سیسکو
راه اندازی syslog سرور بهمراه آموزش تصویری
آموزش تصویری تنظیم Call manager بر روی روتر سیسکو
آموزش تصویری راه اندازی GRE tunnel بر روی روتر سیسکو
آموزش تصویری تنظیم روتر سیسکو همچون یک سرور VPN-PPTP
The no service password-recovery Command for Secure ROMMON Configuration
Cisco AAA login authentication with Radius (MS IAS
آموزش تصويري اجراي فرامين مد Exec در مد Config
آموزش تصویری تهیه آرشیو از تنظیمات روترهای سیسکو بوسیله FTP
زمانبندی اجرای دستورات در سیسکو بهمراه آموزش تصویری




انتقال صوت و تصویر :
ویدئوی تحت شبکه چیست؟
Linux - Asterisk Installation Tutorial-PBX
آموزش تصویری تنظیم Call manager بر روی روتر سیسکو


میکروتیک :
Mikrotik Hotspot Gateway
آموزش MikroTik Bandwidth Manager
میکروتیک - بخش دوم - نصب
میکروتیک - بخش اول - معرفی
آموزش تصویری راه اندازی VPN Server بر روی MikroTik
دیواره آتش میکروتیک - MikroTik Firewall


متفرقه :
Satellite - قسمت اول - ماهواره چیست ؟
جدول تلفات خروجی به ازاء هر dB Loss
اجزای مختلف Juniper NetScreen 50
پیکربندی Juniper Netscreen 50 در حالت transparent
Active FTP vs. Passive FTP
IP Multicast
تبدیل لینک های وردپرس به html
Wireless Access Point چیست ؟

۱۳۸۶ مرداد ۳, چهارشنبه

DHCP سرور در لینوکس

سرویس DHCP(Dynamic Host Configuration Protocol) بصورت خودکار تمامی اطلاعات مربوط به TCP/IP از قبیل IP آدرس , DNS سرور , Gateway و بسیار گزینه های دیگر را در اختیار کلاینت ها قرار می دهد که پرکاربردترین آنها مورد اشاره واقع شد.

عملیات مربوط به تخصیص آدرس IP به کلاینت ها در چندین مرحله صورت می پذیرد که در اینجا به آن می پردازیم :
1 - کلاینت ها در زمان بوت شدن سیستم یا شروع مجدد سرویس یا با استفاده از دستور ipconfig /renew در ویندوز شروع به پخش پیغام هایی به نام DHCP Discover بصورت همگانی (broadcast) می کنند و در این پیغام ها درخواست IP خود را برای DHCP سرور های در محل اعلام می کنند.
2 - سروهای DHCP که این پیغام را دریافت می کنند در جوب پیغامی بنام DHCP Offer برای کلاینت ارسال می کنند و IP مورد نظر خود را به کلاینت پیشنهاد می دهند.
3 - کلاینت که ممکن است از چندین سرور پیشنهاد IP داشته باشد معمولا به سریعترین پیشنهاد با پیغامی بنام DHCP Request درخواست IP می کند.کلاینت این پیغام را بصورت همگانی ارسال می کند که برای سرور مورد نظر نشان دهنده قبول پیشنهاد و برای بقیه نشان دهنده عدم قبول می باشد.
4-سرور DHCP هم با یک پیغام DHCP ACK با این درخواست موافقت می کند.
شکل زیر مراحل بالا را بخوبی نشان می دهد:
pic1

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

سرور DHCP این تنظیمات را برای دوره زمانی مشخصی در اختیار کلاینت قرار می دهد که اصطلاحا lease time گفته می شود.کلاینت وقتی به 50% از زمان باقی مانده رسید از سرور تقاضای تمدید زمان اجاره را می کند که در این مرحله پیغام ها بصورت Unicast رد و بدل می شود.
اگر سرور تا 87.5% از زمان باقی مانده به کلاینت پاسخ ندهد , کلاینت شروع به فرستادن پیغام های DHCP Request بصورت همگانی می کند تا سرورهای دیگر هم بتوانند به او پاسخ دهند.
pic2


گاها در بعضی شبکه ها DHCP سرورهای قلابی یا Rogue DHCP سرورها به کلاینت ها آدرس اختصاص می دهند که در آموزش زیر کاملا به آن می پردازیم.
پیدا کردن DHCP سرورهای قلابی یا Rogue DHCP servers در شبکه



اگر DHCP سرور و کلاینت ها در دو شبکه مجزا از هم قرار داشته باشند میبایست از یک Relay Agent استفاده کرد تا درخواست ها را از طرف کلاینت ها برای DHCP سرور بازپخش کند و سپس جواب را از طرف DHCP به کلاینت ها منتقل کند.
DHCP Relay Agent (dhcrelay) درخواست هایی که از سابنت بدون DHCP سرور میآید را به DHCP سرور های سابنتهای دیگر که ما مشخص کرده ایم بازپخش میکند.
دلیل استفاده از DHCP Relay Agent اینست که روتر Broadcast را از خود عبور نمیدهد و DHCP clientها برای گرفتن IP از Broadcast استفاده میکنند پس برای حل این مشکل ما از یک DHCP Relay Agent استفاده میکنیم که بدین ترتیب عمل میکند :
DHCP Relay Agent پیغام هایی که به صورت Broadcast ارسال میشود و تقاضای IP میکنند را جمع آوری میکند و سپس خود بصورت Unicast با DHCP سرور درخواست مورد نظر را مطرح میکند و جواب گرفته شده را برای client ارسال میکند.در واقع DHCP Relay Agent نقش میانجی را ایفا میکند.

در آموزش های زیر DHCP relay agnet کاملا توضیح داده شده است :
آموزش تصویری تنظیم DHCP Relay Agent در Debian
آموزش تصویری تنظیم DHCP Relay Agent در ویندوز سرور 2003


برای اینکه کلاینت های لینوکسی را برای استفاده از DHCP تنظیم کرد میتوانید از آموزش های زیر بهره ببرید:
تنظیمات اولیه شبکه در دبین و آبانتو و توزیع ها مبتنی بر آنها
تنظیمات اولیه شبکه در Redhat , Fedora , CentOS و توزیع های مبتنی بر آنها



بعد از فهمیدن اینکه DHCP چیست و چه انتظاری از آن داریم به سراغ نصب و تنظیم آن در لینوکس می رویم.

نصب در لینوکس های بر پایه دبین :
apt-get install dhcp3-server
نصب در لینوکس های بر پایه ردهت :
yum install dhcp

محل قرار گیری فایل کانفیگ :
در دبین :
etc/dhcp3/dhcpd.conf/
در ردهت :
etc/dhcpd.conf/

برای آغاز بکار کردن سرویس یا شروع مجدد در هر دو نمونه توزیع بدین شکل عمل می کنیم :
etc/init.d/dhcpd start/restart/

تنظیم سرویس برای اینکه هنگام بوت شدن سیستم اجرا شود :
در ردهت :
chkconfig dhcpd on
در دبین بصورت خودکار تنظیم می شود.

تنظیم اینکه DHCP سرور به کدام اینترفیس برای دریافت درخواست ها گوش دهد :
در دبین :
nano /etc/default/dhcp3-server
INTERFACES="eth1"
در ردهت :
nano /etc/sysconfig/dhcpd
DHCPDARGS=eth0

در دبین فایل کانفیگ بصورت پیش فرض دربردارنده یک سری از تنظیمات می باشد که با تغییر آنها با نیازهای خودتان می توانید سرویس را راه اندازی کنید.
در ردهت برای استفاده از فایل کانفیگ پیش فرض بدین ترتیب عمل می کنیم :
cp /usr/share/doc/dhcp-/dhcpd.conf.sample /etc/dhcpd.conf

یک نمونه فایل کانفیگ ساده و بهمراه Optionهای پر کاربرد و مهم بهمراه توضیحات :
ddns-update-style none;1
option domain-name "persianadmins.com";2
option domain-name-servers 192.168.0.100, 1992.168.0.101;3
default-lease-time 86400;4
max-lease-time 604800;5
authoritative;6

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.250;7
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;8
option time-offset +12600; # Iran 9
option ntp-servers 192.168.0.2;10
}
host reza {11
hardware ethernet 00:A0:78:8E:9E:AA; 12
fixed-address 192.168.1.4;13
}
1-این گزینه به DHCP می گوید که آیا IP های کلاینت ها را در DNS سرور بروز رسانی کند یا خیر.
2-این گزینه دامنه اختصاص یافته به کلاینت ها را مشخص می کند.
3-با استفاده از این گزینه DNS سرور ها را برای کلاینت تنظیم می کنیم.
4-مقدار زمان پیش فرض اجاره تنظیمات
5-حداکثر زمان اجاره
6-اگر این گزینه رو بکار نبریم بدین معناست که اگر کلاینت برای آدرسی درخواست کرد که سرور هیچ چیز در مورد آن نمی داند و همچنین برای آن شبکه اشتباه شمرده می شود , پیغامی از نوع DHCPNAK برای کلاینت نمی فرستد که استفاده از این IP را متوقف کند.
7-محدوده IP هایی که می خواهیم به کلاینت ها اختصاص دهیم را مشخص می کنیم.
8-تنظیم gateway
9-این گزینه time zone را مشخص می کند و برحسب ثانیه و بر مبنای ساعت مرجع GMT محاسبه می شود.
10-مشخص کردن یک ntp سرور برای هماهنگ سازی ساعت کامپیوتر های موجود در شبکه.
11-با استفاده از host می توانیم یک آدرس را برای کلاینت خاص رزرو کنیم.
12-MAC آدرس کلاینتی که آدرس برای آن رزرو شده است.
13-آدرس IP که برای کلاینت رزرو شده و نیابد در رنج IP هایی که تنظیم کرده ایم وجود داشته باشد.




Option هایی که باید به کلاینت ها اعمال شوند را می توان در چند سطح تنظیم کرد.وجود سطح های مختلف برای تنظیم Optionها باعث می شود تا قدرت مدیریتی راحت تر و بهتری برای تنظیم DHCP سرور در اختیار مدیر شبکه قرار گیرد.
این سطوح عبارت اند از :
1-Host
در DHCP میتوان برای کلاینت ها بر اساس آدرس سخت افزاری (MAC) آدرس IP رزرو کرد تا اگر درخواست آدرس از طرف این کلاینت ها ارسال شد حتما این IP خاص به آن اختصاص داده شود.
تنظیمات مربوط به این کلاینت ها توسط Host انجام می شود.
2-Group
تشکیل شده از چندین Host .این سطح سبب سهل شدن تنظیمات Option ها برای چندین Host می شود بطوریکه تمام تنظیمات یکبار نوشته می شود و اگر لازم شد می توان بواسطه سطح Host این تنظیمات را غیر فعال کرد.
3-Subnet
تنظیمات این سطح به رنج IP که در آن مشخص شده اعمال می گردد.
4- Shared-network
در برگیرنده چندین Subnet بطوریکه اگر Subnet ها دارای تنظیمات مشابهی هستند از این سطح می توان بهره برد و در صورت لزوم بعضی optionها را توسط سطح Subnet غیرفعال کرد.
5-Global
همانطور که از اسم آن آشکار است , Optionهایی که در این سطح تنظیم شود به تمام سطوح گفته شده در بالا اعمال خواهد شد.


این سطح ها را در 2 بخش باید مورد بررسی قرار داد :

سطوح اعمال تنظیمات برای زمانی که کلاینت از رنچ آدرس تعیین شده IP می گیرد :
1-Global Declaration
2-Shared-network Declaration
3-Subnet Declaration
Subnet----override----->Shared-network----override----->Global

سطوح اعمال تنظیمات برای زمانی که آدرس IP برای کلاینت از قبل رزرو شده است :
1-Global Declaration
2-Group Declaration
3-Host Declaration
Host----override----->Group----override----->Global

Optionهایی که در سطوح پایین تر تنظیم شده اند بر دیگر تنظیمات اولویت پیدا خواهند کرد.


Global Declaration :
default-lease-time 600;
max-lease-time 7200;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.1, 192.168.0.2;
option domain-name "persianadmins.com";

Shared-network Declaration :
shared-network name {
option domain-name "persianadmins.ir";
option domain-name-servers ns1.persianadmins.ir, ns2.persianadmins.ir;
option routers 192.168.1.254;

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.1 192.168.10.31;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
option domain-name "admins.ir";
range 192.168.1.33 192.168.1.63;
}
}

Subnet Declaration :
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.254;
option subnet-mask 255.255.255.0;
option domain-name "persianadmins.com";
option domain-name-servers 192.168.2.1;
option time-offset +12600; # Iran

range 192.168.2.10 192.168.2.100;
}


Group Declaration :
group {
option routers 192.168.3.254;
option subnet-mask 255.255.255.0;
option domain-name "behroozi.info";
option domain-name-servers 192.168.3.1;
option time-offset +12600; # Iran

host reza {
option host-name "reza.behroozi.info";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}

host behroozi {
option domain-name "4so.ir";
option host-name "behroozi.4so.ir";
hardware ethernet 00:A1:DD:74:C3:F2;
fixed-address 192.168.1.6;
}
}

Host Declaration :
host shiraz {
option domain-name "charso.ir";
option host-name "shiraz.charso.ir";
hardware ethernet 00:C0:78:9E:9F:BB;
fixed-address 192.168.1.5;
}


تمامی IP ها و تنظیماتی که به کلاینت ها اختصاص داده می شود در فایلی به نام dhcpd.leases واقع شده در دایرکتوری var/lib/dhcp/ ذخیره می شود.نمونه این فایل :

cat /var/lib/dhcp3/dhcpd.leases

# All times in this file are in UTC (GMT), not your local timezone. This is
# not a bug, so please don't ask about it. There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature. If this is inconvenient or confusing to you, we sincerely
# apologize. Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0.4

lease 192.168.0.131 {
starts 1 2007/07/16 00:57:43;
ends 1 2007/07/16 12:57:43;
tstp 1 2007/07/16 12:57:43;
binding state free;
hardware ethernet 00:0c:29:49:b9:30;
}
lease 192.168.0.130 {
starts 2 2007/07/24 02:13:14;
ends 2 2007/07/24 14:13:14;
binding state active;
next binding state free;
hardware ethernet 00:50:56:c0:00:01;
uid "\001\000PV\300\000\001";
client-hostname "reza1";
}


تمامی مراحلی که dhcp سرور به کلاینت IP می دهد در syslog ثبت می شود :
Jul 15 20:57:42 debian dhcpd: DHCPDISCOVER from 00:0c:29:49:b9:30 via eth1
Jul 15 20:57:43 debian dhcpd: DHCPOFFER on 192.168.0.131 to 00:0c:29:49:b9:30 via eth1
Jul 15 20:57:43 debian dhcpd: DHCPREQUEST for 192.168.0.131 (192.168.0.21) from 00:0c:29:49:b9:30 via eth1
Jul 15 20:57:43 debian dhcpd: DHCPACK on 192.168.0.131 to 00:0c:29:49:b9:30 via eth1
از این ویژگی می توانید برای پیدا کردن مشکلات احتمالی استفاده کنید , همچنین تمامی خطاهایی که در طول شروع سرویس روی می دهد در syslog ثبت می شود.

مرجع کامل کانفیگ برای DHCP سرور در لینوکس :
http://www.bind9.net/dhcpd.conf.5

۱۳۸۶ تیر ۱۷, یکشنبه

آموزش تصویری تنظیم DHCP Relay Agent در ویندوز سرور 2003

DHCP Relay Agent (dhcrelay) درخواست هایی که از سابنت بدون DHCP سرور میآید را به DHCP سرور های سابنتهای دیگر که ما مشخص کرده ایم بازپخش میکند.
دلیل استفاده از DHCP Relay Agent اینست که روتر Broadcast را از خود عبور نمیدهد و DHCP clientها برای گرفتن IP از Broadcast استفاده میکنند پس برای حل این مشکل ما از یک DHCP Relay Agent استفاده میکنیم که بدین ترتیب عمل میکند :
DHCP Relay Agent پیغام هایی که به صورت Broadcast ارسال میشود و تقاضای IP میکنند را جمع آوری میکند و سپس خود بصورت Unicast با DHCP سرور درخواست مورد نظر را مطرح میکند و جواب گرفته شده را برای client ارسال میکند.در واقع DHCP Relay Agent نقش میانجی را ایفا میکند.

dhcprelay




برای مشاهده آموزش کلیک کنید

برای دانلود آموزش کلیک کنید