ค้นหาเว็บไซต์

13 คำสั่งการกำหนดค่าเครือข่าย Linux และการแก้ไขปัญหา


คอมพิวเตอร์เชื่อมต่อกันเป็นเครือข่ายเพื่อแลกเปลี่ยนข้อมูลหรือทรัพยากรระหว่างกัน คอมพิวเตอร์ตั้งแต่สองเครื่องขึ้นไปเชื่อมต่อกันผ่านสื่อเครือข่ายที่เรียกว่า เครือข่ายคอมพิวเตอร์ มีอุปกรณ์เครือข่ายหรือสื่อจำนวนหนึ่งที่เกี่ยวข้องเพื่อสร้างเครือข่ายคอมพิวเตอร์

คอมพิวเตอร์ที่โหลด ระบบปฏิบัติการ Linux ยังสามารถเป็นส่วนหนึ่งของเครือข่ายได้ ไม่ว่าจะเป็นเครือข่ายขนาดเล็กหรือขนาดใหญ่ โดยลักษณะการทำงานหลายอย่างพร้อมกันและผู้ใช้หลายราย การดูแลรักษาระบบและเครือข่ายและทำงานเป็นงานของงาน ผู้ดูแลระบบ/ผู้ดูแลระบบเครือข่าย

ในบทความนี้ เราจะตรวจสอบการกำหนดค่าเครือข่ายที่ใช้บ่อยและแก้ไขปัญหาคำสั่งใน 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 และเกตเวย์ใน Linux

การกำหนด ที่อยู่ 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

ตั้งค่าอินเทอร์เฟซในโหมด Promiscuous

อินเทอร์เฟซเครือข่าย ได้รับเฉพาะแพ็กเก็ตที่เป็นของ NIC นั้นเท่านั้น หากคุณกำหนดให้อินเทอร์เฟซอยู่ในโหมด สำส่อน อินเทอร์เฟซจะได้รับแพ็กเก็ตทั้งหมด สิ่งนี้มีประโยชน์มากในการจับแพ็กเก็ตและวิเคราะห์ในภายหลัง สำหรับสิ่งนี้ คุณอาจต้องมีสิทธิ์เข้าถึงแบบผู้ใช้ระดับสูง

ifconfig eth0 - promisc

อัปเดต: คำสั่ง ifconfig จะถูกแทนที่ด้วยคำสั่ง IP ใน Linux รุ่นใหม่ส่วนใหญ่

2. คำสั่งปิง

คำสั่ง Ping (Packet INternet Groper) เป็นวิธีที่ดีที่สุดในการทดสอบการเชื่อมต่อระหว่าง สองโหนด ไม่ว่าจะเป็น เครือข่ายท้องถิ่น (LAN) หรือ เครือข่ายบริเวณกว้าง (WAN)

Ping ใช้ ICMP (Internet Control Message Protocol) เพื่อสื่อสารกับอุปกรณ์อื่น คุณสามารถ ping ชื่อโฮสต์หรือ ที่อยู่ 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 linux-console.net

PING linux-console.net (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 Linux ให้ดำเนินการต่อไปจนกว่าคุณจะขัดจังหวะ การ Ping ด้วยตัวเลือก -c ออกหลังจากจำนวนคำขอ N จำนวน (ตอบสนองสำเร็จหรือผิดพลาด)

ping -c 5 linux-console.net

PING linux-console.net (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

--- linux-console.net 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 (สถิติเครือข่าย) แสดงข้อมูลการเชื่อมต่อ ข้อมูลตารางเส้นทาง ฯลฯ หากต้องการแสดงข้อมูลตารางเส้นทาง ให้ใช้ตัวเลือกเป็น -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 โปรดอ่านบทความก่อนหน้าของเราเกี่ยวกับตัวอย่างคำสั่ง Netstat 20 รายการใน Linux

อัปเดต: คำสั่ง netstat ถูกแทนที่ด้วยคำสั่ง ss (สถิติซ็อกเก็ต) ใน Linux รุ่นใหม่ส่วนใหญ่

5. คำสั่งขุด

ขุด (กลุ่มข้อมูลโดเมน) ค้นหาข้อมูลที่เกี่ยวข้องกับ DNS เช่น A Record, CNAME , บันทึก MX ฯลฯ คำสั่งนี้ใช้เพื่อแก้ไขปัญหาการสืบค้น DNS ที่เกี่ยวข้อง เป็นหลัก

dig linux-console.net; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> linux-console.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

สำหรับตัวอย่างเพิ่มเติมของ คำสั่ง Dig โปรดอ่านบทความเกี่ยวกับ 10 คำสั่ง Linux Dig เพื่อสืบค้น DNS

6. คำสั่ง Nslookup

คำสั่ง nslookup ยังใช้เพื่อค้นหาข้อความค้นหา ที่เกี่ยวข้องกับ DNS อีกด้วย ตัวอย่างต่อไปนี้แสดงบันทึก A (ที่อยู่ IP) ของ linux-console.net

nslookup linux-console.net
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
linux-console.net canonical name = linux-console.net.
Name:   linux-console.net
Address: 50.116.66.136

หากต้องการ คำสั่ง Nslookup เพิ่มเติม โปรดอ่านบทความเกี่ยวกับตัวอย่างคำสั่ง Linux Nslookup 8 ตัวอย่าง

7. คำสั่งเส้นทาง

คำสั่ง เส้นทาง ยังแสดงและจัดการตารางเส้นทาง 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

การเพิ่ม ลบ เส้นทาง และ Gateway เริ่มต้น ด้วยคำสั่งต่อไปนี้

เพิ่มเส้นทางใน 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. คำสั่งโฮสต์

คำสั่ง 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 (Address Resolution Protocol) มีประโยชน์ในการ ดู/เพิ่ม เนื้อหาของ ตาราง 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 และการเข้ารหัส คุณสามารถอ้างอิง man page ของ iwconfig เพื่อทราบข้อมูลเพิ่มเติม

iwconfig [interface]

12. คำสั่งชื่อโฮสต์

ชื่อโฮสต์คือการระบุในเครือข่าย ดำเนินการคำสั่ง ชื่อโฮสต์ เพื่อดูชื่อโฮสต์ของกล่องของคุณ คุณสามารถตั้งชื่อโฮสต์อย่างถาวรได้ใน /etc/sysconfig/network จำเป็นต้องรีบูทกล่องเมื่อตั้งชื่อโฮสต์ที่เหมาะสม

hostname 

linux-console.net

13. เครื่องมือ Nmcli และ Nmtui

เครื่องมือ Nmcli และ Nmtui ใช้เพื่อกำหนดการตั้งค่าเครือข่าย และยังใช้เพื่อจัดการอุปกรณ์เครือข่าย สร้าง แก้ไข เปิด/ปิดใช้งาน และลบการเชื่อมต่อเครือข่ายในระบบ Linux

nmcli
nmtui

บทความนี้มีประโยชน์สำหรับการใช้งานในแต่ละวันของผู้ดูแลระบบเครือข่าย Linux ใน Linux/ระบบปฏิบัติการแบบ Unix กรุณาแบ่งปันผ่านช่องแสดงความคิดเห็นของเราหากเราพลาด