Windows & vấn đề routing liên quan LAN
Cập nhật: 11 tháng 10, 2024
Một kịch bản buồn nhỏ cho bạn. Hãy tưởng tượng bạn có mạng cục bộ, nhiều máy tính, ít nhất 2 host Windows. Giả sử bạn muốn copy file từ host Windows này sang host kia. Giả sử sharing cấu hình đúng, máy kia truy cập dễ dàng qua Explorer, ví dụ: \\MACHINE. Copy file đầu, ok. 3 phút sau, copy file thứ 2. Explorer ném lỗi, không được. Làm sao?
Tôi gặp chính xác vấn đề này vài ngày trước. Theo bản chất, tôi luôn giả định lỗi do cách làm/cấu hình của tôi. Check router, ok. Thử truy cập target từ Linux, ok. Vấn đề kết nối mạng, không. Vậy gì? Để tôi chỉ gì xảy ra, và nếu bạn gặp snag này, cách xử lý nhanh.
Vấn đề chi tiết
Người khôn đã biết vấn đề. Vấn đề là: người thường không suy nghĩ theo thuật ngữ "nerdy" liên quan để diễn tả vấn đề hệ thống. Nói chung, nếu bao giờ gặp vấn đề hệ thống, nếu biểu hiện qua giao diện visual, GUI, hãy thử replicate trên command line, vì thường lấy được nhiều thông tin hơn – và chính xác hơn.
Host Windows truy cập được từ command-line. Cách dễ nhất check connectivity giữa máy là lệnh ping (ICMP). Dù không đảm bảo mọi thứ ổn, nếu ping từ source đến target thành công, khả năng lớn không có vấn đề mạng rộng (LAN của bạn).
Tôi ping máy "bệnh", tìm hiểu. Mở cmd.exe (Start > Command Prompt), chạy:
ping [ip address or hostname]
Nếu không biết IP máy bị ảnh hưởng:
Mở Windows Settings > Network & Internet > chọn network liên quan (dây hoặc Wireless). Bấm Properties. Mở trang mới, cuối trang có info mạng, gồm IP. Xem dưới. Lưu ý, không chỉ setup cụ thể, chỉ các bước lấy data:
Nhìn dòng IPv4 address - có thể có IPv6, nhưng 99% LAN gia đình dùng IPv4. Ghi địa chỉ (X.X.X.X). Copy sang cmd prompt đã mở.
Tôi làm, và kìa, vấn đề!
Pinging 192.168.4.113 with 32 bytes of data:
Reply from 192.168.4.107: Destination host unreachable.
Reply from 192.168.4.107: Destination host unreachable.
Tôi ping host kết thúc 113, nhưng nhận reply từ 107. Địa chỉ thứ 2 là IP máy nguồn (đang cố gắng đến target để copy file). Với lý do nào đó, máy nguồn mất phương hướng, không tìm thấy máy kia, dù mọi thứ ổn vài phút trước.
Về mặt kỹ thuật, tôi gặp vấn đề ARP hoặc DNS trên host Windows. Chi tiết network stack vượt phạm vi bài này. Người đọc muốn giải pháp nhanh, không bài giảng protocol. Tóm lại, máy Windows bị confused, thấy sai info. Cần clear cache.
Có 2 việc: clear ARP cache, rồi DNS cache. Thử cái 1, nếu fix xong, tốt, không thì thử cái 2. Cần mở Command Prompt as Administrator. Tìm trong menu hệ thống, chuột phải > Run as Administrator.
Gõ:
arp -d *
Sau đó, tùy chọn, nếu lệnh 1 không giải quyết, clear DNS cache:
ipconfig /flushdns
Thử truy cập target host. Bạn sẽ thành công, vì trước đó không vấn đề khác, nên rõ ràng không phải vấn đề môi trường phức tạp. Nhớ, như kịch bản đầu, chạy được 1 phút, phút sau không.
Nếu không giúp, reboot, nhưng đó không phải cách tốt.
Kết luận
Kết thúc tutorial "phép thuật" này. Tôi không bao giờ vui với vấn đề lạ, ngẫu nhiên, kháng cự logic và common sense. Đặc biệt networking. Nhưng bug có thể xảy ra, cần chuẩn bị xử lý. Luôn làm việc có phương pháp, dùng command line nếu được, tìm hiểu chi tiết vấn đề.
Trường hợp tôi, máy Windows quyết định bỗng dưng caching info mạng, khiến query từ host này sang host kia, query vừa chạy hoàn hảo, bỗng fail. Ping tiết lộ nguyên nhân. Clear cache mạng giải quyết. Vậy nếu gặp snag giống vậy, đừng ném tục tĩu như tôi lúc đầu, chỉ mở command line và gõ furiously. Xong. Chăm sóc, các bác.
Chúc vui.