اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

تعریف Static Ip Address و Hostname/DNS در Ubuntu 17.10

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

    تعریف Static Ip Address و Hostname/DNS در Ubuntu 17.10

    در این مقاله نحوه تعریف ip static روی یک سیستم لینوکس ubuntu از طریق command line را شرح خواهیم داد. این مقاله تنظیمات شبکه برای تمامی ورژن های اخیر اوبونتو را پوشش میدهد و شامل دستورالعمل های تنظیمات static ip address، تعریف hostname و تنظیمات DNS (مخف name resolving) میباشد.
    Click image for larger versionName:	static-ip-address-in-ubuntu-17.jpgViews:	1Size:	55.9 KBID:	22298







    تنظیمات شبکه روی Ubuntu 17 و ورژن های بالاتر

    در اوبونتو ورژن 17.10 تنظیمات شبکه به طور کامل تغییر یافته است. ابزار جدیدی به نام netplan توسط Canonical (شرکتی که توزیع لینوکسی اوبونتو را develope میکند) معرفی شده است که به منظور مدیریت تنظیمات شبکه روی تمامی ورژن های جدید Ubuntu که از ورژن 17.10 شروع میشود استفاده می گردد. تنظیمات قبلی شبکه که در فایل /etc/network/interfaces موجود بود دیگر مورد استفاده قرار نمی گیرد.






    تنظیمات IP آدرس Static با استفاده از Netplan

    در اینجا مراحل کانفیگ یک ip آدرس static با استفاده از netplan را شرح میدهیم. فایل تنظیمات netplan در پوشه /etc/netplan قرار گرفته است. فایل کانفیگ تنظیمات کارت شبکه در مسیر /etc/netplan/01-netcfg.yaml میباشد.



    فایل کانفیگ را با استفاده از یک ادیتور متن باز کنید.
    کد PHP:
    sudo vim /etc/netplan/01-netcfg.yaml 



    ساختار کانفیگ فایل تنظیمات کارت شبکه در اوبونتو به زبان برنامه نویسی پایتون (فرمت .yaml) میباشد، در نتیجه ساختار خطوط حائز اهمیت است. (منظور این هست که تورفتگی های خطور مهم هست) در اینجا یک مثال از نحوه آدرس دهی static به IPV4 (آدرس 192.168.1.100) روی اولین اینترفیس شبکه ens33 به همراه ip آدرس 192.168.1.1 برای gateway را داریم. سرور از DNS رایگان Google در حقیقت 8.8.8.8 و 8.8.4.4 برای name resolving استفاده خواهد کرد.
    کد PHP:
    # This file describes the network interfaces available on your system
    # For more information, see netplan(5).
    network:
      
    version2
      renderer
    networkd
      ethernets
    :
        
    ens33:
          
    dhcp4no
          dhcp6
    no
          addresses
    : [192.168.10.200/24]
          
    gateway4192.168.10.1
          nameservers
    :
            
    addresses: [8.8.8.8,8.8.4.4





    یک IP آدرس V6 نیز میتوان به شیوه زیر به خط addresses اضافه و با استفاده از یک comma مجزا شود.
    کد PHP:
    # This file describes the network interfaces available on your system
    # For more information, see netplan(5).
    network:
      
    version2
      renderer
    networkd
      ethernets
    :
        
    ens33:
          
    dhcp4no
          dhcp6
    no
          addresses
    : [192.168.10.200/24'2001:1::1/64']
          
    gateway4192.168.10.1
          nameservers
    :
            
    addresses: [8.8.8.8,8.8.4.4




    بسیار مهم است که شما IPV6 درون تک کوتیشن (single quotes) قرار دهید، در غیر اینصورت شما خطای syntax دریافت خواهید کرد.



    برای اعمال تغییرات دستور زیر را اجرا کنید.
    کد PHP:
    sudo netplan apply 






    و یا برای دریافت خروجی های بیشتر (در صورتیکه فایل کانفیگ netplan بدون هیچ مشکلی باشد) میتوانید آنرا به همراه آپشن --debug استفاده کنید.
    کد PHP:
    sudo netplan --debug apply 



    Click image for larger version  Name:	netplan-apply-1.png Views:	1 Size:	12.4 KB ID:	22299







    تنظیمات یک آدرس DHCP با استفاده از Netplan

    در نمونه زیر تنظیمات مربوط به IPV4 و IPV6 به صورت DHCP موجود است.
    کد PHP:
    # This file describes the network interfaces available on your system
    # For more information, see netplan(5).
    network:
     
    version2
     renderer
    networkd
     ethernets
    :
       
    ens33:
         
    dhcp4yes
         dhcp6
    yes 





    برای اعمال تغییرات دستور زیر را اجرا کنید.
    کد PHP:
    sudo netplan apply 





    آپشن های بیشتر از Netplan

    Netplan یک سیستم تنظیماتی جدید و پیچیده برای کانفیگ کارت های شبکه، تجهیزات ویرچوال، VLAN ها و Bridge ها در اوبونتو 17.10 میباشد. برای نمونه مثال های بیشتر و توضیحات عمیق تر روی syntax آن میتوانید صفحه راهنمای (man page) آنرا مطالعه کنید.







    تنظیمات شبکه روی Ubuntu 12.04 - 17.04 (شامل اوبونتو 16.04 LTS)



    مرحله 1 : تنظیم Interface شبکه

    در این مرحله شما به صورت دستی اینترفیس شبکه تان را با ویرایش کردن فایل interfaces و با استفاده از ادیتور متنی دلخواه تان (nano, gedit, vi, vim) کانفیگ خواهید کرد. در این مقاله من از vim استفاده میکنم.
    کد PHP:
    sudo vim /etc/network/interfaces 


    همچنین توصیه میشود : آموزش نصب vi/vim و تنظیمات آن



    برای اعمال تغییرات در تنظیمات شبکه نیاز به دسترسی root خواهید داشت، در نتیجه با دسترسی root فایل بالا را باز کنید.
    کد PHP:
    auto lo eth0
    iface lo inet loopback
    iface eth0 inet dynamic 




    سیستم های Ubuntu با systemd (شبیه ubuntu 16.04 و بالاتر)، به جای اینترفیس eth0 از ens33 استفاده میکند و کلمه dhcp هم با کلمه dynamic جایگزین شده است.



    یک نمونه کانفیگ برای تنظیمات DHCP آی پی آدرس به شرح زیر میباشد.
    کد PHP:
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    source /etc/network/interfaces.d/*

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    auto ens33
    iface ens33 inet dhcp 





    تنظیم کارت های شبکه به صورت static روی ورژن های قدیمی تر اوبونتو بخشی شبیه به زیر خواهد داشت.
    کد PHP:
    auto lo eth0
    iface lo inet loopback
    iface eth0 inet 
    static
            
    address xxx.xxx.xxx.xxx (enter your ip here)
            
    netmask xxx.xxx.xxx.xxx
            gateway xxx
    .xxx.xxx.xxx (enter gateway ip here,usually the address of the router





    در اینجا مثالی برای یک نسخه قدیمی تر اوبونتو را آورده ایم.
    کد PHP:
    auto lo eth0
    iface lo inet loopback
    iface eth0 inet 
    static
        
    address 192.168.10.150
        netmask 255.255.255.0
        gateway 192.168.10.1 





    و در زیر مثالی برای ورژن Ubntu 16.04 و بالاتر موجود است.
    کد PHP:
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    source /etc/network/interfaces.d/*

    # The loopback network interface
    auto lo
    iface lo inet loopback


    # The primary network interface
    auto ens32
    iface ens32 inet static
     address 192.168.10.150
     netmask 255.255.255.0
     network 192.168.10.0
     broadcast 192.168.10.255
     gateway 192.168.10.1
     dns-nameservers 8.8.8.8 8.8.4.4 





    در تصویر زیر نیز فایل تنظیمات شبکه به صورت کامل، در یک سیستم اوبونتو 16.04 را مشاهده میکنید.



    Click image for larger version  Name:	network-interfaces-configuration-ubuntu-16-2.png Views:	1 Size:	11.2 KB ID:	22300









    مرحله 2 : تنظیمات DNS

    تغییرات در /etc/resolv.conf تنها روی سیستم های 16.04 به پایین نیاز است، برای ورژن های جدید تر اوبونتو name server ها در فایل /etc/network/interfaces کانفیگ میشوند.



    a ) ورژن های پایین تر از Ubuntu 14.04

    در این مرحله شما میتوانید به صورت دستی فایل کانفیگ DNS خود را تنظیم کنید.
    کد PHP:
    sudo vim /etc/resolv.conf 





    بعد از اینکه فایل را با ادیتور مورد نظر باز کردید اطلاعات زیر را در آن وارد کنید.
    کد PHP:
    nameserver xxx.xxx.xxx.xxx (enter your dns server ip)
    nameserver xxx.xxx.xxx.xxx (enter your alt dns server ip




    در زیر یک نمونه مثال را مشاهده میکنید.
    کد PHP:
    nameserver 8.8.8.8
    nameserver 8.8.4.4 





    b) سیستم عامل Ubuntu 14.04 به بالا

    فایل /etc/network/interfaces را مجدد باز کنید.
    کد PHP:
    sudo vim /etc/network/interfaces 




    خط dns-nameservers 8.8.8.8 را دقیقا بعد از خط gateway اضافه کنید.
    کد PHP:
    auto lo
    iface lo inet loopback
    iface ens33 inet 
    static
            
    address xxx.xxx.xxx.xxx (enter your ip here)
            
    netmask xxx.xxx.xxx.xxx
            gateway xxx
    .xxx.xxx.xxx (enter gateway ip here,usually the address of the router)
            
    dns-nameservers 8.8.8.8 


    Click image for larger version  Name:	dns-nameserver-configuration-3.png Views:	1 Size:	6.1 KB ID:	22301




    name سرورهای 8.8.8.8 و 8.8.4.4 توسط گوگل برای استفاده عموم فراهم آمده اند، در نتیجه شما میتوانید از آنها در تنظیمات شبکه خود استفاده کنید.








    مرحله 3 : Reset کردن تنظیمات Network

    در نهایت میتوانید همانند زیر interface شبکه تان را با تنظیمات جدید به صورت دستی restart کنید.
    • برای ورژن های پایین تر از Ubuntu 14.04 از اسکریپت init برای networking استفاده میکنید.

    کد PHP:
    sudo /etc/init.d/networking restart 





    که باید نتیجه ای شبیه به زیر برگرداند.
    کد PHP:
    *Reconfiguring network interfaces… [OK
    • برای Ubuntu 14.04 و ورژن های جدید تر از systemctl استفاده میکنیم.

    کد PHP:
    sudo systemctl restart ifup@eth0 





    در اینجا میتوانید بررسی کنید که آیا تنظیمات به درستی اعمال شده است یا خیر.
    کد PHP:
    ifconfig 





    اگر همه چیز به درستی انجام شده باشد باید نتیجه زیر را دریافت کنید.
    کد PHP:
    ifconfig
    ens32     Link encap
    :Ethernet  HWaddr 00:0c:29:b4:5e:dc  
              inet addr
    :192.168.10.150  Bcast:192.168.10.255  Mask:255.255.255.0 







    تنظیمات Hostname

    hostname یک اوبونتو Server یا Desktop از طریق فایل های /etc/hostname و /etc/hosts تنظیم میشود. فایل /etc/hostname نام هاست واقعی سیستم را تعریف میکند در حالیکه فایل /etc/hosts برای resolve کردن نام local مورد استفاده قرار میگیرد.



    در این مثال من hostname سیستم خودم را به honey.linux-zone.org تغییر خواهم داد. ابتدا فایل /etc/hostname را باز میکنیم.
    کد PHP:
    sudo vim /etc/hostname 





    فایل hostname فقط شامل hostname در حال حاضر میباشد که شما باید آنرا تغییر دهید. در نهایت فایل را ذخیره کنید.


    Click image for larger version  Name:	hostname-change-4.png Views:	1 Size:	1.0 KB ID:	22302




    سپس فایل /etc/hosts را با یک ویرایشگر باز کنید.
    کد PHP:
    sudo vim /etc/hosts 





    خطی را که با ip آدرس همین سیستم شروع میشود را شبیه به زیر تغییر دهید.
    کد PHP:
    192.168.1.100   honey.linux-zone.org     mohammad 




    در زیر تصویری از فایل hosts را مشاهده میکنید.



    Click image for larger version  Name:	hosts-configuration-5.png Views:	1 Size:	6.0 KB ID:	22303




    ساختار این فایل شبیه به زیر میباشد.
    کد PHP:
    [IP Addesss] [full hostname incldomain] [local part of the hostname





    در نهایت برای اعمال تغییرات hostname باید سیستم را restart کنید.



    موفق باشید...
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 05-17-2023, 04:49 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X