راه اندازی DHCP Server در لینوکس

همان‌طور که می‌دانید، دو کامپیوتر در شبکه برای برقرای ارتباط با یکدیگر نیاز به یک IP آدرس یونیک و   مختص به خود را دارند. به‌طور کلی برای یک هاست در شبکه دو راه برای بدست آوردن این آدرس وجود دارد:

  1. تنظیم به‌صورت دستی: که در این روش می‌بایست روی تمامی سیستم‌ها اطلاعات مربوط به IP به‌صورت دستی وارد شود.
  2. دریافت به‌صورت اتوماتیک: با استفاده از پروتکل DHCP که در آن یک سیستم شبکه درخواست دریافت تنظیمات مربوطه به IP را اعلام می‌کند و این درخواست توسط یک سرویس دهنده DHCP در شبکه پاسخ داده می‌شود.

توسط پروتکل DHCP شما قادر خواهید بود موارد زیر را روی سیستم‌های شبکه خود به‌صورت خودکار تنظیم نمایید.

  • آدرس IP و Subnet  
  • آدرس سرویس دهنده دامنه (DNS)  
  • آدرس دروازه شبکه (Gateway)  
  • آدرس Wins Server (برای کلاینت های مایکروسافتی)  
  • و ..

در این آموزش به نحوه نصب و راه اندازی سرویس DHCP در لینوکس خواهیم پرداخت.

برای نصب سرویس دهنده DHCP به‌صورت زیر عمل می کنیم.

برای سیستم‌های مبتنی دبیان:

apt-get install dhcp3-server  

برای سیستم‌های مبتنی بر ردهت:

yum install dhcp  

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

برای تعریف یک Subnet جهت ارایه سرویس در آن می‌بایست مانند مثال زیر تعاریف مربوط را به فایل dhcpd.conf اضافه نمود.

برای مثال:

subnet 10.1.1.0 netmask 255.255.255.0 {    
  range 10.1.1.3 10.1.1.254;    
}  

که در اینجا ما یک subnet با آدرس شبکه 10.10.10.0 و mask با آدرس 255.255.255.0 تعریف نموده‌ایم. همچنین توسط عبارت range می‌توانیم رنج آدرس‌های IP قابل تخصیص توسط سرویس دهنده را مشخص نمایید که در مثال بالا از آدرس 10.1.1.3 الی 10.1.1.254 قابل ارایه در این subnet است.

تا اینجا سرویس‌دهنده‌ی ما برای ارائه آدرس IP پیکربندی شده است. ولی سیستم‌های شبکه علاوه بر آدرس IP نیاز به تنظیمات دیگری نظیر آدرس سرویس دهنده DNS و همچنین آدرس Gateway شبکه دارند که برای اضافه نمودن آن‌ها بصورت زیر عمل می‌کنیم.

subnet 10.1.1.0 netmask 255.255.255.0 {    
  range 10.1.1.3 10.1.1.254;    
  option domain-name-servers 10.1.1.1, 8.8.8.8;    
  option routers 10.1.1.1;    
}    

که در اینجا عبارت option domain-name-servers  آدرس سرویس دهنده DNS را مشخص می‌کند و  عبارت option routers آدرس Gateway شبکه را مشخص می‌کند.

*‌نکته)‌ آدرس‌های ارائه شده توسط سرویس دهنده به‌صورت leased  می‌باشد و پس از اتمام مدت زمان پیشفرض یا تعریف شده در سرویس دهنده، آن آدرس از سرویس گیرنده گرفته می‌شود و همچنین به‌دلیل ماهیت dynamic پروتکل ممکن است آدرسی که زمانی به هاست شما تخصیص داده شده به هاست دیگری در شبکه تخصیص داده شود.

برای تغییر مدت زمان پیشفرض اجاره (lease) می‌توانیم بصورت زیر عمل کنیم.

default-lease-time 600;    
max-lease-time 7200;

subnet 10.1.1.0 netmask 255.255.255.0 {    
  range 10.1.1.3 10.1.1.254;    
}  

که در اینجا مقدار مقابل عبارت default-lease-time مدت زمان اجاره پیش‌فرض تنظیمات و max-lease-time حداکثر زمان اجاره بر حسب ثانیه را مشخص می‌کند.

 شاید شما بخواهید که برای یک هاست خاص در شبکه (برای مثال: پرینتر شبکه ) آدرس IP را رزرو کنید تا همیشه آن آدرس برای هاست مورد نظرتان تخصیص داده شود.

host printer {    
  hardware ethernet 00:16:d3:b7:8f:86;    
  fixed-address 10.1.1.100;    
}  

که در اینجا  عبارت host نام هاست مورد نظر را مشخص می کند. عبارت hardware ethernet آدرس لایه ۲ یا همان mac Address هاست شما را مشخص می‌کند و در نهایت fixed-address آدرسی است که می‌خواهید برای آن هاست رزرو بشود را مشخص می‌کنیم.

 در پایان سرویس دهنده DHCP را یکبار restart می‌کنیم.

/etc/init.d/isc-dhcp-server restart