اطلاعیه

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

تنظیمات شبکه در لینوکس (تعریف Static IP - دستور NMTUI و مدیریت سرویس ها روی RHEL/CentOS 7.0)

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

    تنظیمات شبکه در لینوکس (تعریف Static IP - دستور NMTUI و مدیریت سرویس ها روی RHEL/CentOS 7.0)

    در این آموزش درباره چگونگی پیکربندی و تغییر ip address شبکه از طریق خط فرمان روی سیستم عامل های RHEL/CentOS 7.0 بحث خواهیم کرد. همچنین اینکه چگونه می توان روی اینترفیس های شبکه با استفاده از اسکریپت های شبکه یک IP آدرس استاتیک (static) تنظیم نمود که در حقیقت موارد ضروری ای هستند که باید حتما در سرویس های شبکه که با اینترنت کار میکنند کانفیگ شوند. همچنین در این بخش به چگونگی پیکربندی یا تغییر hostname روی RHEL/CentOS 7.0 می پردازیم.


    همچنین خواهیم دید که چگونه می توان سرویس های غیرضروری را مدیریت یا غیرفعال کرد. به عنوان مثال :

    - Network Manager که در مواردی که شما از یک ip استاتیک دستی (کانفیگ شده روی اسکریپت های شبکه) استفاده میکنید دیگر به آن (Network Manager) نیاز ندارید.

    - Avahi-Daemon نیز در سرور موردنیاز نمیباشد و شکاف امنیتی(باگ) جدی دارد، مگر اینکه سرور را روی لپ تاپ خود نصب کرده باشید و بخواهید به سرعت شبکه تان را برای دیگر سرویس جستجو کنید.

    و در آخر نیز درباره NMTUI یا Network Manager Text User Interface (واسط کاربری متنی Network Manager) بحث خواهیم کرد که یکی از ابزارهای سیستمی است که می تواند کار ویرایش و تنظیم سیستم شبکه ی شما را با پیکربندی های اینترفیس پیشرفته مانند ایجاد Bond و Bridge و Team و اینترفیس های VLAN آسان کند.


    همچنین توصیه میشود مطالعه کنید :

    تعریف Static IP و DHCP IP در CentOS 7

    دستور IP در لینوکس به همراه 10 مثال عملی (تنظیمات شبکه در لینوکس)

    نحوه تعریف Static IP و DNS در اوبونتو 15.10

    نحوه تعریف Static IP به همراه DNS و Hostname در اوبونتو 17.10

    نحوه تعریف Static IP در اوبونتو 18.04



    پیش نیازها :
    1 : نصب تصویری Red Hat Enterprise Linux (RHEL) 7.0
    2 : نحوه ریجیستر و فعال کردن ریپازیتوری ها و آپدیت ها برای سرور RHEL 7.0
    3 : نصب تصویری CentOS 7.0


    توجه داشته باشید که اکثر تنظیمات صورت گرفته از طریق ویرایش فایل های سیستمی نبایستی از طریق ریموت ssh (دسترسی remote ssh) انجام شوند، مگر اینکه شما یک ارتباط شبکه ای مستمر و قابل اطمینان را با استفاده از یک IP آدرس ثابت داشته باشید.


    مرحله 1 : غیرفعال کردن سرویس های غیر ضروری

    1 - قبل از انجام هرکاری نیاز است مطمئن شویم که روی سیستم ما بعضی از ابزارهای تنظیم شبکه مثل netstat و ifconfig و wget و curl نصب باشد. بعضی از این دستورات در این مرحله استفاده نمی شوند اما بهتر است که برای تنظیمات بعدی نصب باشند.
    کد PHP:
    # yum install nano wget curl net-tools lsof 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Install-wget-in-Linux.png مشاهده: 1 حجم: 52.4 کیلو بایت








    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Install-net-tools-in-Linux.png مشاهده: 1 حجم: 48.7 کیلو بایت








    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Install-lsof-in-Linux.png مشاهده: 1 حجم: 40.6 کیلو بایت





    2 - پس از اینکه ابزارهای بالا نصب شدند، برای دریافت تنظیمات و وضعیت های اینترفیس های شبکه، ipconfig را اجرا کنید و سپس دستورات netstat یا Isof را برای بررسی اینکه چه سرویس هایی به طور پیش فرض روی سرور ما در حال اجرا هستند، اجرا نمایید.
    کد PHP:
    # ifconfig
    # netstat -tulpn
    # lsof -i 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: netstat-tulpn.png مشاهده: 1 حجم: 68.6 کیلو بایت




    3 - خروجی دستور netstat کاملا واضح است و لیستی از نام سوکت های مربوط به برنامه های در حال اجرای آن ها را نشان می دهد.

    اگر برای مثال، بخواهید که سیستمتان به عنوان سرویس ایمیل به کار نرود، می توانید سرویس های اصلی Postfix که روی localhost اجرا می شوند را متوقف نمایید. همچنین سرویس های غیر ضروری که از دستورات زیر استفاده می کنند را نیز غیر فعال کنید.

    – اگر نیازمند کنترل از راه دور سرور هستید، تنها سرویسی که توصیه می کنم آن را فعلا متوقف یا غیرفعال نکنید، SSH است.
    کد PHP:
    # systemctl stop postfix
    # systemctl stop avahi-daemon
    # systemctl disable postfix
    # systemctl disable avahi-daemon 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Stop-Avahi-Daemon.png مشاهده: 1 حجم: 348.5 کیلو بایت





    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Stop-Postfix.png مشاهده: 1 حجم: 27.7 کیلو بایت




    4 - شما هم چنین می توانید از دستورات قدیمی init، برای توقف یا غیرفعال کردن سرویس ها استفاده کنید اما از آنجاییکه در حال حاضر Red Hat از systemd و service management استفاده می کند، بهتر است شما خود را به استفاده از دستور systemctl عادت بدهبد.

    اگر از Arch Linux استفاده می کنید پس سوییچ کردن به systemd بسیار آسان است - اگر چه در حال حاضر تمام دستورات init به systemd لینک شده و از طریق آن اجرا می شوند.
    کد PHP:
    # service postfix stop
    # chkconfig postfix off 

    5 - اگر می خواهید که لیستی از تمام سرویس های start شده را ببینید، دستور service را اجرا کنید و برای گرفتن یک گزارش کامل دستور systemctl را به کار برید.
    کد PHP:
    # service --status-all
    # systemctl list-unit-files 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: List-All-Services-in-Linux.png مشاهده: 1 حجم: 28.7 کیلو بایت




    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: List-All-Services-Report.png مشاهده: 1 حجم: 63.2 کیلو بایت




    6 - برای مدیریت سرویس ها دستور systemctl را با استفاده از از سوییچ های مهم آن (start, stop, restart, reload, disable, enable, show, list-dependencies, is-enabled) همراه با با نام سرویس، اجرا کنید.


    هم چنین ویژگی مهم دیگری که دستور systemctl می تواند روی سرور راه دور (remote server) و از طریق SSH روی هاست معین اجرا کند استفاده از سوییچ –H است که همانند محیط local عمل می کند. برای مثال، دستور و تصویر زیر را ببینید.
    کد PHP:
    # systemctl -H remote_host start remote_service 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Run-systemctl-on-remote-server.png مشاهده: 1 حجم: 24.2 کیلو بایت






    مرحله 2 : تنظیم IP استاتیک و تعریف Hostname

    7 - قبل از اینکه فایل های سیستمی مربوط به اینترفیس کارت شبکه (NIC) را ویرایش کنید، مطمئن شوید که از الان تا زمانی که IP استاتیک را تنظیم می کنید، دسترسی فیزیکی یا هر نوع دیگری از دسترسی را به سرورتان نداشته باشید چرا که این مرحله سبب از کار افتادن کارت شبکه و لغو ارتباطات (connections) شما می شود.

    هر چند که بعد از reboot کردن می توان به راحتی و بدون مختل کردن ارتباط و فعال بودن اتصال این کار را انجام دهد. اگر فقط یک کارت شبکه داشته باشید، هیچ راهی نیست تا بتوانید قبل از ریبوت کردن این کار را انجام دهید. من به شما روش های کلی و مراحلی که در این مورد برای حفظ و تست ارتباطات باید از آن ها اجتناب کنید را نشان می دهم.

    برای شروع، سرویس NetworkManager را متوقف یا غیرفعال کنید.

    نکته : اگر هنوز می خواهید که دسترسی خود را حفظ کنید این دستورات را اجرا نکنید :
    کد PHP:
    # systemctl stop NetworkManager.service
    # systemctl disable NetworkManager.service 

    8 - حالا به مسیر /etc/sysconfig/network-scripts/ بروید. کارت شبکه ای که می خواهید به آن IP اختصاص دهید را انتخاب کنید و ویرایش کنید. برای بررسی نام همه ی کارت شبکه ها از دستور ifconfig -a یا ip -a استفاده کنید.
    کد PHP:
    # nano /etc/sysconfig/network-scripts/ifcfg-eno16777736 
    9 - برای تعریف static ip به کارت شبکه تان template زیر به انتهای کدهای اینترفیس شبکه تان اضافه کنید.
    کد PHP:
                    IPADDR=192.168.1.70
                    NETMASK
    =255.255.255.0
                    GATEWAY
    =192.168.1.1
                    DNS1
    =192.168.1.1
                    DNS2
    =8.8.8.8
                    DOMAIN
    =rheltest.lan 
    مطمئن شوید که عبارت ONBOOT روی YES تنظیم شده باشد. همچنین BOOTPROTO روی static یا none تنظیم شود و مقادیر پیش فرض HWADDR و UUID را تغییر ندهید.
    کد PHP:
    HWADDR=00:0C:29:5B:08:A2
    TYPE
    =Ethernet
    BOOTPROTO
    =static
    DEFROUTE=yes
    PEERDNS
    =yes
    PEERROUTES
    =yes
    USERCTL
    =no
    NM_CONTROLLED
    =no
    IPV4_FAILURE_FATAL
    =no
    IPV6INIT
    =yes
    IPV6_AUTOCONF
    =yes
    IPV6_DEFROUTE
    =yes
    IPV6_PEERDNS
    =yes
    IPV6_PEERROUTES
    =yes
    IPV6_FAILURE_FATAL
    =no
    NAME
    =eno16777736
    UUID
    =8c6eefa2-0d7b-4559-9870-2953290dc988
    ONBOOT
    =yes
                    IPADDR
    =192.168.1.70
                    NETMASK
    =255.255.255.0
                    GATEWAY
    =192.168.1.1
                    DNS1
    =192.168.1.1
                    DNS2
    =8.8.8.8
                    DOMAIN
    =rheltest.lan 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Configure-IP-in-Linux.png مشاهده: 1 حجم: 173.4 کیلو بایت




    10 - بعد از اتمام تنظیمات فایل، اگر می خواهید که DNS سرورتان کاملا فعال شوند، فایل را ببندید و سراغ فایل resolv.conf بروید.
    کد PHP:
    # nano /etc/resolv.conf 
    در اینجا فقط ip آدرس سرورهای DNS تان را با استفاده از عبارت nameserver اضافه کنید.
    کد PHP:
    nameserver 192.168.1
    nameserver 8.8.8.8 
    11 - اکنون اینترفیس شبکه با یک IP استاتیک پیکربندی شده است. تنها چیزی که باید به خاطر داشته باشید این است که سرویس شبکه خود را ریست کنید یا سیستم خود را ریبوت نمایید و از دستورات ifconfig یا ip برای نمایش IP آدرس و همچنین برای تست تنظیمات از دستور ping استفاده کنید.
    کد PHP:
    # systemctl restart network 
    توجه : بعد از restart، برای دسترسی ریموت ssh به سرور از IP آدرس جدید استفاده کنید.
    کد PHP:
    # service network status
    # ifconfig
    # ip addr show 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Start-Newtork-in-Linux.png مشاهده: 1 حجم: 368.9 کیلو بایت





    12 - برای تنظیم کردن hostname سیستم به طور کامل، فایل hostname و hosts را که در مسیر /etc قرار دارد باز کنید و هر دو قسمت زیر را تنظیم نمایید :

    Hostname File
    کد PHP:
    # nano /etc/hostname 
    در اینجا فقط نام سیستم را می توانید اضافه کنید، اما بهتر است که دامین بهمراه dot را نیز اضافه نمایید.
    کد PHP:
    server.rheltest.lan 
    فایل Hosts
    کد PHP:
    # nano /etc/hosts 
    در اینجا همان hostname که قبلا گفتیم را در خط 127.0.0.1 قبل از عبارت localhost.localdomain اضافه کنید :
    کد PHP:
    127.0.0.1              server.rheltest.lan  localhost.localdomain … 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Set-Hostname-in-Linux.png مشاهده: 1 حجم: 65.5 کیلو بایت




    برای تست اینکه hostname شما درست تنظیم شده است یا نه، از دستور hostname استفاده کنید.
    کد PHP:
    # hostname -s  # For short name
    # hostname -f  # For FQDN mame 


    مرحله 3 : استفاده از Network Manager Text User Interface

    ابزار Nmtui یا اینترفیس کاربری متن Network Manager یکی از ابزارهای RHEL است که یک اینترفیس متنی/گرافیکی برای تنظیمات شبکه توسط کنترل Network Manager فراهم می کند، که به ویرایش پیشرفته ی تنظیمات شبکه از قبیل : اختصاص دادن IP استاتیک به اینترفیس شبکه، فعال یا غیر فعال کردن یک connection، تنطیم ارتباطات wifi، تعریف کردن hostname سیستم، یا ایجاد اینترفیس های پیشرفته ی شبکه مانند InfiniBand bond ،bridge ،team یا VLAN کمک می کند.

    NetworkManager-tui به طور پیش فرض روی RHEL/CentOS 7.0 نصب شده است. اما اگر بنا به دلایلی نصب نبود، توسط دستور زیر آن را نصب کنید.
    کد PHP:
    # yum install NetworkManager-tui 

    14 - برای استارت کردن Network Manager Text User Interface دستور nmtui را اجرا کنید و از کلیدهای TAB و جهت نما برای نمایش بقیه آپشن ها استفاده کنید و از کلید Enter برای انتخاب یک option بهره ببرید. اگر می خواهید که مستقیما به یک اینترفیس خاص متصل و یا آنرا ویرایش کنید، دستورات زیر را اجرا کنید :
    کد PHP:
    # nmtui edit eno16777736
    # nmtui connect eno16777736 
    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: NetworkManager-Text-User-Interface.png مشاهده: 1 حجم: 28.4 کیلو بایت








    برای دیدن سایز بزرگ روی عکس کلیک کنید  نام: Select-Network-Connection.png مشاهده: 1 حجم: 14.0 کیلو بایت






    اگر می خواهید که ip static تعریف کنید از Network Manager Text User Interface بعنوان یک ابزار آسان برای ویرایش فایل های اینترفیس شبکه بهمراه تعداد محدودی آپشن ارایه شده استفاده کنید اما قبل از آن مطمئن شوید که سرویس Network Manager روی سیستم تان فعال و start شده است.


    موفق و موید باشید
    محمد هابیلی
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-08-2021, 06:56 PM.

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

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

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