نحوه نصب و پیکربندی DHCP سرور در اوبونتو، دبیان و CentOS
DHCP یک پروتکل شبکه است که بر اساس معماری client-server، آدرس آی پی دستگاه های موجود در شبکه را به صورت خودکار تنظیم می کند و به این ترتیب دیگر نیازی به این نیست که خودتان به صورت دستی به هر کدام از دستگاه ها آی پی استاتیک اختصاص دهید.
شما با نصب و پیکربندی DHCP سرور در لینوکس خود، در واقع می خواهید در شبکه خود یک سرویس DHCP ایجاد کنید که کارهای مربوط به تخصیص خودکار آی پی و تنظیمات دیگر را برای سایر دستگاه های موجود در شبکه یا به اصطلاح کلاینت های DHCP انجام دهد.
این کار با مزایای زیادی همراه است که صرفه جویی در زمان، مدیریت بهینه تر منابع، ارتقا امنیت و آپدیت خودکار رکوردهای DNS از مهم ترین آنها هستند.
* اگر در زیرساخت شبکه خود به یک سرور لینوکس حرفه ای و قدرتمند نیاز دارید، می توانید به صفحه خرید سرور مجازی لینوکس سر بزنید و پلن ایده آل خود را سفارش دهید.
DHCP سرور چگونه کار می کند؟
دستگاه های کامپیوتری به طور پیش فرض دارای آدرس آی پی نیستند (مگر اینکه قبلاً یک آی پی استاتیک به آنها اختصاص داده شده باشد). یک دستگاه بدون آی پی برای سایر دستگاه های موجود در شبکه، غیرقابل شناسایی و غیرقابل دسترس است.
حالا برای اینکه دستگاه های موجود در شبکه بتوانند با هم ارتباط برقرار کنند، می توانید به صورت دستی به همه آنها آی پی اختصاص دهید یا اینکه اجازه دهید DHCP سرور این کار را به صورت خودکار انجام دهد و این بار را از دوش شما بردارد.
به این ترتیب، اگر DHCP server را در سیستم خود راه اندازی کنید، دستگاه ها هر بار بعد از اینکه بوت می شوند، یک درخواستی به اسم DHCP Discover را به سرور DHCP ارسال می کنند.
این سرور هم که مسئول پاسخگویی به این درخواست ها است، یک پیام پاسخ تحت عنوان DHCP Offer را به کلاینت موردنظر ارسال می کند که حاوی اطلاعات مهمی مثل آدرس آی پی، آدرس دروازه پیش فرض و آدرس آی پی سرور DNS است.
بعد از اینکه کلاینت یا دستگاه موردنظر این درخواست را دریافت کرد، مجدداً یک پیام به سرور DHCP ارسال می کند تا تایید کند که اطلاعات ارسالی سرور را با موفقیت دریافت و قبول کرده است.
جا دارد به این نکته هم اشاره کنیم که چون سرور DHCP مسئول پاسخگویی به درخواست های کلاینت های موجود در شبکه است، تمام آی پی هایی که اختصاص می دهد را ثبت و بررسی می کند تا کارکرد شبکه به خاطر تکراری بودن یا نامعتبر بودن آدرس ها به خطر نیافتد.
به همین خاطر سعی کنید در شبکه خود فقط یک DHCP Server داشته باشید تا از مسائلی مثل تداخل در تخصیص آدرسهای IP، پیچیدگی در مدیریت و همگام سازی تنظیمات جلوگیری کنید.
پیش نیازهای نصب DHCP Server در لینوکس
- سرور مجازی لینوکس برای میزبانی از DHCP Server
- اطمینان از تنظیمات درست سرور ( آدرس آی پی استاتیک، آدرس subnet mask و آدرس دروازه)
- دسترسی روت یا sudo به سرور
- اطمینان از اتصال اینترنتی یا شبکه محلی
- اطمینان از درستی ساختار شبکه
- بکاپ گیری از فایل های پیکربندی فعلی
- یادداشت آدرس کارت شبکه
* در صورت نیاز به یک سرور لینوکس قدرتمند همراه با پیش نیازهای لازم برای اجرای تسک های مرتبط با شبکه می توانید به این صفحه (Linux VPS) مراجعه کنید.
نصب DHCP سرور در اوبونتو – دبیان
قبل از نصب dhcp server، ابتدا باید لیست پیکج های ریپازیتوری پیش فرض سیستم را آپدیت کنید تا به آخرین نسخه پکیج این سرور دسترسی داشته باشید:
sudo apt update
سپس، پکیج isc-dhcp-server را نصب کنید:
sudo apt install isc-dhcp-server
این دستور، DHCP سرور و تمام وابستگی های آن را نصب می کند.
نصب DHCP سرور در centos
ابتدا ریپازیتوری سیستم را آپدیت کنید:
sudo yum update
یا
sudo dnf update
سپس دستور نصب dhcp server در centos را اجرا کنید:
sudo yum -y install dhcp
یا
sudo dnf -y install dhcp-server
حالا که dhcp server را در سرور لینوکس خود راه اندازی کردید، نوبت به پیکربندی آن می رسد.
پیکربندی سرور DHCP برای پاسخگویی به درخواست کلاینت
فایل پیکربندی اصلی این سرور در همه توزیع های اوبونتو، دبیان و CentOS در مسیر /etc/dhcp/dhcpd.conf قرار دارد که با استفاده از آن می توانید نحوه هندل کردن و پاسخ دادن سرور به درخواست کلاینت های موجود در شبکه را پیکربندی کنید.
البته قبل از ویرایش این فایل، بهترین کار این است که از فایل پیکربندی DHCP server یک فایل بکاپ تهیه کنید تا بعدا در صورت نیاز از آن کمک بگیرید.
برای این کار می توانید از دستور cp یا mv در لینوکس استفاده کنید:
sudo mv /etc/dhcp/dhcpd.conf{,.backup}
این دستور در همین مسیر یک فایل بکاپ به اسم dhcpd.conf.backup ایجاد می کند.
حالا می توانید شروع به پیکربندی فایل DHCP server کنید.
۱) فایل پیکربندی را با ویرایشگر دلخواه خود باز کنید.
sudo nano /etc/dhcp/dhcpd.conf
* بعد از اعمال هر گونه تغییر در این فایل، به ترتیب دکمه ترکیبی ctrl + o و ctrl + x را فشار دهید تا تغییرات ذخیره شوند و ویرایشگر nano هم بسته شود.
۲) رابط شبکه موردنظر را تعیین کنید.
شبکه شما می تواند رابط های زیادی باشد و شما باید حتماً مشخص کنید که این سرور باید به کدام رابط گوش بدهد.
برای مشاهده لیست رابط های شبکه می توانید از دستور زیر استفاده کنید:
ip a
بعد اینکه اسم رابط شبکه موردنظر را پیدا کردید، باید آن را به صورت زیر در فایل پیکربندی dhcpd لحاظ کنید:
INTERFACESv4="eth0"
eth0 را با اسم رابط موردنظر خود جایگزین کنید
۳) قابلیت اختصاص آی پی به صورت داینامیک را فعال کنید.
مهم ترین کاری که از سرور DHCP انتظار می رود، اختصاص آدرس آی پی به صورت داینامیک و خودکار است که این کار را هم به صورت تصادفی انجام می شود.
فایل پیکربندی زیر برای تنظیم این ویژگی ها در سرور DHCP است که باید مقادیر پارامترهای آن را متناسب با اطلاعات شبکه خود تغییر دهید تا به کلاینت های متصل به شبکه ارسال شود.
option domain-name “example.com”;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
}
Domain-name: نام دامنه
domain-name-servers: آدرس سرورهای DNS
default-lease-time: مدت زمان پیش فرض اجاره آی پی های اختصاص داده شده به کلاینت ها ( ۶۰۰ ثانیه = ۱۰ دقیقه)
max-lease-time: حداکثر زمان اجاره آدرس های اختصاص داده شده به کلاینت ها (۷۲۰۰ ثانیه = ۲ ساعت)
Subnet: آدرس شبکه محلی
netmask: آدرس ماسک زیرشبکه
range 192.168.1.10 192.168.1.50: محدوده آدرس های آی پی موردنظر برای دستگاه های موجود در شبکه
اگر آدرس شبکه، 192.168.1.0 باشد، 192.168.1.10 – 192.168.1.50 یک نمونه از این محدوده هستند.
routers: آدرس دروازه پیش فرض
broadcast-address: آدرس موردنیاز برای ارتباط دستگاه های شبکه با یکدیگر
۴) قابلیت اختصاص آی پی استاتیک را فعال کنید.
اگر کلاینت خاصی را مدنظر دارید و می خواهید کاری کنید که همیشه یک آدرس ثابت و مشخص را دریافت کند، باید آدرس MAC آن را در اختیار سرور DHCP قرار دهید.
برای اطلاع از آدرس مک دستگاه موردنظر، کافیست خط فرمان را در آن دستگاه باز کنید و دستور زیر را اجرا کنید:
ip a
باید آدرس مک رابط شبکه ای که برای سرور DHCP انتخاب کرده اید را پیدا کنید و آن را کپی کنید.
سپس فایل پیکربندی را باز کنید.
آدرس مک را به صورت زیر در فایل پیکربندی لحاظ کنید.
host archmachine {
hardware ethernet e0:91:53:31:af:ab;
fixed-address 192.168.1.20;
}
این کد، آدرس آی پی 192.168.1.20 را به کلاینتی اختصاص می دهد که دارای آدرس مک e0:91:53:31:af:ab است.
اسم archmachine اختیاری است و می توانید آن را بر اساس یک ویژگی برجسته کلاینت موردنظر مشخص کنید که بعداً شناسایی آن برایتان راحت باشد.
۵) رابط های شبکه را برای سرور dhcp مشخص کنید.
سرور dhcp باید از اسم رابط های موردنظر شما اطلاع داشته باشد تا برای همه آنها به صورت فعال سرویس دهد.
پس اسم رابط یا رابط های شبکه موردنظر خود را با استفاده از پارامتر DHCPDARGS در فایل پیکربندی سرور DHCP لحاظ کنید.
DHCPDARGS=eth0
این دستور به سرور می گوید که برای رابط eth0 فعال باشد.
اگر می خواهید این سرویس برای تمام رابط های شبکه فعال باشد، کافیست از وایلد کارت * استفاده کنید:
DHCPDARGS=*
در آخر کار، باید نمای فایل پیکربندی dhcp شما مشابه نمونه زیر باشد:
INTERFACESv4=”eth0″
option domain-name “example.com”;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
}
host archmachine {
hardware ethernet e0:91:53:31:af:ab;
fixed-address 192.168.1.20;
}
DHCPDARGS=eth0
فعال سازی و اجرای سرویس DHCP
حالا که کارتان تقریباً تمام است، می توانید سرور مربوط به DHCP را استارت بزنید.
ابتدا بهتر است که پورت های udp که مربوط به ترافیک DHCP هستند (۶۷ یا ۶۸) را باز کنید تا فایروال به اشتباه مانع ورود-خروج ترافیک مربوط به سرور DHCP نباشد.
فعال کردن DHCP در اوبونتو – دبیان
sudo ufw allow 67/udp
sudo ufw allow 68/udp
sudo ufw reload
فعال کردن DHCP در centos
sudo firewall-cmd --zone=public --add-port=67/udp --permanent
sudo firewall-cmd --zone=public --add-port=68/udp --permanent
sudo firewall-cmd --reload
سپس با اجرای دو دستور زیر، سرویس DHCP را اجرا کنید و با enable کردن آن، قابلیت اجرای خودکار بعد از بوت سرور را فعال کنید:
اجرای سرویس DHCP در اوبونتو – دبیان
sudo systemctl start isc-dhcp-server.service
sudo systemctl enable isc-dhcp-server.service
اجرای سرویس DHCP در CentOS
sudo systemctl start dhcpd
sudo systemctl enable dhcpd
بعد از اینکه این سرویس را فعال کردید، وقت آن است که وضعیت آن را بررسی کنید و اجرای موفقیت آمیز آن مطمئن شوید:
بررسی وضعیت DHCP در اوبونتو – دبیان
sudo systemctl status isc-dhcp-server.service
بررسی وضعیت DHCP در CentOS
sudo systemctl status dhcpd
پیکربندی کلاینت DHCP برای دریافت آی پی از سرور DHCP
حالا که پیکربندی های مربوط به سرور DHCP تمام شده است، وقت آن است که کلاینت ها را هم برای درخواست آی پی از این سرور آماده کنید.
تنظیم دریافت ip خودکار در سیستم لینوکس
بعد از اینکه وارد دستگاه موردنظر شدید، ترمینال را باز کنید و دستور زیر را اجرا کنید:
sudo nmtui
* اگر این ابزار در سیستم شما نصب نیست، ابتدا آن را نصب کرده و سپس از آن استفاده کنید.
توزیع های مبتنی بر دبیان مثل اوبونتو
sudo apt-get install network-manager
sudo apt install network-manager-tui
توزیع های مبتنی بر RHEL مثل centos
sudo dnf install NetworkManager-tui
توزیع opensuse
sudo zypper install NetworkManager-tui
توزیع Archlinux
sudo pacman -Sy networkmanager
گزینه Edit a connection را انتخاب کنید.
رابط شبکه موردنظر را انتخاب کنید.
* این رابط باید در لیست مربوط به پارامتر DHCPDARGS قرار داشته باشد.
فیلدهای IPv4 Configuration و IPv6 Configuration را در حالت Automatic قرار دهید.
روی ok کلیک کنید.
سپس، رابط شبکه موردنظر را deactive و مجدداً active کنید تا این تغییرات اخیر اعمال شود.
برای بررسی آدرس آی پی رابط موردنظر مثلاً eth0 می توانید از دستور زیر زیر استفاده کنید.
ip addr show eth0
تنظیم دریافت خودکار ip در سیستم ویندوز
کنترل پنل را باز کنید.
روی network & internet کلیک کنید و گزینه Network and Sharing Center را انتخاب کنید.
از منوی سمت چپ روی گزینه Change adapter settings کلیک کنید.
روی رابط شبکه موردنظر راست کلیک کنید و گزینه Properties را انتخاب کنید.
از لیست موجود، Internet Protocol Version 4 (TCP/IPv4) را انتخاب کنید و روی Properties کلیک کنید.
گزینه Obtain an IP address automatically را علامت بزنید.
اگر می خواهید سرور dns هم به صورت خودکار دریافت شود، DNS server address automatically را علامت بزنید.
روی ok کلیک کنید.
تنظیم دریافت ip خودکار در سیستم مک
برنامه Setting را باز کنید.
از منوی سمت چپ، روی Network کلیک کنید.
رابط شبکه موردنظر را انتخاب کنید.
روی دکمه Detailes آن کلیک کنید.
از منوی سمت چپ، روی TCP/IP کلیک کنید.
برای فیلد configure IPv4 گزینه Using DHCP را انتخاب کنید.
روی ok کلیک کنید.
به این ترتیب تمام مراحل نصب و پیکربندی DHCP سرور در اوبونتو، دبیان و CentOS را با موفقیت پشت سر گذاشتید و کلاینت های شما می توانند آدرس آی پی خود را به طور خودکار از این سرور دریافت کنند.
سخن آخر
هدف از راه اندازی سرور DHCP این است که دستگاه های موجود در شبکه بتوانند آدرس آی پی خود را به صورت خودکار از این سرور دریافت کنند و دیگر نیازی به تنظیم آی پی استاتیک به صورت دستی نباشد. این کار نه تنها باعث صرفه جویی در زمان می شود بلکه امنیت و عملکرد شبکه را تا حد زیادی ارتقا می دهد.