13 פקודות להגדרת רשת ופיתרון בעיות ב-Linux

מחשבים מחוברים ברשת כדי להחליף מידע או משאבים זה עם זה. שני או יותר מחשבים מחוברים דרך מדיה של רשת הנקראת רשת מחשבים. קיימים מספר מכשירי רשת או מדיה המעורבים להקמת רשת מחשבים.

מחשב שטעון במערכת הפעלה Linux יכול גם להיות חלק מרשת בין אם זו רשת קטנה או רשת גדולה על ידי טבעות רב משימה ורב משתמש שלו. השמירה על המערכת והרשת פעילה היא משימת המנהל/ת של מערכת/רשת.

[ תוכל גם לאהוב: 22 פקודות רשת Linux למנהלי מערכות ]

במאמר זה, אנו מתכוונים לבדוק את הפקודות להגדרת רשת ולפתרון בעיות הן ברשת.

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, וכו'. עם האפשרות -a תציג את כל פרטי הממשק הזמינים אם הוא מנוטרל גם.

# 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 ושער בשרת לינוקס

הקצאת כתובת IP ו-שער לממשק בזמן ריצה. ההגדרה תימחק במקרה של אתחול מערכת.

# 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

הגדרת ממשק במצב פרומיסקוואוס

ממשק הרשת מקבל רק חבילות ששייכות לכרטיס הרשת המסוים ההוא. אם תציבו את הממשק במצב פרומיסקוואוס הוא יקבל את כל החבילות. זה מאוד שימושי ללכידת חבילות וניתוחן מאוחר יותר. עבור זה, ייתכן שיהיה נדרש גישה כמנהל.

# ifconfig eth0 - promisc

עדכון: הפקודה ifconfig הוחלפה בפקודת IP ברוב ההפצות החדשות של לינוקס.

2. פקודת פינג

פִּינְג (Packet INternet Groper) הפקודה היא הדרך הטובה ביותר לבדוק קישוריות בין שני צמתים. בין אם זהו רשת אזור מקומי (LAN) או רשת אזור רחב (WAN).

פִּינְג משתמש ב־ICMP (Internet Control Message Protocol) כדי לתקשר עם מכשירים אחרים. אתה יכול לעשות פִּינְג לשם מאחסן או לכתובת IP באמצעות הפקודות למטה.

# 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.tecmint.com

PING tecmint.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

בפקודת פִּינְג ב־לינוקס הפקודה ממשיכה לבצע עד שאתה מפסיק. פִּינְג עם אפשרות -c יצא לאחר N מספר בקשות (הצלחה או תגובת שגיאה).

# ping -c 5 www.tecmint.com

PING tecmint.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

--- tecmint.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 היא יישום תיקון ברשת שמציג את מספר הדרכים הנלקחות כדי להגיע ליעד וגם מקבעת את נתיב החבילות שנוסעות. למטה אנו מעקוב אחר הנתיב אל שרת ה־DNS הגלובלי כתובת IP ומצליחים להגיע ליעד וגם מציגים את הנתיב של החבילה הזו.

# 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 Command, יש לקרוא את המאמר הקודם שלנו על 20 Netstat Command Examples in Linux.

עדכון: פקודת netstat הוחלפה על ידי פקודת ss (socket statistics) ברוב ההפצות המודרניות של Linux.

5. פקודת Dig

Dig (domain information groper) משתמשת בשאילתות לקבלת מידע קשור ל־DNS כגון רשומת A, CNAME, רשומת MX, וכו'. הפקודה הזו בעיקר משמשת לטיפול בבעיות בשאילתות DNS.

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

למידע נוסף על פקודת Dig, יש לקרוא את המאמר על 10 Linux Dig Commands to Query DNS.

6. פקודת Nslookup

פקודת nslookup נעשית שימוש גם כדי לקבל מידע קשור לשאילתות DNS. הדוגמאות הבאות מציגות רשומת A (כתובת IP) של tecmint.com.

# nslookup www.tecmint.com
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
www.tecmint.com canonical name = tecmint.com.
Name:   tecmint.com
Address: 50.116.66.136

למידע נוסף על פקודת Nslookup, יש לקרוא את המאמר על 8 Linux Nslookup Command Examples.

7. פקודת Route

נתיב פקודת מערכת מציגה ומניה את טבלת הניתוב של IP. כדי לראות את טבלת הניתוב הברירת מחדל ב- Linux, הקלד את הפקודה הבאה.

# 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

הוספת, מחיקת נתיבים ושער ברירת מחדל עם הפקודות הבאות.

הוספת נתיב ב- Linux
# route add -net 10.10.10.0/24 gw 192.168.0.1
מחיקת נתיב ב- Linux
# route del -net 10.10.10.0/24 gw 192.168.0.1
הוספת שער ברירת מחדל ב- Linux
# route add default gw 192.168.0.1

8. פקודת מארח

מארח פקודה למציאת שם ל- 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 פקודה ב־Linux משמשת להגדרת ממשק רשת אלחוטית. ניתן לראות ולהגדיר את פרטי ה־ממשק Wi-Fi הבסיסיים כמו SSID, ערוץ והצפנה. ניתן לעיין בעמוד העזר של iwconfig כדי לדעת עוד.

# iwconfig [interface]

12. פקודת Hostname

ה־hostname הוא לזיהוי ברשת. בצע את פקודת ה־hostname כדי לראות את שם המארח של המחשב שלך. ניתן להגדיר hostname לצמיתות ב־/etc/sysconfig/network. יש לאתחל את המחשב לאחר הגדרת שם מארח תקני.

# hostname 

tecmint.com

13. כלי Nmcli ו־Nmtui

הכלים Nmcli ו־Nmtui משמשים להגדרת הגדרות רשת וכן לניהול מכשירי רשת, יצירה, שינוי, הפעלה/כיבוי ומחיקת חיבורי רשת במערכות Linux.

# nmcli
# nmtui
Nmtui Network Manager

מאמר זה עשוי להיות שימושי למנהלי רשת של Linux במערכות דומות ל־Unix בשימוש יומיומי. אנא שתפו איתנו דרך תיבת התגובה אם פספסנו משהו.

Source:
https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/