CodeGym /Các khóa học /Docker SELF /Cơ bản làm việc với mạng: lệnh ping, ip addr, ifconfig

Cơ bản làm việc với mạng: lệnh ping, ip addr, ifconfig

Docker SELF
Mức độ , Bài học
Có sẵn

Cơ bản làm việc với mạng: lệnh ping, ip addr, ifconfig

1. Giới thiệu về khái niệm mạng: một chút lý thuyết

Trong bài giảng hôm nay, tụi mình sẽ tìm hiểu về cách sử dụng cơ bản các công cụ mạng trong Linux. Bạn sẽ học cách kiểm tra kết nối của các node, phân tích trạng thái giao diện mạng và cấu hình, cũng như làm việc với các thiết lập mạng.

Mạng — chính là hệ thần kinh của thế giới CNTT. Nếu bạn từng tự hỏi làm thế nào trình duyệt của bạn mở được một trang web, thì đây là câu trả lời ngắn gọn: nhờ mạng. Bất kể bạn đảm nhiệm vai trò gì (lập trình viên, quản trị viên hay kỹ sư), hiểu về nền tảng mạng là một kỹ năng siêu quan trọng.

Vậy thì mạng là gì? Đó là tập hợp các máy tính được kết nối để trao đổi dữ liệu với nhau. Trong bối cảnh Linux, quản trị mạng bắt đầu từ việc hiểu các khái niệm cơ bản:

  • IP address: Đây là định danh duy nhất của một thiết bị trong mạng. Hãy tưởng tượng đó là địa chỉ nhà của máy tính bạn.
  • Subnet: Là sự kết hợp logic của các thiết bị trong một mạng. Nó giống như khu vực nơi có các nhà với địa chỉ khác nhau.
  • Gateway: Đây là "lối ra thế giới", qua đó các thiết bị trong mạng nội bộ của bạn có thể truy cập internet hoặc kết nối với các subnet khác.

Có hai loại địa chỉ IP: IPv4 (ví dụ, 192.168.1.1) và IPv6 (ví dụ, 2001:0db8:85a3:0000:0000:8a2e:0370:7334). IPv4 đơn giản hơn, và chính nó chúng ta sẽ làm việc trong bài giảng này. IPv6 thì xịn xò và là tiêu chuẩn dài hạn, nhưng tụi mình sẽ khám phá nó sau này.


2. Lệnh ping: kiểm tra kết nối đến node

Lệnh ping làm gì?

ping — đây là một tiện ích kiểm tra xem một node khác trong mạng có khả dụng hay không. Nó gửi một "thư chào" nhỏ đến máy chủ mục tiêu (ICMP-request) và chờ phản hồi. Nếu node trả lời, thì mọi thứ đều ổn; nếu không, có thể có vấn đề gì đó xảy ra (hoặc máy chủ quyết định lơ bạn, không thân thiện tí nào!).

Cách sử dụng ping?

Hãy thử sử dụng lệnh ping. Mở terminal và nhập lệnh sau:

ping 8.8.8.8

Lệnh này sẽ gửi các yêu cầu đến máy chủ DNS công cộng của Google. Bạn sẽ thấy một cái gì đó như thế này:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.3 ms

Giải thích các dòng này:

  • icmp_seq: số thứ tự của request được gửi đi.
  • ttl: "thời gian sống" của gói tin (số bước mạng nó có thể thực hiện).
  • time: thời gian (tính bằng mili giây) cần để gửi và nhận phản hồi.

Để giới hạn số lượng request được gửi, bạn có thể sử dụng flag -c:

ping -c 4 8.8.8.8

Lệnh này chỉ gửi 4 yêu cầu thay vì gửi liên tục không dừng.

Thực hành: kiểm tra kết nối với localhost và internet

Hãy thử ping với địa chỉ IP của router của bạn (thường là một cái gì đó như 192.168.1.1) và với 8.8.8.8. Điều này sẽ giúp bạn hiểu liệu mạng nội bộ có hoạt động không và có kết nối được đến internet hay không.


3. Lệnh ip addr: kiểm tra giao diện mạng

Giao diện mạng là gì?

Giao diện mạng — là cách mà máy tính của bạn "giao tiếp" với mạng. Điều này có thể là giao diện dành cho Ethernet (kết nối bằng dây), WLAN (kết nối không dây) hoặc các giao diện ảo được tạo ra để phục vụ các nhiệm vụ cụ thể.

Lệnh ip addr hiển thị cấu hình hiện tại của các giao diện mạng. Hãy thử nó nào:

ip addr

Kết quả sẽ giống như sau:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
    inet6 fe80::1a2b:3c4d:5e6f:f7g8/64 scope link

Những gì chúng ta thấy ở đây:

  • lo — đây là giao diện cục bộ (localhost). Địa chỉ của nó luôn là 127.0.0.1.
  • enp0s3 — đây là tên giao diện mạng của bộ điều hợp Ethernet của bạn.
  • inet — Địa chỉ IPv4 của giao diện.
  • inet6 — Địa chỉ IPv6 của giao diện.

Cách cấu hình tạm thời IP-địa chỉ?

Nếu bạn có quyền của superuser (thông qua sudo), bạn có thể tạm thời thiết lập địa chỉ IP:

sudo ip addr add 192.168.1.101/24 dev enp0s3

Địa chỉ IP này sẽ hoạt động cho đến khi bạn khởi động lại máy.


4. Lệnh ifconfig: công cụ cũ nhưng vẫn phổ biến

Ngày trước, ifconfig được sử dụng để quản lý các giao diện mạng. Bây giờ, nó dần bị loại bỏ (được thay thế bởi ip addr), nhưng đôi khi vẫn gặp trong các bản phân phối cũ.

Kiểm tra trạng thái giao diện

Để xem trạng thái của các giao diện qua ifconfig, chạy lệnh:

ifconfig

Kết quả sẽ giống với đầu ra của lệnh ip addr.

Bật/tắt giao diện

Bạn có thể bật hoặc tắt giao diện bằng cách:

sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up

Một lần nữa, hãy nhớ rằng ifconfig không hoạt động trên tất cả các bản phân phối hiện đại. Nếu lệnh không được tìm thấy, hãy thử cài đặt gói net-tools, hoặc chuyển ngay sang sử dụng ip addr.


5. Ví dụ: kiểm tra tính khả dụng và mạng

Giờ thì cùng kết hợp những kiến thức vừa học qua một ví dụ thực tế nhỏ nhé.

  1. Kiểm tra tính khả dụng của giao diện cục bộ:

    ping 127.0.0.1
    
  2. Kiểm tra địa chỉ IP của mạng bạn:

    ip addr
    
  3. Thử cấu hình tạm thời địa chỉ IP mới:

    sudo ip addr add 192.168.1.102/24 dev enp0s3
    ip addr show enp0s3
    
  4. Kiểm tra tính khả dụng của một node công cộng:

    ping -c 3 8.8.8.8
    
  5. Nếu bạn dùng bản phân phối cũ, thử tắt mở lại giao diện:

    sudo ifconfig enp0s3 down
    sudo ifconfig enp0s3 up
    

Giờ bạn đã có trong tay các công cụ cơ bản để chẩn đoán mạng trên Linux. Các lệnh ping, ip addrifconfig là những bước đầu tiên đưa bạn bước vào thế giới quản trị mạng. Hãy chờ đón những điều thú vị phía trước!

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION