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ạng máy tính. Có nhiều thiết bị mạng hoặc phương tiện được sử dụng để tạo thành 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, cho dù đó là mạng nhỏ hay mạng lớn, bởi sự đ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à công việc của người quản trị Hệ thống/Mạng.
Trong bài viết này, chúng ta sẽ xem xét các lệnh cấu hình mạng và gỡ rối thường được sử dụng trong Linux.
1. Lệnh ifconfig
Lệnh ifconfig (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à kích hoạt hoặc vô hiệu hóa 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ỉ MAC của phần cứng được gán cho giao diện và cũng có thể xem kích thước MTU (đơn vị truyền thông 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 kèm với giao diện (eth0) chỉ hiển thị chi tiết cụ thể của giao diện như Địa chỉ IP, Địa chỉ MAC, vv. với tùy chọn -a
sẽ hiển thị tất cả các chi tiết giao diện có sẵn, kể cả khi nó đã bị vô hiệu hó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
Đặt Địa chỉ IP và Cổng mặc định trong Linux
Gán Địa chỉ IP và Cổng mặc định cho giao diện ngay lập tức. Cài đặt sẽ bị xóa trong trường hợp khởi động lại hệ thống.
# 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ể
Để kích hoạt hoặc vô hiệu hóa 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
Thiết lập Kích thước MTU
Mặc định, kích thước MTU là 1500. Chúng ta có thể thiết lập 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 muốn đặt.
# ifconfig eth0 mtu XXXX
Thiết lập Giao diện ở Chế độ Promiscuous
Giao diện mạng chỉ nhận các gói tin thuộc về NIC cụ thể đó. Nếu bạn đặt giao diện ở chế độ promiscuous, 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. Đối với điều này, bạn có thể cần quyền truy cập của người dùng superuser.
# 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 (Packet INternet Groper) là cách tốt nhất để kiểm tra kết nối giữa hai nút. Dù đó là Mạng Khu Vực Cục bộ (LAN) hoặc Mạng Khu Vực 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á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, ping sẽ tiếp tục thực thi cho đến khi bạn ngắt. Ping với tùy chọn -c
sẽ thoát 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
3. Lệnh Traceroute
traceroute là một tiện ích gỡ rối mạng hiển thị số lượng bước đi để đến được đích cũng như xác định đường đi gói tin. Dưới đây là ví dụ về việc truy vấn đến địa chỉ IP máy chủ DNS toàn cầu và xem được gói tin đó đi qua đường đi nào.
# 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
Lệnh Netstat (Network Statistic) hiển thị thông tin kết nối, 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 (socket statistics) trong hầu hết các bản phân phối Linux hiện đại.
5. Lệnh Dig
Dig (domain information groper) truy vấn thông tin liên quan đến DNS như Bản ghi A, CNAME, MX Record, v.v. Lệnh này chủ yếu được sử dụng để gỡ rối các truy vấn 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<
Để biết thêm ví dụ về lệnh Dig, vui lòng đọc bài viết về 10 câu lệnh Dig Linux để truy vấn DNS.
6. 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. Các ví dụ dưới đây hiển thị Bản ghi A
(Đị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í dụ về Lệnh Nslookup, hãy đọc bài viết về 8 câu 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 trên Linux, gõ 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 đường đi và Cổng mặc định bằng các lệnh sau đây.
Thêm Đường đi trong Linux
# route add -net 10.10.10.0/24 gw 192.168.0.1
Xóa Đường đi 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 tên thành địa chỉ IP hoặc địa chỉ IP thành tên trong IPv4 hoặc IPv6 và cũng 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, 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 (Address Resolution Protocol) hữu ích để xem/Thêm nội dung của bảng ARP trong 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
10. Lệnh Ethtool
ethtool là một công cụ thay thế cho mii-tool. Nó được sử dụng để xem, thiết lập tốc độ và duplex của Thẻ Giao diện Mạng (NIC) của bạn. Bạn có thể thiết lập duplex vĩnh viễn trong /etc/sysconfig/network-scripts/ifcfg-eth0 với 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 của 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 được sử dụng để xác định trong một mạng. Thực thi lệnh hostname để xem tên máy chủ của bạn. Bạn có thể đặt tên máy chủ vĩnh viễn trong /etc/sysconfig/network. Cần khởi động lại máy sau khi đặt tên máy chủ đúng.
# 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ài đặt mạng và cũng được sử dụng để 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 trong các hệ thống Linux.
# nmcli
# nmtui
Bài viết này có thể hữu ích cho việc sử dụng hàng ngày của người quản trị Mạng Linux trong các hệ thống Linux / tương tự hệ điều hành Unix. Xin vui lòng chia sẻ thông qua hộp bình luận nếu chúng tôi đã bỏ sót cái gì.