محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش نصب و راه اندازی DHCP Server در لینوکس

خوب قطعا با کاربرد سرویس DHCP آشنا هستید ، DHCP مخفف کلمه های Dynamic Host Configuration Protocol است که در ساده ترین حالت ممکن برای دادن آدرس های خودکار IP به کلاینت های شبکه استفاده می شود . اما فراموش نکنید که این پروتکل توانایی هایی بسیاری بیشتر از اینکار را در خود دارد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

ساختار آدرسی که DHCP سرور به Client می دهد بصورت قرضی یا Lease است به این معنا که کلاینت بصورت دائمی برای خودش آدرس را نگه نمی دارد و موظف است بعد از مدت زمان مشخصی آن را به DHCP برگرداند یا اگر برنگرداند به زود از آن گرفته می شود . مدت زمان قرض یا Lease Duration بسته به تنظیمات شما و ساختار شبکه می تواند متغیر باشد . بد نیست بصورت گذرا قبل از نصب این سرویس نگاهی به مکانیزم کاری DHCP هم بیندازیم .

DHCP چگونه کار می کند ؟

اگر بصورت خلاصه بخواهیم فرآیند کاری DHCP را برای شما توضیح بدهیم واژه DORA را به خاطر داشته باشید :

  • زمانیکه یک کامپیوتر با تنظیمات آدرس IP خودکار وارد شبکه می شود و روشن می شود ، بسته اطلاعاتی به نام شناسایی DHCP سرور برای نزدیکترین DHCP سرور در شبکه ارسال می کند که به آن بسته Discovery می گویند و نام بسته DHCPDISCOVER است . ( به زبان ساده داد میزنه میگه اوهوی DHCP کجایی ؟ )
  • زمانیکه اولین و نزدیک ترین DHCP سرور بسته DHCPDISCOVER را دریافت کرد برای اعلام موجودی و اینکه بفهمد درخواست کلاینت چیست در پاسخ بسته Offer را به سمت کاربر ارسال می کند که به آن DHCPOFFER گفته می شود. ( به زبان ساده میگه هوی وحشی داد نزن اینجام چی میخای ؟)
  • بعد از اینکه کلاینت بسته DHCPOFFER را دریافت کرد حالا درخواست آدرس IP که دارد را با بسته ای به عنوان DHCPREQUEST برای سرور Request یا درخواست می کند. ( به زبان ساده میگه من IP میخام )
  • وقتی DHCP سرور بسته DHCPREQUEST را دریافت کرد آن را پردازش می کند و با ارسال IP و بسته تاییدیه IP در اختیار کلاینت می گذارد که به این بسته ACK یا DHCPACK گفته می شود. ( به زبان ساده میگه بیا تایید شد IP ایت رو بردار دیگه زر نزن )

خوب حالا همه بسته ها را کنار هم می گذاریم : Discovery بعد Offer بعد Request و نهایتا Acknowledge به معنی تایید و ترکیب این کلمات و حرف اول آنها فرآیند DORA ما را می سازند . شما می توانید با استفاده از این مقاله DHCP سرور را در Ubuntu و البته در Debian براحتی راه اندازی و از آن استفاده کنید . ابتدا موارد لازم برای لابراتوار DHCP را برای شما تشریح می کنیم :

گام اول : نصب کردن DHCP سرور در اوبونتو

1- خوب با وارد کردن دستور زیر در ترمینال لینوکس پکیج سرور DHCP به سادگی تمام نصب می شود :

$ sudo apt install isc-dhcp-server

2- بعد از نصب شدن سرویس مورد نظر ، در مسیر /etc/default/isc-dhcp-server فایل تنظیمات سرور وجود دارد ، آن را با هر ویرایشگری که دوست دارید باز کنید و به دنبال واژه INTERFACES بگردید و برای سرویس DHCP که بعد از نصب به عنوان dhcpd شناخته می شود ، کارت شبکه ای که قرار هست بر روی آن سرویس دهی انجام شود را تعیین کنید ، شما می توانید قبلا با دستور ifconfig شبکه که برای اینکار در نظر گرفته اید را ببینید :

INTERFACES="eth0"

همانطور که در مثال بالا مشاهده می کنید ما به DHCP سرور گفته ایم که سرویس خودش را فقط بر روی کارت شبکه eth0 ارائه بدهد و در شبکه دیگر فعال نباشد . طبیعتا فرض را بر این گرفته ایم که کارت شبکه قبلا آدرس IP ثابت دریافت کرده است .

گام دوم : انجام تنظیمات DHCP سرور در اوبونتو

کلیه تنظیمات DHCP سرور در لینوکس از طریق فایلی به نام dhcpd.conf در مسیر /etc/dhcp/dhcpd.conf انجام می شود . بصورت کلی دو نوع وضعیت پیکربندی در این فایل وجود دارد که شما می توانید آنها را تنظیم کنید که به شرح زیر می باشند :

  • پارامترها یا parameters : به شما نحوه انجام یک وظیفه یا Task را نشان می دهند یا اینکه چه تنظیمات شبکه ای به سمت کلاینت DHCP ارسال شود هم از طریق پارامترها انجام می شود.
  • اعلامیه ها یا declarations : توپولوژی شبکه شما را تعریف می کند ، وضعیت کلاینت ها ، ارائه دادن آدرس IP به کلاینت ها و اعمال کردن گروهی پارمترها از این طریق انجام می شود .

حالا که موارد بالا را مطالعه کردید و مطمئن هستم از پاراگراف قبلی هیچی نفهمیدید ! من خودم متوجه نشدم چی گفتم شما اگه متوجه شده باشید که شاهکارید ! حالا نوبت به باز کردن فایل تنظیمات و اعمال کردن تغییرات لازم می رسد ، دستور زیر را در ترمینال وارد کنید :

$ sudo vi /etc/dhcp/dhcpd.conf

حالا تنظیمات جامع یا پارامترهای global فایل را به شکل زیر در بالای فایل تغییر بدهید :

option domain-name "tosinso.local";
option domain-name-servers 8.8.8.8, 4.2.2.4;
default-lease-time 3600;
max-lease-time 7200;
authoritative;

خوب حالا نوبت به اعمال کردن محدوده آدرس دهی DHCP سرور می رسد که در قالب زیر با توجه به رنج آیپی که مد نظر شماست انجام می شود :

subnet 192.168.0.0 netmask 255.255.255.0 {
        option routers                  192.168.0.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tosinso.local";
        option domain-name-servers      192.168.0.1;
        range   192.168.0.10   192.168.0.100;
        range   192.168.0.110   192.168.0.200;
}

حالا فایل را ذخیره کنید و خارج شوید و دستورات زیر را برای فعال شدن DHCP سرور بزنید !!! همین DHCP سرور شما الان فعال و آماده به کار هست :

$ sudo systemctl start isc-dhcp-server.service

$ sudo systemctl enable isc-dhcp-server.service

$ sudo service isc-dhcp-server.service start

$ sudo service isc-dhcp-server.service enable

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


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات