Top 13 các lệnh Linux khắc phục sự cố và cấu hình mạng

Máy tính được kết nối vào mạng để trao đổi thông tin hoặc tài nguyên với nhau. Hai hoặc nhiều máy tính được kết nối thông qua phương tiện mạng gọi là mạng máy tính. Có một số thiết bị mạng hoặc phương tiện được liên quan để tạo thành một mạng máy tính. Máy tính được tải với hệ điều hành Linux cũng có thể là một phần của mạng, dù đó là mạng nhỏ hay lớn bởi tính năng đa nhiệm và đa người dùng của nó. Bảo trì hệ thống và mạng cả thời gian là nhiệm vụ của Quản trị viên hệ thống/Mạng. Trong bài viết này, chúng tôi sẽ xem xét các lệnh Linux cấu hình mạng và sửa lỗi được sử dụng thường xuyên.

1. Lệnh ifconfig

Lệnh ifconfig (cấu hình giao diện) được sử dụng để khởi tạo một giao diện, gán địa chỉ IP cho giao diện và bật hoặc tắt giao diện theo yêu cầu.

Với lệnh này, bạn có thể xem địa chỉ IP và địa chỉ vật lý / địa chỉ MAC được gán cho giao diện và cũng kích thức MTU (đơn vị truyền gửi tối đa).

# 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)

Lệnh ifconfig với giao diện (eth0) chỉ hiển thị chi tiết giao diện cụ thể như địa chỉ IPđịa chỉ MAC, v.v. với tùy chọn -a sẽ hiển thị tất cả chi tiết giao diện có sẵn kể cả khi bị tắt.

# 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

Đặt địa chỉ IP và Gateway trong Linux

Gán một địa chỉ IP và Gateway cho giao diện một cách nhanh chóng. Cài đặt sẽ bị xóa khi khởi động lại hệ thống.

# ifconfig eth0 192.168.50.5 netmask 255.255.255.0

Bật hoặc Tắt Giao diện Cụ thể

Để bật hoặc tắt một giao diện cụ thể, chúng ta sử dụng lệnh ví dụ như sau.

Bật eth0

# ifup eth0

Tắt eth0

# ifdown eth0

Đặt Kích thước MTU

Mặc định, kích thước MTU là 1500. Chúng ta có thể đặt kích thước MTU yêu cầu bằng lệnh dưới đây. Thay thế XXXX bằng kích thước.

# ifconfig eth0 mtu XXXX

Đặt Giao diện về Chế độ Bắt hết Gói tin

Giao diện mạng chỉ nhận các gói tin thuộc về cái NIC cụ thể đó. Nếu bạn đưa giao diện vào chế độ bắt hết thì nó sẽ nhận tất cả các gói tin. Điều này rất hữu ích để bắt và phân tích các gói tin sau này. Đối với điều này, bạn có thể cần quyền truy cập root.

# ifconfig eth0 - promisc

Cập nhật: Lệnh ifconfig được thay thế bằng lệnh IP trong hầu hết các bản phân phối Linux hiện đại.

2. Lệnh Ping

Ping (Gửi gói tin) là cách tốt nhất để kiểm tra kết nối giữa hai nút. Cho dù đó là Mạng Cục bộ (LAN) hoặc Mạng Rộng (WAN).

Ping sử dụng ICMP (Giao thức Tin nhắn Điều khiển Internet) để giao tiếp với các thiết bị khác. Bạn có thể ping tên máy chủ hoặc địa chỉ ip sử dụng các lệnh dưới đây.

# 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

Trong lệnh ping Linux, lệnh sẽ tiếp tục thực thi cho đến khi bạn bấm ngừng. Ping với tùy chọn -c sẽ thoát sau N số lượng yêu cầu (thành công hoặc không phản hồi).

# 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. Lệnh Traceroute

traceroute là tiện ích sửa lỗi mạng hiển thị số lượng bước cần để đến đích và cũng xác định đường đi các gói tin đi. Dưới đây, chúng ta đang theo dõi đường dẫn đến địa chỉ IP máy chủ DNS toàn cầu và có thể đến được đích cũng sẽ hiển thị đường đi của gói tin đang đi qua.

