اطلاعیه

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

13 دستور پیکربندی و عیب یابی شبکه در لینوکس

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

    13 دستور پیکربندی و عیب یابی شبکه در لینوکس

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

    بررسی و عیب یابی شبکه در لینوکس





    1 - دستور ifconfig

    دستور ifconfig (مخفف interface configurator) جهت initialize کردن یک اینترفیس، تخصیص IP Address به اینترفیس و enable و disable کردن اینترفیس شبکه بکار می رود. با استفاده از این دستور شما می توانید آدرس IP و آدرس سخت افزاری MAC اختصاص داده شده به اینترفیس و همچنین سایز MTU (مخفف Maximum transmission unit) را مشاهده کنید.
    کد PHP:
    #ifconfig     eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
              
    inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
              inet6 addr
    fe80::20c:29ff:fe28:fd4c/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU
    :1500  Metric:1
              RX packets
    :6093 errors:0 dropped:0 overruns:0 frame:0
              TX packets
    :4824 errors:0 dropped:0 overruns:0 carrier:0
              collisions
    :0 txqueuelen:1000

              RX bytes
    :6125302 (5.8 MiB)  TX bytes:536966 (524.3 KiB)

              
    Interrupt:18 Base address:0x2000

     lo        Link encap
    :Local Loopback
              inet addr
    :127.0.0.1  Mask:255.0.0.0
              inet6 addr
    : ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU
    :16436  Metric:1
              RX packets
    :8 errors:0 dropped:0 overruns:0 frame:0
              TX packets
    :8 errors:0 dropped:0 overruns:0 carrier:0
              collisions
    :0 txqueuelen:0
              RX bytes
    :480 (480.0 b)  TX bytes:480 (480.0 b

    دستور ifconfig به همراه اینترفیس (eth0) تنها جزئیات مربوط به همان اینترفیس بخصوص همچون آدرس IP و آدرس MAC وغیره را نمایش می دهد. با استفاده از گزینه –a تمام جزئیات اینترفیس های موجود، حتی در صورت disable بودن نمایش داده می شود.
    کد PHP:
     # ifconfig eth0

    eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
              inet addr
    :192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
              inet6 addr
    fe80::20c:29ff:fe28:fd4c/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU
    :1500  Metric:1
              RX packets
    :6119 errors:0 dropped:0 overruns:0 frame:0
              TX packets
    :4841 errors:0 dropped:0 overruns:0 carrier:0
              collisions
    :0 txqueuelen:1000
              RX bytes
    :6127464 (5.8 MiB)  TX bytes:539648 (527.0 KiB)
              
    Interrupt:18 Base address:0x2000 

    تخصیص آدرس IP و Gateway

    تخصیص یک آدرس IP و Gateway به اینترفیس در زمان اجرا تنظیمات پس از ریبوت سیستم حذف خواهد شد.
    کد PHP:
     # ifconfig eth0 192.168.50.5 netmask 255.255.255.0 


    Enable یا disable کردن اینترفیس مورد نظر

    برای enable یا disable کردن اینترفیس مورد نظر، ما از مثال های زیر استفاده می کنیم :
    Enable eth0
    کد PHP:
    # ifup eth0 
    Disable eth0
    کد PHP:
    # ifdown eth0 


    تنظیمات سایز MTU

    بطور پیش فرض، سایز MTU مقدار 1500 می باشد. ما میتوانیم سایز MTU را بر حسب نیاز با دستور زیر تغییر دهیم. XXXX را با سایز مورد نظر جایگزین کنید.
    کد PHP:
    # ifconfig eth0 mtu XXXX 


    تنظیم اینترفیس در حالت promiscuous

    اینترفیس شبکه تنها پکت ها یی را دریافت می کند که متعلق به NIC خاصی هستند. اگر شما اینترفیس را در حالت promiscuous قرار دهید تمام پکت ها را دریافت می کند. این ویژگی برای capture کردن و آنالیز کردن پکت ها بسیار قابل استفاده است. برای این شما نیاز به دسترسی superuser دارید.
    کد PHP:
    # ifconfig eth0 - promisc 


    2 - دستور PING

    دستور PING (مخفف Packet Internet Groper) بهترین راه برای چک کردن برقراری ارتباط بین دو node می باشد. اینکه آن شبکه محلی LAN و یا شبکه جهانی WAN می باشد. PING از پروتکل ICMP (مخفف Internet Control Message Protocol) جهت برقراری ارتباط بین دیوایس ها استفاده می کند. شما می توانید نام هاست یا آدرس IP را با استفاده از دستور زیر ping کنید .
    کد PHP:
     # ping 4.2.2.2

    PING 4.2.2.2 (4.2.2.256(84bytes of data.
    64 bytes from 4.2.2.2icmp_seq=1 ttl=44 time=203 ms
    64 bytes from 4.2.2.2
    icmp_seq=2 ttl=44 time=201 ms
    64 bytes from 4.2.2.2
    icmp_seq=3 ttl=44 time=201 ms

    OR

    # ping www.linux-zone.org

    PING tecmint.com (88.198.246.21856(84bytes of data.
    64 bytes from 88.198.246.218icmp_seq=1 ttl=47 time=284 ms
    64 bytes from 88.198.246.218
    icmp_seq=2 ttl=47 time=287 ms
    64 bytes from 88.198.246.218
    icmp_seq=3 ttl=47 time=285 ms 
    دستور ping در لینوکس تا زمانیکه شما وقفه ایجاد نکنید اجرا می شود. Ping با گزینه –c بعد از N تعداد درخواست متوقف می شود.
    کد PHP:
     # ping -c 5 www.linux-zone.org

    PING tecmint.com (88.198.246.21856(84bytes of data.
    64 bytes from 88.198.246.218icmp_seq=1 ttl=47 time=285 ms
    64 bytes from 88.198.246.218
    icmp_seq=2 ttl=47 time=285 ms
    64 bytes from 88.198.246.218
    icmp_seq=3 ttl=47 time=285 ms
    64 bytes from 88.198.246.218
    icmp_seq=4 ttl=47 time=285 ms
    64 bytes from 88.198.246.218
    icmp_seq=5 ttl=47 time=285 ms

    --- linux-zone.org ping statistics ---
    5 packets transmitted5 received0packet losstime 4295ms
    rtt min
    /avg/max/mdev 285.062/285.324/285.406/0.599 ms 


    3 - دستور TRACEROUTE

    Traceroute یک ابزار عیب یابی در شبکه است که تعداد hop هایی که در مسیر رسیدن به مقصد وجود دارند را نمایش می دهد. در زیر ما trace می کنیم مسیر را به آدرس IP سرور DNS و به مقصد می رسیم و همچنین مسیر پکت ها را در طول سفر نمایش می دهد.
    کد PHP:
      # traceroute 4.2.2.2

    traceroute to 4.2.2.2 (4.2.2.2), 30 hops max60 byte packets
     1  192.168.50.1 
    (192.168.50.1)  0.217 ms  0.624 ms  0.133 ms
     2  227.18.106.27
    .mysipl.com (27.106.18.227)  2.343 ms  1.910 ms  1.799 ms
     3  221
    -231-119-111.mysipl.com (111.119.231.221)  4.334 ms  4.001 ms  5.619 ms
     4  10.0.0.5 
    (10.0.0.5)  5.386 ms  6.490 ms  6.224 ms
     5  gi0
    -0-0.dgw1.bom2.pacific.net.in (203.123.129.25)  7.798 ms  7.614 ms  7.378 ms
     6  115.113.165.49
    .static-mumbai.vsnl.net.in (115.113.165.49)  10.852 ms  5.389 ms  4.322 ms
     7  ix
    -0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5)  5.836 ms  5.590 ms  5.503 ms
     8  
    if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17)  216.909 ms  198.864 ms  201.737 ms
     9  
    if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2)  203.305 ms  203.141 ms  202.888 ms
    10  
    if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6)  200.552 ms  202.463 ms  202.222 ms
    11  
    if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26)  205.446 ms  215.885 ms  202.867 ms
    12  
    if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2)  202.675 ms  201.540 ms  203.972 ms
    13  
    if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18)  203.732 ms  203.496 ms  202.951 ms
    14  
    if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2)  203.858 ms  203.373 ms  203.208 ms
    15  66.198.111.26 
    (66.198.111.26)  201.093 ms 63.243.128.25  (63.243.128.25)  206.597 ms 66.198.111.26 (66.198.111.26)  204.178 ms
    16  ae9
    .edge1.NewYork.Level3.net (4.68.62.185)  205.960 ms  205.740 ms  205.487 ms
    17  vlan51
    .ebr1.NewYork2.Level3.net (4.69.138.222)  203.867 ms  vlan52.ebr2.NewYork2.Level3.net (4.69.138.254)  202.850 ms  vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  202.351 ms
    18  ae
    -6-6.ebr2.NewYork1.Level3.net (4.69.141.21)  201.771 ms  201.185 ms  201.120 ms
    19  ae
    -81-81.csw3.NewYork1.Level3.net (4.69.134.74)  202.407 ms  201.479  ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46)  208.145 ms
    20  ae
    -2-70.edge2.NewYork1.Level3.net (4.69.155.80)  200.572 ms  ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208)  200.402 ms  ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16)  203.573 ms
    21  b
    .resolvers.Level3.net (4.2.2.2)  199.725 ms  199.190 ms  202.488 ms 


    4 - دستور NETSTAT

    دستور NETSTAT (مخفف Network Statistic)، اطلاعات جدول روتینگ و کانکشن و ... را نمایش می دهد. برای نمایش جدول روتینگ از گزینه –r استفاده کنید.
    کد PHP:
         # netstat -r

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    192.168.50.0    
    *               255.255.255.0   U         0 0          0 eth0
    link
    -local      *               255.255.0.0     U         0 0          0 eth0
    default         192.168.50.1    0.0.0.0         UG        0 0          0 eth0 


    5 - دستور DIG

    dig (مخفف domain information groper) اطلاعاتی همچون A record ,CNAME,MX record و ... را از DNS تقاضا می کند. این دستور اساسا جهت query گرفتن از DNS استفاده می شود.
    کد PHP:
     # dig www.linux-zone.org

    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> www.linux-zone.org
    ;; global options: +cmd
    ;; Got answer:
     ;; ->>
    HEADER


    6 - دستور NSLOOKUP

    دستور nslookup نیز جهت پیدا کردن DNS query های مربوطه بکار می رود. مثال های زیر A record مربوط به linux-zone.org را نشان می دهند.
    کد PHP:
     # nslookup www.linux-zone.org
    Server:         4.2.2.2
    Address
    :        4.2.2.2#53

    Non-authoritative answer:
    www.linux-zone.org canonical name linux-zone.org.
    Name:   linux-zone.org
    Address
    88.198.246.218 


    7 - دستور ROUTE

    با استفاده از دستور route نیز می توان جدول روتینگ را مشاهده و دستکاری کرد. جهت نمایش جدول روتینگ پیش فرض در لینوکس دستور زیر را تایپ نمایید.
    کد PHP:
    # route    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.50.0    
    *               255.255.255.0   U     0      0        0 eth0
    link
    -local      *               255.255.0.0     U     1002   0        0 eth0
    default         192.168.50.1    0.0.0.0         UG    0      0        0 eth0 
    حذف و اضافه کردن route ها و default gateway با استفاده از دستورات زیر انجام میشود.


    Route Adding
    کد PHP:
    # route add -net 10.10.10.0/24 gw 192.168.0.1 

    Route Deleting
    کد PHP:
      # route del -net 10.10.10.0/24 gw 192.168.0.1 

    Adding default Gateway
    کد PHP:
      # route add default gw 192.168.0.1 


    8 - دستور HOST

    دستور host برای پیدا کردن نام توسط IP و یا IP توسط نام در IPv4 و IPv6 و همچنین DNS record استفاده می شود.
    کد PHP:
     # host www.google.com

    www.google.com has address 173.194.38.180
    www
    .google.com has address 173.194.38.176
    www
    .google.com has address 173.194.38.177
    www
    .google.com has address 173.194.38.178
    www
    .google.com has address 173.194.38.179
    www
    .google.com has IPv6 address 2404:6800:4003:802::1014 
    با استفاده از گزینه ی –t ما میتوانیم منبع رکوردهای DNS همچون CNAME ,MX ,NS ,SOA را بیابیم.
    کد PHP:
    # host -t CNAME www.redhat.com    www.redhat.com is an alias for wildcard.redhat.com.edgekey.net. 


    9 - دستور ARP

    دستور ARP (مخفف Adress Resolution Protocol) جهت نمایش و اضافه کردن محتوای جدول ARP کرنل بکار میرود. برای دیدن جدول پیش فرض دستور زیر را استفاده کنید.
    کد PHP:
     # arp -e

    Address                  HWtype  HWaddress           Flags Mask            Iface
    192.168.50.1             ether   00
    :50:56:c0:00:08   C                     eth0 


    10 - دستور ETHTOOL

    Ethtool جایگزینی برای mii-tool می باشد. این دستور تنظیمات speed و duplex کارت اینترفیس شبکه (NIC) شما را نشان می دهد. شما می توانید duplex را به صورت دائمی در فایل /etc/sysconfig/network-scripts/icfg-eth0 با استفاده از متغیر ETHTOOL_OPTS تعریف کنید.
    کد PHP:
         # ethtool eth0

    Settings for eth0:
            
    Current message level0x00000007 (7)
            
    Link detectedyes 


    11 - دستور IWCONFIG

    دستور iwconfig در لینوکس جهت کانفیگ کارت شبکه وایرلس بکار میرود. شما می توانید تنظیمات اولیه Wi-Fi همچون SSID و encryption را مشاهده و تنظیم کنید.
    کد PHP:
     # iwconfig [interface] 


    12 - دستور HOSTNAME

    Hostname جهت شناسایی یک شبکه می باشد. دستور hostname را جهت مشاهده ی نام هاست خود اجرا کنید. شما می توانید hodtname را به صورت دائمی در فایل/etc/sysconfig/network تنظیم نمایید. پس از آن لازم است که سیستم را یکبار ریبوت نمایید.
    کد PHP:
     # hostname

    Linux-zone.org 


    13 - ابزار گرافیکی system-config-network

    جهت تنظیمات شبکه خود به صورت گرافیکی، system-config-network را در خط فرمان تایپ نمایید و شما رابط گرافیکی کاربر (GUI) زیبایی را خواهید دید که همچنین جهت تنظیمات آدرس IP و MAC و Gateway می توان از آن استفاده کرد. همچون تصویر زیر :
    کد PHP:
     # system-config-network 
    برای دیدن سایز بزرگ روی عکس کلیک کنیدنام: 2.pngمشاهده: 1حجم: 43.5 کیلو بایت





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

    نحوه پیدا کردن پورت های باز در سرور لینوکس

    دستور netstat برای مدیریت شبکه در لینوکس

    راهنمای جامع برای یک Sysadmin لینوکس به منظور مدیریت، عیب یابی و برطرف کردن مشکلات شبکه

    دستور ip برای تنظیمات اینترفیس شبکه به همراه 10 مثال عملی


    این مقاله می تواند برای ادمین های شبکه لینوکس جهت کارهای روزمره در سیستم عامل های مبتنی بر Unix و لینوکس مناسب باشد.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-02-2021, 03:32 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

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

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

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