13 lệnh cấu hình và khắc phục sự cố mạng trên Centos/Ubuntu
Các máy tính được kết nối trong 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 được gọi là một mạng máy tính. Có một số thiết bị mạng hoặc phương tiện được sử dụng để hình thành một mạng máy tính.
Máy tính chạy Hệ điều hành Linux cũng có thể là một phần của mạng, cho dù đó là một mạng nhỏ hay lớn, nhờ tính đa nhiệm và đa người dùng của nó. Việc duy trì hệ thống và mạng hoạt động là nhiệm vụ của quản trị viên hệ thống/mạng. Dưới đây là các lệnh cấu hình và khắc phục sự cố mạng mà bạn cần biết để quản trị hệ thống.
Lệnh ifconfig
Lệnh "ifconfig" (viết tắt của "interface configurator") đượ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/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ỉ phần cứng/MAC được gán cho giao diện cũng như kích thước MTU (Đơn vị truyền tải tối đa) của giao diện.
# 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ị thông tin chi tiết về 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ả các thông tin về giao diện có sẵn, bao gồm cả những giao diện 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à cổng trong Linux
Gán địa chỉ IP và cổng Gateway cho giao diện ngay lập tức. Các thiết lập này sẽ bị xóa khi hệ thống được khởi động lại.
# ifconfig eth0 192.168.50.5 netmask 255.255.255.0
Kích hoạt hoặc vô hiệu hóa 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.
- Kích hoạt eth0:
# ifup eth0
- Vô hiệu hóa eth0:
# ifdown eth0
Đặt kích thước MTU
Mặc định, kích thước MTU là 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 mong muốn.
# ifconfig eth0 mtu XXXX
Đặt giao diện vào chế độ Promiscuous Mode (chế độ nghe lén)
Giao diện mạng chỉ nhận các gói tin thuộc về giao diện đó. Nếu bạn đặt giao diện vào chế độ Promiscuous Mode (chế độ nghe lén), nó sẽ nhận tất cả các gói tin. Điều này rất hữu ích để bắt gói tin và phân tích chúng sau này. Để làm điều này, bạn có thể cần quyền truy cập superuser (quyền người dùng siêu người dùng).
# 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.
Lệnh ping
Lệnh Ping (Packet INternet Groper) là cách tốt nhất để kiểm tra kết nối giữa hai nút. Cho dù đó là Mạng Nội bộ (LAN) hoặc Mạng Rộng (WAN).
Ping sử dụng giao thức ICMP (Internet Control Message Protocol) để 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 bằng cách 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 trên Linux, nó sẽ tiếp tục thực hiện cho đến khi bạn ngắt. Tuy nhiên, bạn cũng có thể sử dụng tùy chọn -c để kết thúc lệnh ping sau N số yêu cầu (thành công hoặc phản hồi lỗ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
Lệnh traceroute
Traceroute là một tiện ích giúp khắc phục sự cố mạng, nó hiển thị số lượng nhảy (hops) mà gói tin đi qua để đến đích, đồng thời xác định đường đi của các gói tin. Dưới đây là ví dụ chúng ta sẽ truy vết đến địa chỉ IP của máy chủ DNS toàn cầu và kết quả cho thấy chúng ta đã đến được đích và hiển thị đường đi của gói tin đó.
# 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
Lệnh netstat
Lệnh Netstat (Network Statistic) hiển thị thông tin về kết nối, thông tin bảng định tuyến và nhiều thông tin khác. Để hiển thị thông tin bảng định tuyến, chúng ta 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
Để xem 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ụ sử dụng lệnh Netstat trong Linux.
Cập nhật: Lệnh netstat đã được thay thế bằng lệnh ss (socket statistics) trong hầu hết các bản phân phối Linux hiện đại.
Lệnh dig
Lệnh Dig (domain information groper) được sử dụng để truy vấn thông tin liên quan đến DNS như A Record, CNAME, MX Record,... Lệnh này chủ yếu được sử dụng để khắc phục sự cố liên quan đến 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<
Lệnh nslookup
Lệnh nslookup cũng được sử dụng để tìm kiếm các truy vấn liên quan đến DNS. Dưới đây là các ví dụ cho A Record (địa chỉ IP).
# 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
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 trên Linux, bạn nhập lệnh sau:
# 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 đường và cổng mặc định có thể được thực hiện bằng các lệnh sau đây.
- Thêm tuyến đường trong Linux:
# route add -net 10.10.10.0/24 gw 192.168.0.1
- Xóa tuyến đường 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
Lệnh host
Lệnh host được sử dụng để tìm tên tương ứng với địa chỉ IP hoặc địa chỉ IP tương ứng với tên trong IPv4 hoặc IPv6, cũng như truy vấn các 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 kiếm các bản ghi tài nguyên DNS như CNAME, NS, MX, SOA,...
# host -t CNAME www.redhat.com www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
Lệnh arp
Giao thức ARP (Address Resolution Protocol) hữu ích để xem/Thêm các nội dung trong bảng ARP của kernel. Để xem bảng mặc định, sử 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
Lệnh ethtool
ethtool là một công cụ thay thế cho mii-tool. Nó được sử dụng để xem và cấu hình tốc độ và duplex của Card Giao diện Mạng (NIC). Bạn có thể cấu hình duplex một cách lâu dài 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
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à cấu hình các chi tiết cơ bản về Wifi như SSID, kênh và mã hóa. Bạn có thể tham khảo trang man của iwconfig để biết thêm thông tin chi tiết.
# iwconfig [interface]
Lệnh hostname
Tên máy chủ (hostname) được sử dụng để xác định trong một mạng. Sử dụng lệnh hostname để xem tên máy chủ của hệ thống. Bạn có thể cấu hình tên máy chủ một cách lâu dài trong tệp /etc/sysconfig/network. Sau khi thiết lập tên máy chủ đúng, bạn cần khởi động lại hệ thống để áp dụng thay đổi.
# hostname tecmint.com
Công cụ Nmcli và Nmtui
Các công cụ Nmcli và Nmtui được sử dụng để cấu hình các thiết lập mạng và quản lý các thiết bị mạng, tạo, sửa đổi, kích hoạt/vô hiệu hóa và xóa kết nối mạng trên các hệ thống Linux.
# nmcli # nmtui
Các ví dụ về lệnh cấu hình và khắc phục sự cố mạng có thể hữu ích cho việc sử dụng hàng ngày của các nhà quản trị mạng Linux trong các hệ điều hành Linux/Unix tương tự. Nếu bạn hiện đang quản trị mạng Linux thì hãy áp dụng ngay những câu lệnh trên vào công việc để đạt hiệu quả cao.
Mọi người cũng tìm kiếm: ubuntu 2404, lệnh traceroute, kiểm tra đường đi của gói tin, lệnh ping 1000 gói, lệnh ping dùng để, cấu hình card mạng trong ubuntu, lệnh xem ip trên centos 7, promiscuous mode là gì.