# 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. Lệnh Netstat

Netstat (Thống kê mạng) lệnh hiển thị thông tin kết nối, thông tin bảng định tuyến, v.v. Để hiển thị thông tin bảng định tuyến, sử dụng tùy chọn -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

Để biết thêm ví dụ về Lệnh Netstat, vui lòng đọc bài viết trước của chúng tôi về 20 Ví dụ Lệnh Netstat trong Linux.

Cập nhật: Lệnh netstat được thay thế bằng lệnh ss (thống kê socket) trong hầu hết các bản phân phối Linux hiện đại.

5. Lệnh Dig

Dig (thông tin truy vấn miền) truy vấn thông tin liên quan đến DNS như A Record, CNAMEBản MX, v.v. Lệnh này chủ yếu được sử dụng để sửa lỗi đúng dạng 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<

Để biết thêm ví dụ về Lệnh Dig, vui lòng đọc bài viết về 10 Lệnh Dig Linux để Truy vấn DNS.

6. Lệnh Nslookup

lệnh nslookup cũng được sử dụng để tìm các truy vấn liên quan đến DNS. Ví dụ dưới đây cho thấy A Record (địa chỉ IP) của 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

Để biết thêm về lệnh nslookup, hãy đọc bài viết về 8 Ví dụ Lệnh Nslookup Linux.

7. Lệnh Route

Lệnh route cũng hiển thị và điều chỉnh bảng định tuyến ip. Để xem bảng định tuyến mặc định trong Linux, gõ lệnh sau đây.

# 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

Thêm, xóa tuyến và cổng mặc định bằng các lệnh sau đây.

Thêm tuyến trong Linux

# route add -net 10.10.10.0/24 gw 192.168.0.1

Xóa tuyến trong Linux

# route del -net 10.10.10.0/24 gw 192.168.0.1

Thêm cổng mặc định trong Linux

# route add default gw 192.168.0.1

8. Lệnh Host

Lệnh host để tìm kiếm tên IP hoặc IP thành tên trong IPv4 hoặc IPv6 và cũng truy vấn bản ghi 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

Sử dụng tùy chọn -t để tìm các bản ghi tài nguyên DNS như CNAMENSMXSOA, v.v.

# host -t CNAME www.redhat.com

www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.

9. Lệnh Arp

ARP (Giao thức Giải địa chỉ) hữu ích để xem/thêm nội dung của bảng ARP của nhân kernel. Để xem bảng mặc định, dùng lệnh sau.

# arp -e

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

10. Lệnh Ethtool

ethtool là một công cụ thay thế cho mii-tool. Nó được sử dụng để xem, đặt tốc độ và duplex của Thẻ Giao diện Mạng (NIC). Bạn có thể đặt duplex vĩnh viễn trong tệp /etc/sysconfig/network-scripts/ifcfg-eth0 bằng biến ETHTOOL_OPTS.

# ethtool eth0

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

11. Lệnh Iwconfig

Lệnh iwconfig trong Linux được sử dụng để cấu hình một Giao diện Mạng Không dây. Bạn có thể xem và đặt các chi tiết cơ bản về Wi-Fi như SSID kênh và mã hóa. Bạn có thể tham khảo trang man của iwconfig để biết thêm chi tiết.

# iwconfig [interface]

12. Lệnh Hostname

Hostname là để xác định trong mạng. Thực hiện lệnh hostname để xem tên máy của bạn. Bạn có thể đặt tên máy vĩnh viễn trong /etc/sysconfig/network. Cần khởi động lại máy sau khi đặt tên chính xác.

# hostname 

tecmint.com

13. Công cụ Nmcli và Nmtui

Công cụ Nmcli và Nmtui được sử dụng để cấu hình các thiết lập mạng và cũng được sử dụng để quản lý các thiết bị mạng, tạo, sửa đổi, bật/tắt và xóa kết nối mạng trong các hệ điều hành Linux.

# nmcli
# nmtui
Nmtui Network Manager

Bài viết này có thể hữu ích cho việc sử dụng các lệnh Linux hàng ngày của Quản trị viên mạng Linux trong các hệ điều hành Linux / Unix-like.