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 กรุณาแบ่งปันผ่านช่องแสดงความคิดเห็นของเราหากเราพลาด