Cài đặt định tuyến: các lệnh ip route, netstat, ss
1. Khái niệm về routing
Hôm nay tụi mình sẽ đi sâu thêm: cấu hình route, phân tích kết nối mạng và tìm hiểu về các port. Đây là lúc "phép thuật" thật sự của quản trị mạng bắt đầu – tụi mình sẽ hiểu các packet đi đâu, chạy thế nào và tại sao việc làm "ông chủ của các tuyến đường" lại quan trọng đến thế.
Routing – không chỉ là một thứ nghe có vẻ phức tạp, mà nó còn là nền tảng của mạng hiện đại. Hãy tưởng tượng: máy tính của bạn là một du khách muốn đến một máy tính khác (khách sạn), còn các route chính là các con đường và bảng chỉ dẫn. Nếu không có route, du khách sẽ lang thang hỏi đường từ người qua đường (người qua đường có thể là DNS-server, nhưng chuyện đó để nói sau) hoặc sẽ ở nhà luôn.
Tại sao cần có route
Mỗi thiết bị trong mạng cần biết cách kết nối tới các thiết bị khác. Chẳng hạn, nếu máy tính của bạn muốn gửi yêu cầu đến trang web example.com, thì nó cần biết:
- Gửi các packet đi đâu.
- Thông qua gateway hoặc interface nào để thực hiện điều đó.
Route có hai loại:
- Route cục bộ: chỉ dẫn cho các thiết bị trong subnet của bạn (ví dụ: máy tính và máy in của bạn).
- Route bên ngoài: chỉ dẫn cho các thiết bị nằm ngoài subnet của bạn (chẳng hạn, các tài nguyên trên Internet).
2. Bảng định tuyến
Bảng định tuyến là một bảng với các quy tắc xác định nơi gửi các gói dựa vào địa chỉ IP. Nó giống như Google Maps cho máy tính của bạn: "Nếu muốn đến nơi đó, đi qua gateway này".
Hãy thử hiển thị bảng định tuyến của bạn:
ip route show
Mẫu kết quả:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
Điều này có nghĩa gì:
default via 192.168.1.1: nếu gói không có địa chỉ cụ thể cần đến, thì gửi nó qua gateway với địa chỉ192.168.1.1.dev eth0: sử dụng giao diệneth0.192.168.1.0/24: đây là route cho toàn bộ subnet192.168.1.0/24. Các gói sẽ ở lại "nhà" trong mạng nội bộ.protovàmetric– các tham số bổ sung, sẽ giải thích sau.
3. Lệnh ip route
Xem routes
Để xem bảng định tuyến, chúng ta đã sử dụng ip route show. Có thể thêm bộ lọc, chẳng hạn để xác định route chỉ cho mạng nội bộ:
ip route show match 192.168.1.0/24
Thêm routes
Bạn có thể thêm static route – kiểu như tự mình dựng biển chỉ đường. Ví dụ, để chuyển hướng tất cả yêu cầu đến subnet 10.0.0.0/24 thông qua một gateway cụ thể:
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
Giải thích:
10.0.0.0/24– subnet đích.via 192.168.1.1– gateway mà packets đi qua.dev eth0– giao diện mà packets sẽ đi qua.
Xoá routes
Nếu bạn không muốn route tồn tại nữa, xóa nó bằng lệnh:
sudo ip route del 10.0.0.0/24
4. Thực hành: Cấu hình route tĩnh
- Đảm bảo bạn có quyền truy cập vào subnet khác.
- Thêm route:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
- Kiểm tra bảng định tuyến:
ip route show
- Xóa route nếu không cần nữa.
5. Lệnh netstat
Khi cần phân tích kết nối hiện có, netstat là "người bạn cũ" của admin hệ thống (mặc dù hiện đã có một lựa chọn hiện đại hơn – ss, chúng ta sẽ nói sau).
Kiểm tra kết nối đang hoạt động
netstat -tun
Điều này có nghĩa là:
-t– hiển thị kết nối TCP.-u– hiển thị kết nối UDP.-n– sử dụng địa chỉ số (thay vì tên hostname).
Ví dụ:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.100:22 192.168.1.50:50240 ESTABLISHED
Điều này có nghĩa là:
- Địa chỉ local
192.168.1.100:22– máy của bạn đang lắng nghe cổng 22 (SSH). - Địa chỉ remote
192.168.1.50:50240– host từ xa đang kết nối tới cổng của bạn. ESTABLISHED– đây là kết nối đang hoạt động, dữ liệu đang được truyền tải.
Các cổng đang lắng nghe
Để xem cổng nào "đang lắng nghe" trên máy của bạn:
netstat -ltn
Tham số -l chỉ hiển thị các cổng đang lắng nghe, còn -t và -n chúng ta đã thảo luận trước đó.
6. Lệnh ss
Nếu netstat là khủng long, thì ss là chiếc xe DeLorean từ tương lai: hoạt động nhanh hơn và cung cấp nhiều thông tin hơn.
Kiểm tra các kết nối đang hoạt động
ss -tun
Ví dụ kết quả đầu ra tương tự như netstat, nhưng nhanh hơn và chi tiết hơn.
Kiểm tra cổng đang nghe
ss -tln
Mọi thứ giống với netstat, nhưng làm việc với ss tiện lợi và hiện đại hơn.
7. Giám sát kết nối
- Sử dụng
netstathoặcssđể xem máy tính của bạn đang lắng nghe các cổng nào. - Mở kết nối SSH trên một thiết bị khác và kiểm tra xem nó có xuất hiện trong danh sách kết nối không.
- Thử giải thích output của các lệnh.
Chúng ta vừa khám phá thế giới định tuyến và giám sát kết nối: bây giờ bạn có thể sử dụng ip route để quản lý bảng định tuyến và netstat/ss để phân tích kết nối mạng. Những công cụ này là "dao đa năng Thụy Sĩ" cho việc giải quyết các vấn đề mạng phức tạp nhất. Muốn giúp đỡ bạn bè đang phàn nàn rằng "internet không hoạt động"? Đưa ra kỹ năng mới của bạn và thể hiện đẳng cấp!
Bài giảng tiếp theo sẽ thú vị hơn nữa: chúng ta sẽ tìm hiểu về DNS và sự kỳ diệu của nó. Còn bây giờ – hãy luyện tập với ip route và xem cách các gói tin tìm được đường về nhà.
GO TO FULL VERSION