اطلاعیه

بستن
هنوز اعلام نشده است.

نحوه راه اندازی DHCP Server و Client روی CentOS و Ubuntu

بستن
X
  • فیلتر کردن
  • زمان
  • نمایش
پاک کردن همه
پست های جدید

  • نحوه راه اندازی DHCP Server و Client روی CentOS و Ubuntu

    DHCP (که مخفف Dynamic Host Configuration Protocol) در حقیقت یک پروتکل client/server ی میباشد که یک سرور را برای اختصاص دادن اتوماتیک ip آدرس و دیگر پارامترهای کانفیگی مرتبط (مانند subnet mask و default gateway) به یک کلاینت روی شبکه فعال میکند.

    DHCP به این دلیل مهم است که از کانفیگ دستی ip آدرس به کامپیوترهای جدید اضافه شده به شبکه و کامپیوترهایی که از یک subnet به یک subnet دیگر منتقل شده اند جلوگیری میکند.

    ip آدرسی که از یک DHCP سرور به یک DHCP کلاینت اختصاص داده میشود روی یک "lease" میباشد، lease time به صورت نرمال بسته به مدت زمانیکه یک کامپیوتر کلاینت نیاز به ارتباط یا تنظیمات DHCP دارد تغییر میکند.

    در این مقاله، ما نحوه کانفیگ DHCP Server در توزیع لینوکسی CentOS و Ubuntu را برای اختصاص دادن ip آدرس به یک ماشین کلاینت به صورت اتوماتیک شرح خواهیم داد.



    نصب DHCP Server در CentOS و Ubuntu

    پکیج DHCP Server در ریپازیتوری رسمی از توزیع لینوکسی در دسترس است، نصب آن بسیار آسان است و به سادگی با استفاده از دستورات زیر میتوان آنرا نصب کرد.
    کد PHP:
    # yum install dhcp                #CentOS
    sudo apt install isc-dhcp-server    #Ubuntu 
    به محض اینکه نصب تمام شد، اینترفیسی را که میخواهید سرویس DHCP درخواست های مرتبط با آن را در فایل کانفیگ /etc/default/isc-dhcp-server یا /etc/sysconfig/dhcpd قرار دهد، کانفیگ کنید.
    کد PHP:
    # vim /etc/sysconfig/dhcpd         #CentOS
    sudo vim /etc/default/isc-dhcp-server     #Ubuntu 
    به طور مثال اگر میخواهید سرویس DHCP روی اینترفیس eth0 لیسن (listen) کند با استفاده از بخش زیر آنرا تعریف کنید.

    در Ubuntu :q:
    کد PHP:
    INTERFACESv4="eth0" 

    در CentOS :
    کد PHP:
    DHCPDARGS=”eth0” 
    فایل را ذخیره و از آن خارج شوید.



    کانفیگ DHCP Server در CentOS و Ubuntu

    فایل کانفیگ اصلی DHCP در /etc/dhcp/dhcpd.conf قرار دارد که باید شامل تعریف تمام پارامترهای شبکه که باید برای کلاینت فراهم آورده شود، باشد.

    این فایل اساسا شامل لیستی از عبارات گروه بندی شده در دو دسته اصلی میباشد.
    • Global parameters : مشخص میکند که چگونه یک تسک باید انجام شود، در حقیقت انجام یک تسک یا اینکه چه پارامترهای کانفیگی شبکه باید برای کلاینت DHCP فراهم آورده شود.
    • Declarations : تکنولوژی شبکه را تعریف میکند، یک کلاینت را در آن قرار میدهد. برای کلاینت آدرس قرار میدهد و یا گروهی از پارامترها را برای کلاینت تعریف میکند.

    اکنون، فایل کانفیگ را برای تنظیم DHCP سرورتان باز کنید.
    کد PHP:
    ------------ On CentOS ------------
    # cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf    
    # vi /etc/dhcp/dhcpd.conf    

    ------------ On Ubuntu ------------
    sudo vim /etc/dhcp/dhcpd.conf 
    کار را با تعریف global parameters در بالای فایل، که برای همه شبکه های پشتیبانی شده مشترک است آغاز میکنیم. این تنظیمات برای همه declarations اعمال خواهد شد.
    کد PHP:
    option domain-name "linuxzone.lan";
    option domain-name-servers ns1.linuxzone.lanns2.linuxzone.lan;
    default-
    lease-time 3600;
    max-lease-time 7200;
    authoritative
    سپس شما نیاز دارید که یک subnet work برای یک subnet داخلی مانند 192.168.1.0/24 همانند زیر تعریف کنید.
    کد PHP:
    subnet 192.168.1.0 netmask 255.255.255.0 {
            
    option routers                  192.168.1.1;
            
    option subnet-mask              255.255.255.0;
            
    option domain-search            "linuxzone.lan";
            
    option domain-name-servers      192.168.1.1;
            
    range   192.168.1.10   192.168.1.100;
            
    range   192.168.1.110   192.168.1.200;



    کانفیگ آی پی static روی کلاینت dhcp

    برای اختصاص دادن یک آی پی آدرس ثابت (static) قسمت زیر را هنگامی که نیاز به mac address و ip استاتیک دارید ،اضافه کنید. در قسمت hardware ethernet مک آدرس سیستم مورد نظر و در قسمت fixed-address هم ip آدرس سیستم را وارد کنید.
    کد PHP:
    host centos-node {
         
    hardware ethernet 00:f0:m4:6y:89:0g;
         
    fixed-address 192.168.1.105;
     }

    host fedora-node {
         
    hardware ethernet 00:4g:8h:13:8h:3a;
         
    fixed-address 192.168.1.106;
     } 
    دقت کنید هاست هایی که به آپشن های تنظیماتی خاص نیاز دارند را میتوان در host.statements (صفحه راهنمای dhcp.conf را مشاهده کنید) لیست کرد.

    اکنون که شما سرویس DHCP سرورتان را کانفیگ کرده اید، شما باید سرویس را start کنید و آنرا برای boot های بعدی سیستم فعال کنید. (که به صورت اتوماتیک start شود) و با استفاده از دستورات زیر چک کنید که سرویس up و در حال اجرا باشد.
    کد PHP:
    ------------ On CentOS ------------
    # systemctl start dhcpd
    # systemctl enable dhcpd
    # systemctl enable dhcpd

    ------------ On Ubuntu ------------
    sudo systemctl start isc-dhcp-server
    sudo systemctl enable isc-dhcp-server
    sudo systemctl enable isc-dhcp-server 
    سپس، درخواست های به سرویس DHCP روی فایروال را permit کنید، که روی پورت 67/UDP لیسن میکند.
    کد PHP:
    ------------ On CentOS ------------
    # firewall-cmd --zone=public --permanent --add-service=dhcp
    # firewall-cmd --reload

    #------------ On Ubuntu ------------
    sudo ufw allow 67/udp
    sudo ufw reload 


    کانفیگ کلاینت های DHCP

    در نهایت شما نیاز دارید که تست کنید آیا DHCP سرور به درستی کار میکند. به یکسری از ماشین های کلاینت روی شبکه لاگین کنید و آنها را کانفیگ کنید که به صورت اتوماتیک از سرور ip بگیرند.

    فایل کانفیگ مناسب را برای اینترفیسی که میخواهید روی کلاینت به صورت اتوماتیک ip آدرس بگیرد بررسی و تغییر دهید.


    تنظیمات DHCP Client روی CentOS

    روی CentOS فایل های کانفیگ اینترفیس در مسیر /etc/sysconfig/network-scripts/ قرار گرفته اند.
    کد PHP:
    # vim /etc/sysconfig/network-scripts/ifcfg-eth0 
    آپشن های زیر را اضافه کنید.
    کد PHP:
    DEVICE=eth0
    BOOTPROTO
    =dhcp
    TYPE
    =Ethernet
    ONBOOT
    =yes 
    فایل را ذخیره و سرویس شبکه را restart کنید. (یا سیستم را reboot کنید)
    کد PHP:
    # systemctl restart network 

    تنظیمات DHCP Client روی Ubuntu

    روی Ubuntu 16.04 شما میتوانید همه اینترفیس ها را در فایل کانفیگ /etc/network/interfaces تعریف کنید.
    کد PHP:
    sudo vi /etc/network/interfaces 
    خطوط زیر را به آن اضافه کنید.
    کد PHP:
    auto  eth0
    iface eth0 inet dhcp 
    فایل را ذخیره و سرویس شبکه را restart کنید. (یا سیستم را reboot کنید)
    کد PHP:
    sudo systemctl restart networking 
    روی Ubuntu 18.04 شبکه با برنامه netplan کنترل میشود. شما نیاز دارید که فایل مناسب را در دایرکتوری /etc/netplan ویرایش کنید. به طو ر مثال :
    کد PHP:
    sudo vim /etc/netplan/01-netcfg.yaml 
    سپس dhcp4 را تحت اینترفیس خاص به طور مثال برای ethernets, ens0 فعال کنید و کانفیگ های مرتبط با ip static را کامنت کنید. (اینجا چک شود)
    کد PHP:
    network:
      
    version2
      renderer
    networkd
      ethernets
    :
        
    ens0:
          
    dhcp4yes 
    تغییرات را ذخیره کنید و کامند زیر را برای اعمال تغییرات اجرا کنید.
    کد PHP:
    sudo netplan apply 
    برای اطلاعات بیشتر صفحه راهنمای dhcp و dhcp.conf را مشاهده کنید.
    کد PHP:
    man dhcpd
    man dhcpd.conf 
    در این مقاله ما نحوه کانفیگ یک DHCP Server در توزیع های لینوکسی CentOS و Ubuntu شرح دادیم. اگر شما نیاز به توضیحات بیشتر روی موارد بالا داشتید آنرا در همین پست مطرح کنید.
    ویرایش توسط Habili : http://linux-zone.org/forums/member/5-habili در ساعت 12-01-2018, 01:02 PM
پردازش ...
X
کانال تلگرام منطقه لینوکسی ها