13 دستورات پیکربندی و عیب یابی شبکه لینوکس
30 جولای 2022
خواندن 4 دقیقه
نیکو رنجبر

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

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

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

1. دستور ifconfig

دستور ifconfig برای مقداردهی اولیه یک رابط، اختصاص آدرس IP به رابط و فعال یا غیرفعال کردن رابط در صورت تقاضا استفاده می شود.

با استفاده از این دستور می توانید آدرس IP و آدرس سخت افزار یا MAC اختصاص داده شده به رابط و همچنین اندازه MTU (حداکثر واحد انتقال) را مشاهده کنید.

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 و غیره را نشان می‌دهد و در صورت غیرفعال بودن، یک گزینه تمام جزئیات رابط موجود را نمایش می‌دهد.

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 به رابط در پرواز. در صورت راه اندازی مجدد سیستم، تنظیمات حذف خواهد شد.

ifconfig eth0 192.168.50.5 netmask 255.255.255.0

فعال یا غیرفعال کردن رابط خاص

برای فعال یا غیرفعال کردن یک رابط خاص، از دستور زیر استفاده می کنیم:

فعال سازی eth0

ifup eth0

غیرفعال سازی eth0

ifdown eth0

تنظیم اندازه MTU

به طور پیش فرض اندازه MTU 1500 است. می توانیم اندازه MTU مورد نیاز را با دستور زیر تنظیم کنیم. XXXX را با اندازه مورد نظر جایگزین کنید.

ifconfig eth0 mtu XXXX

تنظیم رابط در Promiscuous Mode

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

ifconfig eth0 - promisc

بروز رسانی: دستور ifconfig در اکثر توزیع های مدرن لینوکس با دستور IP جایگزین می شود.

2. دستور Ping

دستور Ping (Packet Internet Groper) بهترین راه برای آزمایش اتصال بین دو node، چه شبکه محلی (LAN) و چه شبکه گسترده (WAN) است.

Ping از ICMP (پروتکل پیام کنترل اینترنت) برای برقراری ارتباط با دستگاه های دیگر استفاده می کند. با استفاده از دستورات زیر می توانید نام میزبان یا آدرس IP را Ping کنید.

ping 4.2.2.2
PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_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.domain.com
PING domain.com (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms

در دستور ping مرحله اجرا را ادامه دهید تا زمانی که وقفه ایجاد کنید. ping با c- پس از تعداد مشخصی درخواست (موفق یا همراه با خطا) خارج می شود.

ping -c 5 www.domain
PING domain.com (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms
--- domain.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4295ms
rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms

3. دستور Traceroute

traceroute یک ابزار عیب‌یابی شبکه است که تعداد پرش‌های انجام شده برای رسیدن به مقصد را نشان می‌دهد و همچنین مسیر سفر بسته‌ها را تعیین می‌کند. در بخش پایین مسیر آدرس IP سرور جهانی DNS را ردیابی می‌کنیم و همچنین مسیری مقصدی که طی می شود نشان داده می شود.

traceroute 4.2.2.2
traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 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- استفاده کنید.

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

به روز رسانی: دستور netstat با دستور ss (Socket statistics) در اکثر توزیع های مدرن لینوکس جایگزین می شود.

5. دستور Dig

این دستور اطلاعات مربوط به DNS مانند A Record، CNAME، MX Record و غیره را جستجو می کند. دستور dig عمدتاً برای عیب یابی پرس و جوهای مرتبط با DNS استفاده می شود.

dig www.domain.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> www.domain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

6. دستور Nslookup

دستور nslookup نیز برای یافتن پرس و جوهای مرتبط با DNS استفاده می شود. مثال های زیر یک رکورد (آدرس IP) از admin.com را نشان می دهد.

nslookup www.domain.com
Server:         4.2.2.2
Address:        4.2.2.2#53
Non-authoritative answer:
www.domain.com canonical name = domain.com.
Name:   domain.com
Address: 50.116.66.136

7. دستور Route

دستور route نیز جدول مسیریابی IP را نشان داده و دستکاری می کند. برای مشاهده جدول مسیریابی پیش فرض در لینوکس، دستور زیر را تایپ کنید.

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

دستورات اضافه کردن، حذف مسیر ها و default Gateway

دستور اضافه کردن مسیر در لینوکس

route add -net 10.10.10.0/24 gw 192.168.0.1

دستور حذف مسیر در لینوکس

route del -net 10.10.10.0/24 gw 192.168.0.1

دستور اضافه کردن default gateway در لینوکس

route add default gw 192.168.0.1

8. دستور Host

دستور Host برای یافتن نام IP یا IP برای نامگذاری در IPv4 یا IPv6 و همچنین پرس و جو از سوابق DNS می باشد.

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، NS، MX، SOA و غیره می باشد.

host -t CNAME www.redhat.com
www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.

9. دستور ARP

ARP (پروتکل حل آدرس) برای مشاهده یا افزودن محتویات جدول های ARP هسته، مفید است. برای دیدن جدول پیش فرض از دستور زیر استفاده کنید:

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 است. این دستور برای مشاهده، تنظیم سرعت و دوبلکس کارت رابط شبکه شما (NIC) کاربرد دارد. می‌توانید متغیر etc/sysconfig/network-scripts/ifcfg-eth0/ را بطور دائم با متغیر ETHTOOL_OPTS تنظیم کنید.

ethtool eth0
Settings for eth0:
        Current message level: 0x00000007 (7)
        Link detected: yes

11. دستور Iwconfig

دستور iwconfig در لینوکس برای پیکربندی رابط شبکه بی سیم استفاده می شود. می توانید جزئیات اولیه وای فای مانند کانال SSID و رمزگذاری را ببینید و تنظیم کنید. برای اطلاعات بیشتر می توانید به صفحه man iwconfig مراجعه کنید.

iwconfig [interface]

12. دستور Hostname

hostname برای شناسایی در یک شبکه استفاده می شود. دستور hostname را اجرا کنید تا نام میزبان جعبه خود را ببینید. شما می توانید hostname را به طور دائم در etc/sysconfig/network/ تنظیم کنید. پس از تنظیم یک نام میزبان مناسب، باید جعبه را مجددا راه اندازی کنید.

hostname
domain.com

13. ابزار Nmcli و Nmtui

ابزار Nmcli و Nmtui برای پیکربندی تنظیمات شبکه و همچنین برای مدیریت دستگاه های شبکه، ایجاد، تغییر، فعال یا غیرفعال کردن و حذف اتصالات شبکه در سیستم های لینوکس استفاده می شود.

nmcli
nmtui

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

نتیجه گیری

در این آموزش 13 دستورات پیکربندی و عیب یابی شبکه لینوکس را بررسی کردیم. این آموزش می تواند برای استفاده روزمره مدیران شبکه لینوکس در سیستم عامل های مشابه لینوکس یا یونیکس کاربرد داشته باشد. امیدوارم این مقاله برایتان مفید بوده باشد. نظرات خود را از طریق فرم زیر با ما به اشتراک بگذارید.

نویسنده مقاله
نویسنده / @نیکو رنجبر
مقالات مرتبط
دیدگاه بگذارید