DHCP (پروتکل پیکربندی میزبان پویا) یک پروتکل شبکه است که سرور را قادر میسازد تا به طور خودکار یک آدرس IP را اختصاص دهد و سایر پارامترهای پیکربندی شبکه مرتبط را به یک کلاینت در شبکه، از یک استخر IP از پیش تعریفشده، ارائه دهد. این بدان معنی است که هر بار که یک کلاینت راه اندازی می شود، یک آدرس “IP “dynamic دریافت می کند، در مقابل یک آدرسIP که “static” است، هرگز تغییر نمی کند. آدرس IP اختصاص داده شده توسط سرور DHCP به سرویس گیرنده DHCP در حالت “lease” قرار دارد، زمان lease می تواند بسته به مدت زمانی که یک کلاینت احتمالا برای اتصال یا پیکربندی DHCP نیاز دارد، متفاوت باشد. در این آموزش نحوه نصب DHCP Server در CentOS 7 را بررسی خواهیم کرد!
فهرست مطالب
آموزش نصب سرور DHCP در centos 7
تنظیمات Environment Setup
ما قصد داریم از testing environment زیر برای این تنظیمات استفاده کنیم:
DHCP Server - CentOS 7
بررسی نحوه عملکرد DHCP
در این بخش، به طور خلاصه نحوه عملکرد DHCP را توضیح دهیم:
هنگامی که یک کامپیوتر کلاینت (پیکربندی شده برای استفاده از DHCP) و متصل به شبکه روشن می شود، یک پیام DHCPDISCOVER را به سرور DHCP ارسال می کند.
و بعد از این که سرور DHCP پیام درخواست DHCPDISCOVER را دریافت کرد، با یک پیام DHCPOFFER پاسخ می دهد. سپس کلاینت پیام DHCPOFFER را دریافت می کند و یک پیام DHCPREQUEST به سرور ارسال می کند که نشان می دهد، آماده است تا پیکربندی شبکه ارائه شده در پیام DHCPOFFER را دریافت کند.
در نهایت، سرور DHCP پیام DHCPREQUEST را از کلاینت دریافت می کند و در عوض پیام DHCPACK را ارسال می کند که نشان می دهد کلاینت اکنون مجاز است از آدرس IP اختصاص داده شده به خود استفاده کند.
مرحله 1: نصب DHCP Server در CentOS
1. نصب DHCP کاملاً ساده است، می توانید به راحتی دستور زیر را اجرا کنید.
yum -y install dhcp
مهم: با فرض این که بیش از یک رابط شبکه به سیستم متصل است، اما میخواهید سرور DHCP فقط روی یکی از رابط راهاندازی شود، سرور DHCP را بهصورت زیر تنظیم کنید تا فقط روی آن رابط راهاندازی شود.
2. فایل etc/sysconfig/dhcpd/ را باز کنید، نام رابط خاص را به لیست DHCPDARGS اضافه کنید، برای مثال اگر interface —> eth0 باشد، به این صورت اضافه کنید:
DHCPDARGS=eth0
سپس، فایل را ذخیره کرده و خارج شوید.
مرحله 2: پیکربندی DHCP server در CentOS
3. برای شروع، برای راه اندازی یک سرور DHCP، اولین مرحله ایجاد فایل پیکربندی dhcpd.conf است، فایل پیکربندی اصلی DHCP به طور معمول etc/dhcp/dhcpd.conf/ است (که به طور پیش فرض خالی است)، این فایل تمام اطلاعات شبکه را به کلاینت ارسال می کند.
با این حال، یک فایل پیکربندی نمونه usr/share/doc/dhcp*/dhcpd.conf.sample/ وجود دارد که نقطه شروع خوبی برای پیکربندی سرور DHCP است.
دو نوع عبارت در فایل پیکربندی DHCP تعریف شده است که عبارتند از:
- پارامترها – نحوه انجام یک کار، انجام یک کار یا گزینه های پیکربندی شبکه برای ارسال به کلاینت DHCP را بیان کنید.
- اعلان ها – توپولوژی شبکه را مشخص کنید، کلاینت ها را تعریف کنید، آدرس هایی را برای کلاینت ها پیشنهاد دهید، یا گروهی از پارامترها را برای گروهی از اعلان ها اعمال کنید.
بنابراین، با کپی کردن فایل پیکربندی نمونه به عنوان فایل پیکربندی اصلی مانند دستور زیر شروع کنید:
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
4. اکنون فایل پیکربندی اصلی را باز کرده و گزینه های سرور DHCP خود را تعریف کنید:
vi /etc/dhcp/dhcpd.conf
با تنظیم پارامترهای global زیر شروع کنید که برای همه زیرشبکه ها در بالای فایل اعمال می شود (مقادیر مربوط به سناریوی خود را مشخص کنید):
option domain-name "Azarsys.lan"; option domain-name-servers ns1.Azarsys.lan, ns2.Azarsys.lan; default-lease-time 3600; max-lease-time 7200; authoritative;
5. اکنون یک زیرشبکه تعریف کنید. در این مثال، DHCP را برای شبکه LAN 192.168.56.0/24 پیکربندی می کنیم (به یاد داشته باشید از پارامترهایی استفاده کنید که در سناریوی شما اعمال می شود):
subnet 192.168.56.0 netmask 255.255.255.0 { option routers 192.168.56.1; option subnet-mask 255.255.255.0; option domain-search "Azarsys.lan"; option domain-name-servers 192.168.56.1; range 192.168.56.10 192.168.56.100; range 192.168.56.120 192.168.56.200; }
مرحله 3: تخصیص IP Static به کلاینت DHCP
شما می توانید یک آدرس IP ثابت را به یک کامپیوتر کلاینت یا کلاینت خاص در شبکه اختصاص دهید، به سادگی بخش زیر را در فایل etc/dhcp/dhcpd.conf/ تعریف کنید، جایی که باید به صراحت آدرس های MAC و IP ثابتی که باید اختصاص داده شود را مشخص کنید:
host ubuntu-node { hardware ethernet 00:f0:m4:6y:89:0g; fixed-address 192.168.56.105; } host fedora-node { hardware ethernet 00:4g:8h:13:8h:3a; fixed-address 192.168.56.110; }
اکنون، فایل را ذخیره کنید و آن را ببندید.
توجه: با استفاده از دستور زیر می توانید مک آدرس لینوکس را پیدا کرده یا نمایش دهید.
ifconfig -a eth0 | grep HWaddr
6. اکنون سرویس DHCP را برای مدت زمان متوسط راه اندازی کنید و با استفاده از دستورات زیر، آن را فعال کنید تا به طور خودکار از بوت سیستم بعدی شروع شود:
---------- On CentOS/RHEL 7 ---------- systemctl start dhcpd systemctl enable dhcpd ---------- On CentOS/RHEL 6 ---------- service dhcpd start chkconfig dhcpd on
7. در مرحله بعد، فراموش نکنید که به حالت (DHCPD daemon listens on port 67/UDP) اجازه سرویس DHCP را صادر کنید:
---------- On CentOS/RHEL 7 ---------- firewall-cmd --add-service=dhcp --permanent firewall-cmd --reload ---------- On CentOS/RHEL 6 ---------- iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT service iptables save
مرحله 4: پیکربندی کلاینت های DHCP
8. اکنون، می توانید کلاینت های خود را در شبکه پیکربندی کنید تا به طور خودکار آدرس های IP را از سرور DHCP دریافت کنند. به ماشین کلاینت وارد شوید و فایل پیکربندی رابط اترنت را به صورت زیر تغییر دهید (از نام/شماره رابط استفاده نکنید):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
گزینه های زیر را اضافه کنید:
DEVICE=eth0 BOOTPROTO=dhcp TYPE=Ethernet ONBOOT=yes
اکنون، پرونده را ذخیره کرده و خارج شوید.
9. همچنین میتوانید تنظیمات را با استفاده از رابط کاربری گرافیکی روی رایانه رومیزی انجام دهید، روش را روی حالت Automatic (DHCP) تنظیم کنید، همانطور که در تصویر زیر نشان داده شده است (Desktop Ubuntu 16.04).
10. سپس خدمات شبکه را به صورت زیر راه اندازی مجدد کنید (احتمالا می توانید سیستم را راه اندازی مجدد کنید):
---------- On CentOS/RHEL 7 ---------- systemctl restart network ---------- On CentOS/RHEL 6 ---------- service network restart
در این مرحله، اگر همه تنظیمات درست باشد، کلاینتهای شما باید آدرسهای IP را بهطور خودکار از سرور DHCP دریافت کنند.
نتیجه گیری
در این آموزش نحوه راه اندازی DHCP Server در RHEL/CentOS را به شما نشان دادیم. در مقاله آینده، نحوه راه اندازی سرور DHCP در Debian/Ubuntu را به شما نشان خواهیم داد. از اینکه ما را در بررسی این مقاله همراهی کردید متشکریم.